pm4py.objects.powl package#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

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

Submodules#

pm4py.objects.powl.BinaryRelation module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

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.objects.powl.BinaryRelation.BinaryRelation(nodes: List[T])[source]#

Bases: object

get_nodes() List[T][source]#
add_edge(source: T, target: T) None[source]#
remove_edge(source: T, target: T) None[source]#
remove_edge_without_violating_transitivity(source: T, target: T) None[source]#
add_node(node: T) None[source]#
is_edge(source: T, target: T) bool[source]#
is_edge_id(i: int, j: int) bool[source]#
get_transitive_reduction() BinaryRelation[source]#
add_transitive_edges() None[source]#
is_strict_partial_order() bool[source]#
get_start_nodes() Set[T][source]#
get_end_nodes() Set[T][source]#
is_irreflexive() bool[source]#
is_transitive() bool[source]#
property nodes: List[T]#
property edges#

pm4py.objects.powl.constants module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

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

pm4py.objects.powl.obj module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

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.objects.powl.obj.POWL(operator=None, parent=None, children=None, label=None)[source]#

Bases: ProcessTree, ABC

print() None[source]#
simplify_using_frequent_transitions() POWL[source]#
simplify() POWL[source]#
validate_partial_orders()[source]#
static model_description() str[source]#
abstract copy()[source]#
class pm4py.objects.powl.obj.Transition(label: str | None = None)[source]#

Bases: POWL

transition_id: int = 0#
copy()[source]#
equal_content(other: object) bool[source]#
class pm4py.objects.powl.obj.SilentTransition[source]#

Bases: Transition

copy()[source]#
class pm4py.objects.powl.obj.FrequentTransition(label, min_freq: str | int, max_freq: str | int)[source]#

Bases: Transition

class pm4py.objects.powl.obj.StrictPartialOrder(nodes: List[POWL])[source]#

Bases: POWL

copy()[source]#
get_order() BinaryRelation[source]#
get_children() List[POWL][source]#
to_string(level=0, indent=False, max_indent=9223372036854775807) str[source]#

Represents a process tree model as a string.

Parameters#

indent

Enable the indentation of the resulting string

max_indent

Maximum level of indentation

property partial_order: BinaryRelation#
property children: List[POWL]#
equal_content(other: object) bool[source]#
simplify_using_frequent_transitions() StrictPartialOrder[source]#
simplify() StrictPartialOrder[source]#
add_edge(source, target)[source]#
class pm4py.objects.powl.obj.Sequence(nodes: List[POWL])[source]#

Bases: StrictPartialOrder

class pm4py.objects.powl.obj.OperatorPOWL(operator: Operator, children: List[POWL])[source]#

Bases: POWL

copy()[source]#
equal_content(other: object) bool[source]#
simplify_using_frequent_transitions() POWL[source]#
simplify() OperatorPOWL[source]#

pm4py.objects.powl.parser module#

PM4Py – A Process Mining Library for Python

Copyright (C) 2024 Process Intelligence Solutions UG (haftungsbeschränkt)

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

pm4py.objects.powl.parser.parse_powl_model_string(powl_string, level=0) POWL[source]#

Parse a POWL model from a string representation of the process model (with the same format as the __repr__ and __str__ methods of the POWL model)

Minimum Viable Example:

from pm4py.objects.powl.parser import parse_powl_model_string

powl_model = parse_powl_model_string(‘PO=(nodes={ NODE1, NODE2, NODE3 }, order={ NODE1–>NODE2 }’) print(powl_model)

Parameters#

powl_string

POWL model expressed as a string (__repr__ of the POWL model)

Returns#

powl_model

POWL model