Practical Uses of Existential Rules in Knowledge Representation

From International Center for Computational Logic
Toggle side column

Practical Uses of Existential Rules in Knowledge Representation

This webpage contains all of the materials and relevant information to follow our online tutorial at the European Conference on Artificial Intelligence (ECAI 2020), presented on Friday, 4 Sept 2020. Recordings of the sessions are made available through the conference website.

Links to our slides and all additional materials used in the demonstrations are found below.

Tutorial Overview

Participants can try all live demos using the Rulewerk shell (above: finding the pulse with the Galen medical ontology)

Symbolic Knowledge Representation (KR) is one of the pillars of AI, with rule-based reasoning being one of its key challenges. Historically, rules have been at the foundation of languages like Prolog or Datalog, and have been studied since the inception of AI. More recently, various breakthroughs have enabled the execution of rules over very large knowledge bases, thus extending the applicability of this technology to many new scenarios.

This tutorial shows how rule-based reasoning has evolved from a specialised research topic to a mature field of AI, with applications ranging from decision support to source code analysis. Concretely, participants will learn how to use rules to solve challenging problems in several use cases taken from data integration, ontology reasoning, and probabilistic logic programming. We focus on rules with existential quantification, give all necessary theoretical background, and demonstrate their practical usage. Interested participants can follow the demonstrations on their own computers using our open-source tools VLog and Rulewerk.

The tutorial is designed for a multi-disciplinary AI audience, thus specific prior knowledge in KR is not required.

Outline and Materials

The tutorial was given in four parts on Friday, 4 September 2020. The outline and the slides for each part are below. In addition, we offer an archive with all tutorial resources that are used in the live demos and hands-on sessions, which can be downloaded to re-play the demos and try rule reasoning on one's own computer. Instructions for each hands-on are included in the slides, but also in readme files in the archive.

Slides for Part 1: Introduction to Existential Rules

Part 1: Introduction to Existential Rules

  • Basic concepts
  • Getting acquainted with the tools
Slides for Part 2: Existential Rules in Knowledge Representation

Part 2: Existential Rules in Knowledge Representation

  • Implementing a lightweight description logic reasoner
  • Guidelines for problem encoding and optimisation
Slides for Part 3: Reasoning Beyond Polynomial Time

Part 3: Reasoning Beyond Polynomial Time

  • Augmenting Datalog with sets for reasoning in expressive description logics
  • Using existential rules to simulate sets
Slides for Part 4: Practical Applications of Rules

Part 4: Practical Applications of Rules

  • Probabilistic inference with Datalog
  • Data integration
  • Stream reasoning

Speaker Biographies


David Carral

David Carral is a postdoctoral scholar at the chair for Knowledge-Based Systems at the Faculty of Computer Science of TU Dresden. He completed his master's and doctor's degrees at Wright State University, both under the supervision of Prof. Dr. Pascal Hitzler, in 2012 and 2016, respectively. For several months during his Ph.D., he was an exchange student at the University of Oxford, working under the supervision of Prof. Dr. Bernardo Cuenca Grau. His research interests include symbolic artificial intelligence and knowledge representation related topics. More precisely, David studies the theoretical properties of logical languages such as Description Logics and existential rules, and the implementation of reasoning algorithms.


Markus Krötzsch

Markus Krötzsch is a full professor at the Faculty of Computer Science of TU Dresden, where he is holding the chair for Knowledge-Based Systems. He obtained his Ph.D. from the Institute of Applied Informatics and Formal Description Methods (AIFB) of Karlsruhe Institute of Technology (KIT) in 2010, and thereafter worked as a researcher and departmental lecturer at the Department of Computer Science of the University of Oxford until October 2013. Krötzsch's extensive research activities in the area of rule-based knowledge representation and reasoning have contributed to the development and analysis of rule languages, rule-based inference methods, and rule reasoners. His wider research interests also include ontology languages, query answering, reasoning complexity, knowledge graphs, and content management and integration platforms for the Web of Data. He has published many works in leading journals and conferences, and two textbooks on semantic technologies. He has given tutorials and invited lectures at various events, including ESSLLI, IJCAI, and ICDT, and he has co-organised numerous scientific and educational events, most recently the Reasoning Web Summer School 2019.


Jacopo Urbani

Jacopo Urbani is an assistant professor at the Department of Computer Science of the Vrije Universiteit Amsterdam (VUA). He is also a guest researcher at the Centrum Wiskunde & Informatica and at the Max Planck Institute in Informatics. He wrote a PhD thesis on distributed reasoning algorithms for very large Knowledge Graphs. The thesis was nominated by the Royal Netherlands Academy of Arts and Sciences as one of the best PhD theses in Computer Science in the country. After spending part of his postdoc in USA and Germany, he joined the faculty of the VUA and has been tenured in 2018. He is one of the main developers of VLog and has published extensively on rule-based reasoning on Knowledge Graphs (KGs) at venues like AAAI, WWW, ISWC, etc. His recent interests include the application of rule-based reasoning for fact-checking and to perform KG completion using information extracted from unstructured sources.

Software Tools


Rulewerk is a toolkit for using rules for knowledge modelling, data integration, and declarative computing. It integrates the rule engine VLog with many high-level features for knowledge-base management and rule manipulation. The Rulewerk distribution packages include support for all major operating systems, requiring only Java 8 or above to be available. Rulewerk can be used in two ways:

  1. As a Java library in your own programming projects
  2. As a stand-alone client application that offers an interactive shell

More information about Rulewerk can be found at


VLog is a rule engine that combines a column-based memory layout with novel optimization methods that avoid redundant inferences at runtime, resulting in high efficiency in terms of memory usage and speed. Compared to traditional row stores, column-based approaches have shown superior performance on analytical workloads, but are deployed mostly in relational DBMSs, see for instance MonetDB. For VLog, the vertical storage leads to high memory efficiency and competitive runtimes, but also requires specific implementation strategies and data structures.

More information about VLog can be found at


This tutorial presentation was in part supported by Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) in projects number 389792660 (TRR 248, Center for Perspicuous Systems) and KR 4381/1-1 (Emmy Noether grant DIAMOND).