Uncategorized · June 7, 2024


Soup 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 creating the EKG to perform object-centric process mining analysis.

Causal Event Relationships

Soup supports the creation of EKGs considering event-to-event causal relationships. Indeed, causal relationships allow to retrieve 1:n or n:1 relationships between events.

The revealing of causal relationships has been conducted in two case studies (event logs)(analysis results). 

Getting Started

Download project repository

git clone git@bitbucket.org:proslabteam/soup.git

Start via Docker

  • Install Docker
  • Navigate the main project folder and run:
docker-compose -p soup-tool up --build

It will run the following containers:

  • Angular container: the web tool, available at localhost:4200
  • Python container: the backend and engine of the system, available at localhost:8080
  • Memgraph container: the Memgraph database runs which offers 3 different ports. The most important is localhost:3000 which is related to Memgraph Lab.

User Guide

Soup allows the user to upload a .csv file containing event logs and create an EKG.

  1. Upload CSV: Navigate to the “Upload CSV” section and follow the tool’s instructions to correctly upload the .csv file.
  2. Preview Data: Once the file is loaded, it will be parsed, and the event log will be displayed in a table.
  3. Filter Data: Use the Sidebar, which appears from the right, to filter the entities and properties to include in the graph nodes.
    • Entity represents which attributes will be used to create entity nodes.
    • Property represents which attributes will be stored as properties of event nodes.

Once the first phase is completed, the tool automatically generates the graph in the Memgraph database. The graph data are returned in the form of Cards.

In the Sidebar, which appears from the right, the user can perform several operations to manage and customize the graph:

  • Download JSON: Download the complete JSON representation of the graph.
  • Delete Graph: Remove the current graph from the view.
  • Group Nodes: Create a graph composed of aggregate nodes, known as a Class Graph.

These options enable managing and manipulating the graph.

After selecting the aggregation properties, the tool creates class nodes, and the user is automatically redirected to the graph view page.

In this section, the user can interact with the graph in various ways:

  • Search: Look for specific nodes or relationships within the graph.
  • Sidebar Operations:
    • Customize Graph View: Modify the appearance and layout of the graph to suit your preferences.
    • Export Graph: Save the graph as a .svg file for use outside the tool.
    • Delete Graph: Remove the current graph from the view.