Karibdis is a proof-of-concept research prototype for a Knowledge-graph-based Business Process Management System to enable semantically explainable process execution support. It allows to import process knowledge from various sources, such as text, event logs, or existing ontologies and knowledge graphs. The imported knowledge is stored in an internal RDF-based Process Knowledge Graph, which the system uses for providing grounded explanations for decision support.
The easiest way to familarize yourself with the functionality and usage of the prototype is to watch the demonstration video or read the respective section of our article (see below).
Generally, the application is split into four views relating to different tasks on and next to the path from process knowledge sources to semantically explainable execution support, namely Knowledge Modeling, Decision Making, Task Execution, and Graph Exploration.
This project requires Python. We recommend version 3.12, but support 3.10 and 3.11 as well. Further, git lfs is needed for cloning the example use case data. Further, for the textual knowledge importer, GPT is used. If you want to use this importer, please provide an OPENAI_API_KEY via the environment (e.g., through a .env file).
First, clone this repository and navigate into the project folder. If you want to use the example use case data, please also run git lfs pull.
We strongly recommend to further set up and use a virtual environment, e.g., with
python3 -m venv .venvThen, please install the necessary Python libraries for running the system using the following command:
pip install -r requirements.txt You can now run Karibdis.
To simply run Karibids as a web application, execute the following command from within the repository folder:
voila karibdis.ipynbThis runs the application at localhost. It should open automatically in your browser, otherwise navigate to localhost:8866 manually. After a short loading screen, the application will be visible and ready to use.
Alternatively, to enable, i.a., programmatic manipulation of the knowledge graph for research, Karibdis is also able to run inside a Jupyter environment.
To do so, in a Jupyter cell, import the karibdis JupyterApplication class, and execute the run method. You can then access the application internals via the respective attributes of the application object:
from karibdis.Application import JupyterApplication
app = JupyterApplication()
app.run()
pkg = app.system.pkg # Get process knowledge graph objectAs the prototype is a result of our research work, please consider our related publications for deeper background information.
This repository was initially created to acompany the article
Knowledge Graphs as Key Technology for Semantically Explainable Business Process Execution Support
Leon Bein and Luise Pufahl. Under Review, 2025.
Further related publications include:
- Knowledge Graphs: A Key Technology for Explainable Knowledge-Aware Process Automation?
Leon Bein and Luise Pufahl. Business Process Management Workshops BPM 2024. Springer Nature, 2025. - Kraft – a knowledge-graph-based resource allocation framework
Leon Bein, Niels Martin, and Luise Pufahl. International Conference on Business Process Management 2025. Springer Nature, 2025.