Skip to main content
Rust4PM

path_schema_bindings

process_mining::bindings::path_schema_bindings

Functions in this Module(4)

path_schema_connections

bindings::path_schema_bindingsSource
Find the concrete instance connections of a single (resolved) schema, with metrics and
throughput. Entities are referenced by their compact OCEL index.
SlimLinkedOCELrequired
ResolvedPathSchemarequiredA self-contained, serializable path schema: edges are embedded, so no [`TypeGraph`]
PathConnectionParamsParameters for connection finding.
import r4pm

# Also: .json, .json.gz, .xml.gz, .ocel.csv, .ocel.csv.gz, ...
ocel = r4pm.import_item('SlimLinkedOCEL', 'ocel.xml')
schema = {
    "source": {"Event": 'example'},
    "steps": [
        {
            "edge": {
                "qualifier": 'places',
                "source": {"Event": 'example'},
                "target": {"Event": 'example'},
            },
            "reverse": False,
        },
    ],
    "target": {"Event": 'example'},
}
# Optional argument: params, can also be omitted
params = {"dedup_targets": False, "selection": 'All', "temporal": 'None'}
res = r4pm.bindings.path_schema_connections(ocel, schema, params)

process_mining/src/bindings/path_schema_bindings.rs:113

path_schema_discover

bindings::path_schema_bindingsSource
Discover path schemas between the query types and score each by support / coverage /
selectivity / reach / exclusivity and throughput.
SlimLinkedOCELrequired
PathSchemaQueryrequiredA discovery query: source/target types, max schema length, and connection params.
import r4pm

# Also: .json, .json.gz, .xml.gz, .ocel.csv, .ocel.csv.gz, ...
ocel = r4pm.import_item('SlimLinkedOCEL', 'ocel.xml')
query = {
    "allow_cycles": False,
    "max_length": 1,
    "params": {"dedup_targets": False, "selection": 'All', "temporal": 'None'},
    "source": {"Event": 'example'},
}
res = r4pm.bindings.path_schema_discover(ocel, query)

process_mining/src/bindings/path_schema_bindings.rs:106

path_schema_enumerate

bindings::path_schema_bindingsSource
Enumerate type-level path schemas between two types (or from one type), without any
instance traversal. Each schema is self-contained (ResolvedPathSchema).
SlimLinkedOCELrequired
TypeRefrequiredA reference to an OCEL type: an event type or an object type, by name.
i64<uint>required
bool
Option<Vec<_>>
import r4pm

# Also: .json, .json.gz, .xml.gz, .ocel.csv, .ocel.csv.gz, ...
ocel = r4pm.import_item('SlimLinkedOCEL', 'ocel.xml')
res = r4pm.bindings.path_schema_enumerate(
    ocel,
    {"Event": 'example'},
    {"Event": 'example'},
    1,
    False,
)

process_mining/src/bindings/path_schema_bindings.rs:80

path_schema_type_graph

bindings::path_schema_bindingsSource
Build the OCEL type graph (typed nodes with entity counts, plus relationship edges).
SlimLinkedOCELrequired
import r4pm

# Also: .json, .json.gz, .xml.gz, .ocel.csv, .ocel.csv.gz, ...
ocel = r4pm.import_item('SlimLinkedOCEL', 'ocel.xml')
res = r4pm.bindings.path_schema_type_graph(ocel)

process_mining/src/bindings/path_schema_bindings.rs:53