pm4py.algo.filtering.log.ltl package

Submodules

pm4py.algo.filtering.log.ltl.ltl_checker 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.algo.filtering.log.ltl.ltl_checker.A_eventually_B(log, A, B, parameters=None)[source]

Applies the A eventually B rule

Parameters
  • log – Log

  • A – A attribute value

  • B – B attribute value

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - If True, returns all the cases containing A and B and in which A was eventually followed by B - If False, returns all the cases not containing A or B, or in which an instance of A was not eventually followed by an instance of B

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.A_eventually_B_eventually_C(log, A, B, C, parameters=None)[source]

Applies the A eventually B eventually C rule

Parameters
  • log – Log

  • A – A attribute value

  • B – B attribute value

  • C – C attribute value

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - If True, returns all the cases containing A, B and C and in which A was eventually followed by B and B was eventually followed by C - If False, returns all the cases not containing A or B or C, or in which an instance of A was not eventually followed by an instance of B or an instance of B was not eventually followed by C

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.A_eventually_B_eventually_C_eventually_D(log, A, B, C, D, parameters=None)[source]

Applies the A eventually B eventually C rule

Parameters
  • log – Log

  • A – A attribute value

  • B – B attribute value

  • C – C attribute value

  • D – D attribute value

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - If True, returns all the cases containing A, B and C and in which A was eventually followed by B and B was eventually followed by C - If False, returns all the cases not containing A or B or C, or in which an instance of A was not eventually followed by an instance of B or an instance of B was not eventually followed by C

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.A_next_B_next_C(log: pm4py.objects.log.obj.EventLog, A: str, B: str, C: str, parameters: Optional[Dict[Union[str, pm4py.algo.filtering.log.ltl.ltl_checker.Parameters], Any]] = None) pm4py.objects.log.obj.EventLog[source]

Applies the A next B next C rule

Parameters
  • log – Log

  • A – A attribute value

  • B – B attribute value

  • C – C attribute value

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - If True, returns all the cases containing A, B and C and in which A was directly followed by B and B was directly followed by C - If False, returns all the cases not containing A or B or C, or in which none instance of A was directly followed by an instance of B and B was directly followed by C

Returns

Filtered log

Return type

filtered_log

class pm4py.algo.filtering.log.ltl.ltl_checker.Parameters(value)[source]

Bases: enum.Enum

An enumeration.

ATTRIBUTE_KEY = 'pm4py:param:attribute_key'
ENABLE_TIMESTAMP = 'enable_timestamp'
POSITIVE = 'positive'
RESOURCE_KEY = 'pm4py:param:resource_key'
TIMESTAMP_DIFF_BOUNDARIES = 'timestamp_diff_boundaries'
TIMESTAMP_KEY = 'pm4py:param:timestamp_key'
pm4py.algo.filtering.log.ltl.ltl_checker.attr_value_different_persons(log: pm4py.objects.log.obj.EventLog, A: str, parameters: Optional[Dict[Union[str, pm4py.algo.filtering.log.ltl.ltl_checker.Parameters], Any]] = None) pm4py.objects.log.obj.EventLog[source]

Checks whether an attribute value is assumed on events done by different resources

Parameters
  • log – Log

  • A – A attribute value

  • parameters

    Parameters of the algorithm, including the attribute key and the positive parameter:
    • if True, then filters all the cases containing occurrences of A done by different resources

    • if False, then filters all the cases not containing occurrences of A done by different resources

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.eventually_follows(log: pm4py.objects.log.obj.EventLog, attribute_values: List[str], parameters: Optional[Dict[Union[str, pm4py.algo.filtering.log.ltl.ltl_checker.Parameters], Any]] = None) pm4py.objects.log.obj.EventLog[source]

Applies the eventually follows rule

Parameters
  • log – Log

  • attribute_values – A list of attribute_values attribute_values[n] follows attribute_values[n-1] follows … follows attribute_values[0]

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - If True, returns all the cases containing all attribute_values and in which attribute_values[i] was eventually followed by attribute_values[i + 1] - If False, returns all the cases not containing all attribute_values, or in which an instance of attribute_values[i] was not eventually followed by an instance of attribute_values[i + 1]

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.four_eyes_principle(log: pm4py.objects.log.obj.EventLog, A: str, B: str, parameters: Optional[Dict[Union[str, pm4py.algo.filtering.log.ltl.ltl_checker.Parameters], Any]] = None) pm4py.objects.log.obj.EventLog[source]

Verifies the Four Eyes Principle given A and B

Parameters
  • log – Log

  • A – A attribute value

  • B – B attribute value

  • parameters – Parameters of the algorithm, including the attribute key and the positive parameter: - if True, then filters all the cases containing A and B which have empty intersection between the set

    of resources doing A and B

    • if False, then filters all the cases containing A and B which have no empty intersection between the set of resources doing A and B

Returns

Filtered log

Return type

filtered_log

pm4py.algo.filtering.log.ltl.ltl_checker.timestamp_list_is_ge(a, b)[source]
pm4py.algo.filtering.log.ltl.ltl_checker.timestamp_list_is_le(a, b)[source]

Module contents

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/>.