Object-centric Process Mining Model: Difference between revisions
Line 122: | Line 122: | ||
== Differences to OCEL 2.0 standard == | == Differences to OCEL 2.0 standard == | ||
Object-centric models in QPR ProcessAnalyzer are mainly following the OCEL 2.0 standard, but there are the following differences: | |||
* Changing of object attributes values over time is not supported. | * Changing of object attributes values over time is not supported. | ||
* ocel_time field of each event type table is moved to events | * ''ocel_time'' field of each event type table is moved to events datatable (as every event has a timestemp). | ||
* *_map_type are not needed as the model settings are used for the same purpose. | * ''*_map_type'' columns are not needed as the model settings are used for the same purpose. | ||
* Object type tables: If OcelObjectTypeChangedField is not null, all the other field values are copied from the previous entry | * Object type tables: If OcelObjectTypeChangedField is not null, all the other field values are copied from the previous entry except: | ||
** OcelObjectTypeChangedField | ** ''OcelObjectTypeChangedField'' which has the names of the changed fields as a comma separated string. | ||
** The actual changed field | ** The actual changed field which has the new value. | ||
** OcelObjectTypeTime | ** ''OcelObjectTypeTime'' which has the timestamp when the value changed. |
Revision as of 23:01, 20 August 2024
Note: This page describes functionality that hasn't fully been released.
QPR ProcessAnalyzer supports object-centric process mining (OCPM) based on the OCEL 2.0 standard (https://www.ocel-standard.org). To use OCPM, you need to create an OCPM model. The OCPM model can be analyzed in the OCPM flowchart and regular charts through converting the OCPM eventlog into case-centric eventlogs using OCPM perspectives.
Create object-centric model
Create a new object-centric model as follows:
- In the Workspace, open the project where to create the model.
- Select NEW" in the top right menu and select model.
- Define a name for the new model.
- Set Model type as Object-centric.
- Click Create.
Configure object-centric model datatables
Datatables for the object-centric model need to exist in the same project as the model. Datatables can be set for the model as follows:
- In the Workspace, select the object-centric model and click Properties.
- In the model properties dialog, open the Datasource tab.
- Add a following kind of json configuration to the textbox:
{ "Objects": "OCPM: objects", "Events": "OCPM: events", "ObjectToObject": "OCPM: object-object", "EventToObject": "OCPM: event-object", "ObjectTypes": { "Invoice": "OCPM object: Invoice", "Payment": "OCPM object: Payment", "Purchase Order": "OCPM object: Purchase Order" }, "EventTypes": { "Approve Purchase Requisition": "OCPM event: Approve Purchase Requisition", "Change PO Quantity": "OCPM event: Change PO Quantity", "Create Purchase Order": "OCPM event: Create Purchase Order", "Insert Invoice": "OCPM event: Insert Invoice", "Insert Payment": "OCPM event: Insert Payment" } }
The json configuration needs to have following properties:
- Objects: Objects datatable name.
- Events: Events datatable name.
- ObjectToObject: Object-to-object relation datatable name.
- EventToObject: Event-to-object relation datatable name.
- ObjectTypes: Key-value-pairs of object type datatable names. Note that object names need to match with object names in the objects datatable.
- EventTypes: Key-value-pairs of event type datatable names. Note that event names need to match with event names in the events datatable.
Import from OCEL 2.0 JSON file
Object-centric model can be import from an OCEL 2.0 JSON file as follows:
- In the Workspace, open the project where to import the model.
- Select NEW in top right menu and select Import Model.
- Select the OCEL 2.0 JSON file from the disk and click Open.
An object-centric model and a list of datatables is created.
Object-centric model structure
Object-centric model contains datatables described in the table below. Datatables can be named freely, as the model json configuration is used to define the datatable for each type of data. The datatables need to use column names specified in the table below because those are the column names assumed by the object-centric (i.e., column names cannot be selected freely).
Datatable | Content | Columns |
---|---|---|
Objects | Objects in the model (one row per object). |
|
Events | Events in the model (one row per event). |
|
Object-object relations | Relations between objects (one row per relation). |
|
Event-object relations | Relations between events and objects (one row per relation). |
|
Object attributes (several tables) | Object attribute values, each object type in a separate table (one row per object). |
|
Event attributes (several tables) | Event attribute values, each event type in a separate table (one row per event). |
|
OCPM perspectives
Perspectives convert an OCPM model into the traditional case-centric model, allowing to analyze OCPM models in charts in dashboards. A single perspective is not able describe the OCPM model entirely, but just from a certain limited "perspective". By using several perspectives, it's possible to get a more complete picture of the OCPM model. The perspective starts from a certain object type and traverses the object-object relations as many steps as desired.
To define a perspective, the following settings are defined:
- Base Object type: The object type that all events are projected to.
- Object Relation Steps: Specifies how many object-object relations will be traversed in order to find events connected to the base objects. Value zero means that only those events are returned that are directly connected to the base object.
- Show Event Types: List of event type names whose attributes are to be included into the perspective. If not defined, all the event types will be included, but their event attributes are not included.
The resulting perspective eventlog will have the following columns:
- OcelObjectId (mapped to case id)
- OcelEventType (mapped to event type)
- OcelEventTime (mapped to timestamp)
- OcelEventId
- All object attributes in the perspective's select object type.
- All event attributes in all the perspective's select event types.
Differences to OCEL 2.0 standard
Object-centric models in QPR ProcessAnalyzer are mainly following the OCEL 2.0 standard, but there are the following differences:
- Changing of object attributes values over time is not supported.
- ocel_time field of each event type table is moved to events datatable (as every event has a timestemp).
- *_map_type columns are not needed as the model settings are used for the same purpose.
- Object type tables: If OcelObjectTypeChangedField is not null, all the other field values are copied from the previous entry except:
- OcelObjectTypeChangedField which has the names of the changed fields as a comma separated string.
- The actual changed field which has the new value.
- OcelObjectTypeTime which has the timestamp when the value changed.