What is Vadalog?

The Vadalog language, or simply Vadalog, is the language used to write logic programs in Vadalog-based reasoners.

The Vadalog language is an extension of Warded Datalog±, part of the Datalog± (Datalog with existential quantification) family. Warded Datalog±, in particular, admits existential quantification while restricting the rules to ensure wardedness, i.e., "taming the propagation of nulls during the construction of the answer in the chase procedure".

Vadalog extends Warded Datalog± with features for the practical use, from the annotations to read data from external data sources, to aggregates, to the core libraries allowing the handling of regular expressions and the manipulation of collections, among others.

The aim of this handbook is to illustrate how the Vadalog language works, document the features it includes, and show practical examples of how to write Vadalog programs.

This handbook includes: