This article is the start of a new series for learners, about relationships, entities and other related functionalities in Oracle Intelligent Advisor. Containment Relationships are a good starting point since they are, generally, the first kind of structural element that most people come across in Oracle Policy Modeling.
Each “chapter” in this series will have a video to accompany it, and you can find them all in the YouTube Channel that we have for you. But before we start talking about Containment Relationships, we need a project to work with. Here is a simple project that you can build to help you follow the discussion and examples. At the end of the article you will also find links to the documentation and a recommendation of an Example Project that you can use to take your understanding to the next level. We’re great fans of the Example Projects, since you get them automatically installed when you install Oracle Policy Modeling, and because you can sort them by functionality and industry. Plus you can use them for testing ideas and experimenting with functionality without having to go to too much effort.
So here is the screen capture you can use to get started:
That’s it – that’s all we need to do for the moment – to create your Containment Relationships, you need to create an Entity. Containment Relationships are not unique to Oracle Intelligent Advisor – they turn up in most modeling tools, developers use them, databases handle them. It’s a concept you will find all over the place . Oracle Intelligent Advisor uses the term in a very specific and important way. Take a look at the example screen capture above. I’m creating an entity called the family member because in my project, I will manage a benefit request which needs to have data about all the family members before I can calculate the correct answer. If you work in the private sector, imagine instead that I am building a project to calculate a family discount for some service or products. Or pick a scenario that makes sense to you.
The relationship that is created – that is highlighted at the end of the capture – is labelled a Containment Relationship. Basically you cannot have an entity without a containment relationship. They define the relationship between the container and its contents. Global is the container, and the family members will be the contents.
And the same thing can be extended, to make you structure more complex:
In the above second capture, you can see we have added another layer to our entities and containment relationships. In this second case, the favourite color is added. The containment is on this second level. The relationship describes the entity the favorite color being contained by the family member.
This second example is interesting because it shows the other vocabulary you will see in Oracle Intelligent Advisor – Source and Target – which you can consider as Parent and Child. And furthermore, it allows to introduce the next layer to the story:
- The text that you can see here is ripe for modification, and you should change it to something that makes sense to you.
- The From and To or Source and Target help you remember who contains what!
- The many can be changed to one – it depends on what you are trying to build. If each family member can have only one favorite color, and you need Oracle Intelligent Advisor to help you impose this in your model, then you should change this.
In summary, Containment Relationships are created automatically, whenever you create an entity. They always have two sides, parent and child or source and target or from and to, and the relationship text can be customized to meet your contextual need, and the type of relationship (many or one) can be modified.
But a Containment Relationship cannot be deleted. It can be deleted only by deleting the corresponding entity. Now that you have Containment Relationships, you will want to know what to do with them. And that is coming up in a post in a few days.
To finish with, here is a short (5 minute) video to drive home the key points.