Built independently by an author, for readers. Read the story and support ChapterPal

topic

datalog

Datalog is a declarative logic programming language primarily used as a query language for deductive databases, knowledge representation, and information integration systems. Derived as a syntactic subset of Prolog, it disallows complex function symbols as arguments to predicates, ensuring that query evaluation on finite datasets always terminates and remains computationally decidable. A Datalog program consists of a collection of declarative facts and logical inference rules that derive new conclusions from existing data. Because of its formal mathematical semantics and natural support for recursive querying, Datalog is widely utilized in database management, static program analysis, network verification, and semantic web technologies.

1 item

The DLV system for knowledge representation and reasoning

The DLV system for knowledge representation and reasoning

Nicola Leone, Gerald Pfeifer, Wolfgang Faber, Thomas Eiter, Georg Gottlob, Simona Perri, Francesco Scarcello

OrganizationsTU WienUniversity of Calabria

Why you should read this

Presents the DLV system, detailing the formal foundations, computational complexity, and architectural design of a leading disjunctive logic programming engine capable of solving complex declarative knowledge representation and optimization problems up to Δ3P\Delta^P_3-completeness.

This paper presents the DLV system, which is widely considered the state-of-the-art implementation of disjunctive logic programming, and addresses several aspects. As for problem solving, we provide a formal definition of its kernel language, function-free disjunctive logic programs (also known as disjunctive datalog), extended by weak constraints, which are a powerful tool to express optimization problems. We then illustrate the usage of DLV as a tool for knowledge representation and reasoning, describing a new declarative programming methodology which allows one to encode complex problems (up to Δ3P\Delta^P_3-complete problems) in a declarative fashion. On the foundational side, we provide a detailed analysis of the computational complexity of the language of DLV, and by deriving new complexity results we chart a complete picture of the complexity of this language and important fragments thereof. Furthermore, we illustrate the general architecture of the DLV system which has been influenced by these results. As for applications, we overview application front-ends which have been developed on top of DLV to solve specific knowledge representation tasks, and we briefly describe the main international projects investigating the potential of the system for industrial exploitation. Finally, we report about thorough experimentation and benchmarking, which has been carried out to assess the efficiency of the system. The experimental results confirm the solidity of DLV and highlight its potential for emerging application areas like knowledge management and information integration.

Added

2026-09-25