pm4py.algo.transformation.ocel.olap.roll_up.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.transformation.ocel.olap.roll_up.variants.classic.Parameters(*values)[source]#

Bases: Enum

OBJECT_TYPE = 'object_type'#
OBJECT_ATTRIBUTE = 'object_attribute'#
TUPLE_MATCHER = 'tuple_matcher'#
pm4py.algo.transformation.ocel.olap.roll_up.variants.classic.apply(ocel: OCEL, parameters: Dict[Any, Any] | None = None) → OCEL[source]#

Roll-up: the inverse of drill-down. Collapses tuple-style sub-types of a given parent object type back to the parent type.

Parameters:
  • ocel – Object-centric event log

  • parameters –

    • Parameters.OBJECT_TYPE: name of the parent object type to merge back to (required)

    • Parameters.OBJECT_ATTRIBUTE: optional, accepted for API symmetry with drill_down; if provided, must be a column of ocel.objects. Not semantically required because the tuple type value already encodes the split.

    • Parameters.TUPLE_MATCHER: optional callable (type_value, parent) -> bool deciding whether type_value is a sub-type of parent. Default matches the "(parent, value)" encoding produced by drill_down.

  • Returns a new OCEL; the input log is left untouched.