Disjunctive Logic Programming (DLP) is an advanced formalism for knowledge representation and reasoning, which is very expressive in a precise mathematical sense: it allows one to express every property of finite structures that is decidable in the complexity class P 2 ( NP NP ). Thus, under widely believed assumptions, DLP is strictly more expressive than normal (disjunction-free) logic programming, whose expressiveness is limited to properties decidable in NP. Importantly, apart from enlarging the class of applications which can be encoded in the language, disjunction often allows for representing problems of lower complexity in a simpler and more natural fashion.This article 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 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 500 • N. Leone et al.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.
Several important decision problems on conjunctive queries (CQs) are
NP-complete in general but become tractable, and actually highly
parallelizable, if restricted to acyclic or nearly acyclic queries. Examples
are the evaluation of Boolean CQs and query containment. These problems were
shown tractable for conjunctive queries of bounded treewidth and of bounded
degree of cyclicity. The so far most general concept of nearly acyclic queries
was the notion of queries of bounded query-width introduced by Chekuri and
Rajaraman (1997). While CQs of bounded query width are tractable, it remained
unclear whether such queries are efficiently recognizable. Chekuri and
Rajaraman stated as an open problem whether for each constant k it can be
determined in polynomial time if a query has query width less than or equal to
k. We give a negative answer by proving this problem NP-complete (specifically,
for k=4). In order to circumvent this difficulty, we introduce the new concept
of hypertree decomposition of a query and the corresponding notion of hypertree
width. We prove: (a) for each k, the class of queries with query width bounded
by k is properly contained in the class of queries whose hypertree width is
bounded by k; (b) unlike query width, constant hypertree-width is efficiently
recognizable; (c) Boolean queries of constant hypertree width can be
efficiently evaluated.Comment: 30 pages, 7 figures, uses fancybox, epsfig, epic, and eepi
Datalog, a database query language based on the logic programming paradigm, is described. The syntax and semantics of Datalog and its use for querying a relational database are presented. Optimization methods for achieving efficient evaluations of Datalog queries are classified, and the most relevant methods are presented. Various improvements of Datalog currently under study are discussed, and what is still needed in order to extend Datalog's applicability to the solution of real-life problems is indicated
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.