Expand description
§process_mining
A Rust library for Process Mining, providing efficient data structures and algorithms for working with event data.
§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
- Process Models:
- Petri Nets (import/export PNML, export to SVG/PNG via Graphviz)
- 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§
- bindings
- Bindings
- conformance
- Conformance Checking
- core
- Core modules for process mining
- discovery
- Process Discovery
Macros§
- attribute
- Create an
Attribute. - attributes
- Create an
Attributesinstance. - event
- Create an
Event. - event_
log - Create an
EventLog. - ocel
- Creates an
OCELcontaining the given events, objects, event-to-object (e2o) relations. - trace
- Create a
Trace.
Enums§
- XMLWriter
Wrapper - A wrapper for either an owned or mutable reference to a
quick_xml::Writer