Creative Commons Attribution 4.0 International license
Pure Datalog is arguably the most fundamental rule language, elegant and simple, but also often too limited to be useful in practice. This has motivated the introduction of many new expressive features, ranging from datatypes and related functions, over aggregates and semi-ring generalisations, to existential quantifiers and complex terms. In spite of their variety, all these approaches remain true to the nature of Datalog as a direct, pattern-based way of computing on structured data. We therefore find that a modern notion of Datalog is emerging, distinctly different from other approaches of logic programming and with its own set of related methods and applications. In this course, we introduce Datalog and its most common extensions, and explain when and how these features can be used together (which is often, but not always, safe to do). We further look at modern Datalog systems and some of their primary use cases. Hands-on work with Datalog and its extensions is done with the free Datalog engine https://knowsys.github.io/nemo-doc/. The course is accessible to all audiences and does not assume specific prior knowledge.
@InProceedings{krotzsch:OASIcs.RW.2024/2025.7,
author = {Kr\"{o}tzsch, Markus},
title = {{Modern Datalog: Concepts, Methods, Applications}},
booktitle = {Joint Proceedings of the 20th and 21st Reasoning Web Summer Schools (RW 2024 \& RW 2025)},
pages = {7:1--7:41},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-95977-405-5},
ISSN = {2190-6807},
year = {2025},
volume = {138},
editor = {Artale, Alessandro and Bienvenu, Meghyn and Garc{\'\i}a, Yazm{\'\i}n Ib\'{a}\~{n}ez and Murlak, Filip},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.RW.2024/2025.7},
URN = {urn:nbn:de:0030-drops-250524},
doi = {10.4230/OASIcs.RW.2024/2025.7},
annote = {Keywords: Datalog, query language, knowlegde representation and reasoning, logic programming, Horn logic, SPARQL, datatypes and aggregation, lecture notes, tutorial}
}
archived version
archived version
archived version
archived version