Relationships and cycles
The collection of objects that you want to include in your perspective, might have relationships between each other that aren’t relevant to what you are analyzing. Identifying the relationships to use in the perspective is a key step in making your analysis work correctly. Relationships between objects and events explains how relationships work.
In the object-centric data model, there can often be multiple relationships between a pair of object types. Celonis needs to know which one is important to your analysis in order to construct the PQL query. When there is more than one path between two objects in a graph, we call it a cycle. An object-centric data model may contain cycles, but to avoid ambiguity in calculating joins, perspectives cannot contain cycles – in other words, there can only be a single path between any two objects in a perspective.
In some cases, a pair of objects can have two direct relationships that are relevant to the process you want to analyze. For example, you might be interested in both the requester and the approver of a purchase order. However, both the requester and the approver are represented by the User object type. If you want to use both of these relationships in your perspective, you have a cycle.
More commonly, a group of objects can generate a cycle between themselves. If you start from one object and follow the object to object relationships along, you can return to your starting point. For example, there’s a cycle between the Celonis object types PurchaseOrderItem, PurchaseOrder, and Contract in our object-centric data model.
To solve this issue, the perspective builder lets you create multiple copies of an object type, and embed them in the perspective as separate objects. For example, if the user is both a requester and an approver, you can have multiple copies of the User object type, including one as the original and the rest as embedded copies.
Embedding is most useful for relationships where one object type provides context for another. Embedded copies are only connected to the object type that owns the relationship, and do not have any object to object relationships or event to object relationships of their own. It’s just acting like an extra attribute of the object type you’re working with. This strategy is commonly used for master data objects (such as a user, vendor, or material) that add information to the object type you’re working with.
You can work with perspectives in the Perspectives view in Data > Objects & Events. You can now extend the supplied perspectives - Extending Celonis perspectives has the instructions. You can also create complete custom perspectives in the perspective editor. Creating custom perspectives and event logs tells you how to do that.