pm4py.objects.powl package#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

Submodules#

pm4py.objects.powl.BinaryRelation module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

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#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

pm4py.objects.powl.obj module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

class pm4py.objects.powl.obj.POWL(operator=None, parent=None, children=None, label=None)[source]#

Bases: ProcessTree

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

Bases: POWL

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

Bases: Transition

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

Bases: Transition

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

Bases: POWL

get_order() BinaryRelation[source]#
get_children() List[POWL][source]#
property partial_order: BinaryRelation#
property children: List[POWL]#
equal_content(other: object) bool[source]#
simplify_using_frequent_transitions() StrictPartialOrder[source]#
simplify() StrictPartialOrder[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

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

pm4py.objects.powl.parser module#

This file is part of PM4Py (More Info: https://pm4py.fit.fraunhofer.de).

PM4Py is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

PM4Py 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 General Public License for more details.

You should have received a copy of the GNU General Public License along with PM4Py. If not, see <https://www.gnu.org/licenses/>.

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