The Soup Tool is a WebApp that allows the end user to create an Event Knowledge Graph (EKG)
Starting from an event log, saved in a .csv file, the user is guided in the creation of the EKG with the aim of performing object-centric process mining analysis.
As a Graph database for storing and manipulated event data.
Useful links:
The Backend is based on the Python programming language and the Flask library.
Useful links:
The Angular framework is used as a frontend. Within Angular, the dagre-d3 library has been used to create graphs based on nodes and relations.
Useful links:
and other libraries in package.json.
The first step is to clone the project:
git clone https://github.com/soup-ocpm/soup.git
Make sure Git is installed on your computer. If Git is not installed, you will encounter an error message.
To download Git, visit the following page: Download Git
First, install Docker inside your computer: Download Docker
After successfully installing Docker, open the terminal in the main folder of the cloned project.
Run the following commands from the terminal to create a Container in Docker made up of all the projects:
docker-compose -p soup-tool up --build
OR (for Mac)
docker compose -p soup-tool up --build
Once the command is completed, Docker Compose automatically creates a container that includes the following sub-containers, all of which are already running:
- Angular container: represents the web tool, contactable at the
localhost:4200
- Python container (Backend): represents the Backend and Engine of the system, contactable at the
localhost:8080
- Memgraph container: in this container, the Memgraph database runs which offers 3 different ports.The most important is
localhost:3000
which will open Memgraph Lab.
This tool allows users to upload their own .csv
files containing object-centric event data. After uploading, users can filter the data and map the file's columns to desired attributes.
Once mapping is complete, the server generates the graph of interest by executing queries on the Memgraph database. The resulting graph can then be: downloaded, filtered, aggregated based on custom attributes, and deleted if no longer needed.
Tip
Please refer to the project wiki for all the details.
📃You can download some event logs here.
Warning
To avoid undesired bugs, please upload event logs without spaces in column headers.
Note
As required by Memgraph, the timestamp should be in the following formats (optionally with milliseconds): YYYY-MM-DDThh:mm:ss
or YYYY-MM-DDThh:mm
or YYYYMMDDThhmmss
or YYYYMMDDThhmm
or YYYYMMDDThh
.
💭 Our tool is called Soup, with a logo showcasing a mix of rainbow noodles, symbolizing the dynamic and interconnected flow of object-centric process mining, much like the iconic image of rainbow spaghetti.
-
Development support: Alessio Giacché ✉️ [email protected]
-
Research activities: Sara Pettinari ✉️ [email protected] & Lorenzo Rossi ✉️ [email protected]
We'd love to hear from you! Please share your feedback by filling out our form ➡️ here
More exciting features coming soon...🫕