pm4py.discovery.discover_powl#

pm4py.discovery.discover_powl(log: Union[EventLog, DataFrame], variant=POWLDiscoveryVariant.MAXIMAL, filtering_weight_factor: float = 0.0, order_graph_filtering_threshold: Optional[float] = None, activity_key: str = 'concept:name', timestamp_key: str = 'time:timestamp', case_id_key: str = 'case:concept:name') POWL[source]#

Discovers a POWL model from an event log.

Reference paper: Kourani, Humam, and Sebastiaan J. van Zelst. “POWL: partially ordered workflow language.” International Conference on Business Process Management. Cham: Springer Nature Switzerland, 2023.

Parameters:
  • log – event log / Pandas dataframe

  • variant – variant of the algorithm

  • filtering_weight_factor (float) – accepts values 0 <= x < 1

  • order_graph_filtering_threshold (float) – accepts values 0.5 < x <= 1

  • activity_key (str) – attribute to be used for the activity

  • timestamp_key (str) – attribute to be used for the timestamp

  • case_id_key (str) – attribute to be used as case identifier

Return type:

POWL

import pm4py

log = pm4py.read_xes('tests/input_data/receipt.xes')
powl_model = pm4py.discover_powl(log, activity_key='concept:name')
print(powl_model)