Process Meaning Patterns - Python Repository
Process Meaning Patterns is a framework designed to enable ontology-aware process mining. Ontology-aware process mining is meant to formalize process knowledge applied throughout the process mining lifecycle to enable transparency and replicability. This is accomplished through process meaning patterns, first-order logic ontology patterns that correspond to common verification and inference steps in the process mining lifecycle. This repository contains an implementation of the process meaning pattern framework implemented in python and supporting exporting of process knowledge to various formats including OWL/RDF, First order logic via CLIF or Prover9 syntax, and prolog/datalog.
The process meaning patterns framework is actively maintaned and developed by Riley Moher of the semantic technologies (stl) laboratory at the University of Toronto.
Example Usage
The central object of the process meaning pattern library is the LogProcessor, which can ingest a business process event log in a variety of formats and output corresponding facts to be validated against or queried with process meaning patterns. Here is a simple example:
import ProMean4Py
# define column names
col_dict = {'case_id': 'caseID', 'activity': 'activityID', 'timestamp': 'timestamp', 'resource': 'resourceID', 'event_id' : 'eventID'}
# create output directory
output_dir= '../output/testing/'
# define namespaces for knowledge graph
namespaces = {'ex' : "http://example.com/", 'on' : "https://stl.mie.utoronto.ca/ontologies/spm/"}
# initialize the log processor on some data
log_processor = LogProcessor('sample_log.csv', process_name='P1', column_dict=col_dict, prefixes=namespaces)
# save the event log facts as a knowledge graph
log_processor.save_knowledge_graph(output_dir, format='xml')
# save the event log facts as first-order-logic facts
log_processor.save_FOL(output_dir)
# save the event log facts as datalog facts
log_processor.save_datalog(output_dir)
More thorough examples, including an example utilizing real-world enterprise data, are available in the notebooks directory of this repository.
Installation
ProMean4Py is published on the python package index (pypi) and can be installed on any python version >= 3.9.X by simply invoking pip:
pip install ProcessMeaningPatternsPython
Release Notes
Release notes are tracked in the CHANGELOG.md file of this repository.
Metadata
Release files for ProcessMeaningPatternsPython 0.11
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| processmeaningpatternspython-0.11.tar.gz | 3.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ProcessMeaningPatternsPython-0.11-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 7.1 kB
Release files / processmeaningpatternspython-0.11.tar.gz
| Download URL | processmeaningpatternspython-0.11.tar.gz |
|---|---|
| Size | 3.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
53d175f66f60e8d1351ea6a1a474f4518d309c3b5eae383eb464843723144dc3
|
|
BLAKE2b-256 checksum How to use checksums |
527192081bc4bcaf0cd57ca503e826077856f370c8a47ccb9b7e76aa5b86e325
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|
Release files / ProcessMeaningPatternsPython-0.11-py3-none-any.whl
| Download URL | ProcessMeaningPatternsPython-0.11-py3-none-any.whl |
|---|---|
| Size | 3.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e3a653d2659792393dae3800640f7229d683fd69d3aa5437a4cc11424fa9bb2a
|
|
BLAKE2b-256 checksum How to use checksums |
5342def0a23ad71a0e04c3d069c8c24a8705a78e565e60ab67fb2d8f35789a4d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.9.21
|