Ex4pmEngine.Cognition.Ocpq (ex4pm v26.9.9)

Copy Markdown View Source

Object-Centric Process Querying & Constraints (OCPQ). Faithful, high-throughput BEAM realization of Küsters & van der Aalst (arXiv:2506.11541v1, 2025).

Evaluates multi-object variable bindings across disjoint event and object universes:

  • BindingBox: quantified variable domains (Var, Pred)
  • BasicPredicate: E2O, O2O, and TBE (Time Between Events: <, <=, ==, >=, >)
  • QueryTree: hierarchical query trees with child cardinality bounds
  • Constraint: structural invariant satisfaction/violation over OCEL logs

Summary

Functions

Builds an IndexContext for fast repetitive querying over an EventLog.

Evaluates a single BindingBox against an EventLog or IndexContext.

Evaluates an OCPQ QueryTree against an EventLog, checking whether all constraints hold.

Functions

build_index(log)

Builds an IndexContext for fast repetitive querying over an EventLog.

evaluate_box(log, box, parent_binding \\ %{})

Evaluates a single BindingBox against an EventLog or IndexContext.

evaluate_box_indexed(ctx, box, parent_binding \\ %{})

evaluate_query(log, tree)

Evaluates an OCPQ QueryTree against an EventLog, checking whether all constraints hold.

evaluate_query_indexed(ctx, tree)