pm4py.ocel.sample_ocel_connected_components#

pm4py.ocel.sample_ocel_connected_components(ocel: OCEL, connected_components: int = 1, max_num_events_per_cc: int = 9223372036854775807, max_num_objects_per_cc: int = 9223372036854775807, max_num_e2o_relations_per_cc: int = 9223372036854775807) OCEL[source]#

Returns a sampled object-centric event log containing a specified number of connected components. Users can also set maximum limits on the number of events, objects, and E2O relations per connected component.

Reference paper: Adams, Jan Niklas, et al. “Defining cases and variants for object-centric event data.” 2022 4th International Conference on Process Mining (ICPM). IEEE, 2022.

Parameters:
  • ocel (OCEL) – Object-centric event log.

  • connected_components (int) – Number of connected components to include in the sampled event log.

  • max_num_events_per_cc (int) – Maximum number of events allowed per connected component (default: sys.maxsize).

  • max_num_objects_per_cc (int) – Maximum number of objects allowed per connected component (default: sys.maxsize).

  • max_num_e2o_relations_per_cc (int) – Maximum number of event-to-object relationships allowed per connected component (default: sys.maxsize).

Returns:

Sampled object-centric event log containing the specified connected components.

Return type:

OCEL

import pm4py

ocel = pm4py.read_ocel('trial.ocel')
sampled_ocel = pm4py.sample_ocel_connected_components(ocel, 5)  # Keeps only 5 connected components