OCPQ

OCPQ is a software tool for (object-centric) process querying. It aims to be easy to use, powerful in expressiveness, and very fast. The source code of OCPQ is available at github.com/aarkue/OCPQ.

OCPQ is available for download at: ocpq.aarkue.eu/download. The website ocpq.aarkue.eu also includes some documentation on the different features of the tool.

OCPQ supports the following features and use cases:

  • Import OCEL 2.0 Files: OCPQ supports all three OCEL 2.0 file formats (XML,JSON, SQLite)
  • Querying Object-Centric Data: Query any combination of events and objects, using their relationships and other advanced filters (e.g., based on attribute values).
  • Defining and Evaluating Constraints: Using the same powerful primitives as the querying feature, constraints can be defined for each binding (i.e., queries combination of events and objects), stating if it should be considered satisfied or violated. The overall violation percentage is conveniently shown by coloring the respective constraint node.
  • Apply Filters and Export the Result: The querying feature can additionally be used to define what events, objects, and relationships to include or exclude for a filtered export. This filtering feature makes it easy to generate datasets for individual use cases or to exclude certain privacy-sensitive events.
  • Binding Labels: Using a scripting language, arbitrary labels can be added to bindings, enabling also the computation of aggregated values.
  • Export Bindings as Tables (CSV/XLSX): Queried bindings, including any added labels, can easily be exported and downloaded as CSV or XLSX files. This enables using OCPQ to generate datasets and tables used for later analysis or machine learning techniques.
  • Exploring Attributes and Relationships of Objects and Events: Individual objects and events can be viewed and explored throughout the OCPQ tool. Allowing, for example, users to dive in on the attributes of an object or its relationships.

This is how a simple constraint can be modeled graphically in OCPQ: An example constraint in OCPQ

The results can also be analyzed further, for example, using the output binding table (left) or by exploring an individual object or event instance (bottom). An example constraint in OCPQ with expanded results and details.