Soup

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.

πŸ”§ 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.
Data loading

Once the first phase is completed, the tool automatically generates the graph in the Memgraph database. The graph data is returned in the form of the number of created nodes and query execution time.

EKG summary

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

  • Visualize Graph: Opens the EKG visualization.
  • Analyze Graph: Enables the application of filters to the EKG.
  • 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.

Node aggregation

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.
Aggregated EKG (+ data search)

πŸ’» Video Guide

πŸ”Ž Additional Features

Causal Relationships

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

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