About 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 powered by the Rust4PM project, which provides a robust foundation for process mining in Rust. Rust4PM handles the efficient data import and export, as well as the core data structures for object-centric event logs and process models (including OC-DECLARE).
Publications
The following papers introduce OCPQ as well as the techniques implemented in it.
-
OCPQ: Object-Centric Process Querying and Constraints. Aaron Küsters, Wil M. P. van der Aalst. RCIS 2025. Springer, preprint
In this paper, we introduce the OCPQ approach for object-centric process querying, based on nested query trees that can bind any number of events and objects, together with filters, constraints, and labels. We evaluate our Rust implementation on real-life data, where it is faster than SQLite and Neo4j and performs similar to DuckDB.
-
Easy and Efficient Object-Centric Process Querying with the OCPQ Tool. Aaron Küsters, Wil M. P. van der Aalst. BPM 2025 Demos & Resources Track. Best Demos & Resources Award. PDF
This demo paper presents the OCPQ tool, which allows building queries visually without programming skills and executes them using an efficient Rust backend. The paper received the Best Demos & Resources Award at BPM 2025 in Seville.
-
OC-DECLARE: Discovering Object-Centric Declarative Patterns with Synchronization. Aaron Küsters, Wil M. P. van der Aalst. BPM 2025. Springer, PDF
In this paper, we propose OC-DECLARE, an object-centric extension of DECLARE, that allows modeling how objects synchronize (e.g., that an order should always be confirmed together with all the items it was placed with). Additionally, we present a discovery approach, that mines such constraints from event data even in the presence of noise. See the OC-DECLARE Guide for how to use it in OCPQ.
-
Connecting the Dots: Path-Based Entity Linking in Object-Centric Event Data. Aaron Küsters, Wil M. P. van der Aalst. BPM Forum 2026. Springer, PDF
In this paper, we introduce path schemas, which describe how two events or objects are connected through chains of other entities (e.g., an order and its delivery, through its items and packages). Through metrics such as coverage and selectivity, meaningful connections can be distinguished from noise, which enables analyses such as the throughput time from order to delivery. See the Path Schema Guide for how to use them in OCPQ.
-
Object-Centric Process Querying in SQL: Translation Rules and In-Database Execution. Aaron Küsters, Justin Graß, Wil M. P. van der Aalst. BPM 2026 Forums. Springer, PDF
In this paper, we present translation rules from OCPQ queries to SQL for SQLite, DuckDB, and PostgreSQL, such that queries can be executed directly inside existing databases, also ones with a schema different from OCEL 2.0. As such, the SQL backends can also handle datasets that do not fit into memory. In OCPQ,
Generate database query...in the query editor translates the current query to SQL for SQLite or DuckDB. -
Lossless Simplification of Object-Centric Declarative Process Models. Aaron Küsters, Wil M. P. van der Aalst. OBJECTS Workshop at BPM 2026, to be published. PDF
In this paper, we present a reduction approach for OC-DECLARE models, which removes constraints that are implied by others, without changing the behavior allowed by the model. On average, discovered models are reduced by more than 60%. Moreover, a related projection keeps all dependencies when focusing on a subset of activities. Both are available in the OC-DECLARE view of OCPQ.