Skip to main content

Crate process_mining

Crate process_mining 

Source
Expand description

§process_mining

A Rust library for Process Mining, providing efficient data structures and algorithms for working with event data.

Crates.io Docs.rs Docs.rs

§Module Structure

The library is organized into the following main modules:

  • core: Fundamental data structures (e.g., EventLog, OCEL, PetriNet) and I/O traits.
  • discovery: Algorithms for discovering process models from event data (e.g., Alpha+++, DFG).
  • conformance: Techniques for checking conformance between data and models (e.g., Token-based replay).

§Examples

You can find various usage examples in the examples/ directory, covering:

  • Importing and analyzing XES event logs (event_log_stats.rs)
  • Working with OCEL 2.0 data (ocel_stats.rs)
  • Process discovery (process_discovery.rs)
  • Exporting to DuckDB/KuzuDB (ocel_duckdb_export.rs, ocel_kuzudb_export.rs)

To run an example:

cargo run --example event_log_stats -- <path_to_log.xes>

For more details, see the Examples README.

§Features

  • Event Data Support:
    • XES: Import and export of IEEE XES event logs.
    • OCEL 2.0: Full support for Object-Centric Event Logs (JSON, XML, SQLite, and also an unofficial DuckDB format).
  • Process Discovery:
    • Directly-Follows Graphs (DFG)
    • Alpha Miner
    • Object-Centric DFG
    • OC-DECLARE Constraints with Synchronization
  • Process Models:
    • Petri Nets (import/export PNML, export to SVG/PNG via Graphviz)
    • (Object-Centric) Process Trees
    • OC-DECLARE Models
  • Performance: Built with Rust for high performance and memory safety.

§Documentation

Full API documentation is available at docs.rs/process_mining.

§License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.

Re-exports§

pub use core::io::Exportable;
pub use core::io::Importable;
pub use core::EventLog;
pub use core::PetriNet;
pub use core::OCEL;

Modules§

analysis
Process Analysis
bindings
Bindings
conformance
Conformance Checking
core
Core modules for process mining
discovery
Process Discovery

Macros§

attribute
Create an Attribute.
attributes
Create an Attributes instance.
event
Create an Event.
event_log
Create an EventLog.
ocel
Creates an OCEL containing the given events, objects, event-to-object (e2o) relations.
trace
Create a Trace.

Enums§

XMLWriterWrapper
A wrapper for either an owned or mutable reference to a quick_xml::Writer