Object Link
Description
Object Link enables the analysis of graph data. An example for such data is a bill of materials.
Object Link is a framework to model and analyze flows between object instances as a graph. By explicitly modeling the relationships between object instances, Object Link does not require the presence of traditional cases or events. These explicit relationships are provided as dedicated mapping tables which build a graph or network. One example is the bill of materials which is modeled as a recursively, self-referencing table by most source systems and not via several object tables that reference each other. The Object Link graph can be accessed, traversed and analyzed via the Object Link operators listed below.
In order to use Object Link, the source data which is used to generate the graph, has to be marked in the data model editor. After the configuration is set the following functions are available:
LINK_FILTER filters along the links of the Object Link graph.
LINK_OBJECTS returns all objects of an input column that are part of the Object Link graph.
LINK_SOURCE / LINK_TARGET / LINK_ATTRIBUTES allows to access the source or target row from Object Link links.
LINK_PATH creates an activity table containing a case for each traversed path in the Object Link graph.
LINK_PATH_SOURCE / LINK_PATH_TARGET allows to access link attributes of LINK_PATH results.
The following paragraphs explain how you need to model your data in order to use the Object Link functionality. There are two different types of Object Link:
Object Link is the recommended configuration as it provides more features and is compatible with OCPM setups.
Signal Link is the deprecated legacy configuration that is no longer actively supported.
Configuring Object Link
Object Link is used to model relationships between objects. These relationships are explicitly defined as links in one or more separate tables called mapping tables, in which each row represents one link. Mapping tables must contain columns with identifiers for the rows of the tables that we want to connect, at least one for the outgoing part of a link and one for the incoming part of a link. In addition, the tables that shall be linked must also contain a column with these identifiers. All identifiers for each connected table must be unique.
The following two figures show an Object Link configuration via mapping table and the resulting Object Link graph:
Object Link configuration with a mapping table. Every row in the mapping table corresponds to one link in the graph.
The graph that was created based on the Object Link configuration. Note that object D is not part of the Object Link graph as it is not mentioned in the mapping table.
As mentioned earlier, it is required that connected tables must not have the same identifier. To fulfill this condition, we can also specify more than one column that identifies the connection. For example, if column "ID" of "Object" contains a duplicated identifier, an error will be emitted. As a solution, a set of columns can be used as identifiers.
The following figure shows the configuration with two mapping columns with multiple connected tables:
Object Link configuration with multiple connected tables utilizing multiple outgoing and incoming columns as identifiers in the mapping table.
The resulting graph that was created based on the above Object Link configuration.
Object Link can be configured in the data model editor via the "Object Link" tab. If this tab is not visible, request "Object Link" from the service desk. Once Object Link is configured the data model must be reloaded for the changes to take effect.
Configuring Signal Link
Warning
Signal Link is deprecated and no longer actively supported.
Signal Link should be used to model relationships between activities instead of objects and unlike Object Link, only signals can be used to create the configuration, mapping tables are not supported.
Another important difference is that the LINK_PATH operator does not support Signal Link, only Object Link, and that the behavior of the LINK_FILTER operator is slightly different for Signal Link and Object Link. For more information, please refer to the respective documentation of the operators.
Signals are identifiers within rows that indicate which rows of tables are linked. To create the Signal Link configuration with signals, we need to define the columns that identify the outgoing signals and incoming signals of a table, as in Object Link. The columns must be of the same data type, and if two activities have an identifier in common, they will be connected by a link. Signal Link can also be configured in the data model editor via the "Object Link" tab.
The following figure shows an example where we create the same graph as before, but this time with Signal Link and on activity tables.
One data model with two activity tables and three signals. The arrows between the tables show the links in the graph.