pm4py.algo.discovery.ocel.ocdfg.variants.classic module#

PM4Py – A Process Mining Library for Python Copyright (C) 2026 Process Intelligence Solutions GmbH

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see this software project’s root or visit <https://www.gnu.org/licenses/>.

Website: https://processintelligence.solutions Contact: info@processintelligence.solutions

class pm4py.algo.discovery.ocel.ocdfg.variants.classic.Parameters(*values)[source]#

Bases: Enum

EVENT_ID = 'param:event:id'#
EVENT_ACTIVITY = 'param:event:activity'#
EVENT_TIMESTAMP = 'param:event:timestamp'#
OBJECT_ID = 'param:object:id'#
OBJECT_TYPE = 'param:object:type'#
COMPUTE_EDGES_PERFORMANCE = 'compute_edges_performance'#
BUSINESS_HOURS = 'business_hours'#
BUSINESS_HOUR_SLOTS = 'business_hour_slots'#
WORKCALENDAR = 'workcalendar'#
pm4py.algo.discovery.ocel.ocdfg.variants.classic.apply(ocel: OCEL, parameters: Dict[Any, Any] | None = None) → Dict[str, Any][source]#

Discovers an OC-DFG model from an object-centric event log. Reference paper: Berti, Alessandro, and Wil van der Aalst. “Extracting multiple viewpoint models from relational databases.” Data-Driven Process Discovery and Analysis. Springer, Cham, 2018. 24-51.

Parameters:
  • ocel – Object-centric event log

  • parameters – Parameters of the algorithm, including: - Parameters.EVENT_ID => the attribute to be used as event identifier - Parameters.EVENT_ACTIVITY => the attribute to be used as activity - Parameters.EVENT_TIMESTAMP => the attribute to be used as timestamp - Parameters.OBJECT_ID => the attribute to be used as object identifier - Parameters.OBJECT_TYPE => the attribute to be used as object type - Parameters.COMPUTE_EDGES_PERFORMANCE => (boolean) enables/disables the computation of the performance on the edges - Parameters.BUSINESS_HOURS => enables/disables business-hour edge performance - Parameters.BUSINESS_HOUR_SLOTS => work schedule of the company - Parameters.WORKCALENDAR => work calendar to use when business hours are enabled

Returns:

Object-centric directly-follows graph, expressed as a dictionary containing the following properties: - activities: complete set of activities derived from the object-centric event log - object_types: complete set of object types derived from the object-centric event log - edges: dictionary connecting each object type to a set of directly-followed arcs between activities - activities_indep: dictionary linking each activity, regardless of the object type - activities_ot: dictionary linking each object type to another dictionary - start_activities: dictionary linking each object type to start activities - end_activities: dictionary linking each object type to end activities

Return type:

ocdfg