Datalog as a query language for data exchange systems

  • Authors:
  • Marcelo Arenas;Pablo Barceló;Juan Reutter

  • Affiliations:
  • Dept. of Computer Science, Pontificia Universidad Católica de Chile, Chile;Dept. of Computer Science, University of Chile, Chile;School of Informatics, University of Edinburgh, UK

  • Venue:
  • Datalog'10 Proceedings of the First international conference on Datalog Reloaded
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

The class of unions of conjunctive queries (UCQ) has been shown to be particularly well-behaved for data exchange; its certain answers can be computed in polynomial time (in terms of data complexity). However, this is not the only class with this property; the certain answers to any Datalog program can also can be computed in polynomial time. The problem is that both UCQ and Datalog do not allow for negated atoms, while most database query languages are equipped with negation. Unfortunately, adding an unrestricted form of negation to these languages yields to intractability of the problem of computing certain answers. In order to face this challenge, we have recently proposed a language, called DatalogC(≠) [5], that extends Datalog with a restricted form of negation while keeping the good properties of Datalog, and UCQ, for data exchange. In this article, we provide evidence in favor of the use of DatalogC(≠) as a query language for data exchange systems. More precisely, we introduce the syntax and semantics of DatalogC(≠), we present some of the fundamental results about this language shown in [5], and we extend those results to the case of data exchange settings that allow for constraints in the target schema. All of these results provide justification for the use of DatalogC(≠) in practice.