pm4py.discovery.discover_dcr#

pm4py.discovery.discover_dcr(log: EventLog | DataFrame, post_process: Set[str] = None, activity_key: str = 'concept:name', timestamp_key: str = 'time:timestamp', case_id_key: str = 'case:concept:name', resource_key: str = 'org:resource', group_key: str = 'org:group', finaAdditionalConditions: bool = True, **kwargs) Tuple[Any, Dict[str, Any]][source]#

Discovers a DCR graph from an event log based on the DisCoveR algorithm. This method implements the DCR discovery algorithm as described in: C. O. Back, T. Slaats, T. T. Hildebrandt, M. Marquard, “DisCoveR: accurate and efficient discovery of declarative process models”. Parameters ———- log : Union[EventLog, pd.DataFrame]

The event log or Pandas dataframe containing the event data.

post_processOptional[str]

Specifies the type of post-processing for the event log, currently supports ROLES, PENDING, TIMED and NESTINGS.

activity_keystr, optional

The attribute to be used for the activity, defaults to “concept:name”.

timestamp_keystr, optional

The attribute to be used for the timestamp, defaults to “time:timestamp”.

case_id_keystr, optional

The attribute to be used as the case identifier, defaults to “case:concept:name”.

group_keystr, optional

The attribute to be used as a role identifier, defaults to “org:group”.

resource_keystr, optional

The attribute to be used as a resource identifier, defaults to “org:resource”.

findAdditionalConditionsbool, optional

A boolean value specifying whether additional conditions should be found, defaults to True.

Returns#

Tuple[Any, dict]

A tuple containing the discovered DCR graph and a dictionary with additional information.

Examples#