Datalog as a Query Language for Data Exchange Systems

  • Marcelo Arenas
  • Pablo Barceló
  • Juan Reutter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6702)


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 Datalog C( ≠ ) [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 Datalog C( ≠ ) as a query language for data exchange systems. More precisely, we introduce the syntax and semantics of Datalog C( ≠ ), 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 Datalog C( ≠ ) in practice.


Polynomial Time Data Exchange Query Language Conjunctive Query Universal Solution 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abiteboul, S., Duschka, O.: Answering queries using materialized views. Gemo report 383Google Scholar
  2. 2.
    Abiteboul, S., Hull, R., Vianu, V.: Foundations of databases. Addison-Wesley, Reading (1995)zbMATHGoogle Scholar
  3. 3.
    Afrati, F.N., Li, C., Pavlaki, V.: Data exchange in the presence of arithmetic comparisons. In: EDBT, pp. 487–498 (2008)Google Scholar
  4. 4.
    Arenas, M., Barceló, P., Fagin, R., Libkin, L.: Locally consistent transformations and query answering in data exchange. In: PODS, pp. 229–240 (2004)Google Scholar
  5. 5.
    Arenas, M., Barceló, P., Reutter, J.: Query languages for data exchange: Beyond unions of conjunctive queries. Accepted for publication in Theory of Computing Systems, ToCS (2010); Preliminary version in Proceedings 12th International Conference on Database Theory (ICDT 2009), pp. 73–83 (2009)Google Scholar
  6. 6.
    Beeri, C., Vardi, M.Y.: A proof procedure for data dependencies. Journal of the ACM 31(4), 718–741 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Calì, A., Gottlob, G., Pieris, A.: Query answering under non-guarded rules in datalog+/-. In: Hitzler, P., Lukasiewicz, T. (eds.) RR 2010. LNCS, vol. 6333, pp. 1–17. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Deutsch, A., Nash, A., Remmel, J.B.: The chase revisited. In: PODS, pp. 149–158 (2008)Google Scholar
  9. 9.
    Fagin, R., Kolaitis, P., Popa, L., Tan, W.C.: Composing schema mappings: Second-order dependencies to the rescue. In: PODS, pp. 83–94 (2004)Google Scholar
  10. 10.
    Fagin, R., Kolaitis, P.G., Miller, R.J., Popa, L.: Data exchange: semantics and query answering. Theoretical Computer Science 336(1), 89–124 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  11. 11.
    Fagin, R., Kolaitis, P.G., Popa, L.: Data exchange: getting to the core. ACM Transactions on Database Systems 30(1), 174–210 (2005)CrossRefzbMATHGoogle Scholar
  12. 12.
    Kolaitis, P.: Schema mappings, data exchange, and metadata management. In: PODS, pp. 61–75 (2005)Google Scholar
  13. 13.
    Kolaitis, P., Panttaja, J., Tan, W.-C.: The complexity of data exchange. In: PODS, pp. 30–39 (2006)Google Scholar
  14. 14.
    Imielinski, T., Lipski, W.: Incomplete information in relational databases. Journal of the ACM 31, 761–791 (1984)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Lenzerini, M.: Data integration: A theoretical perspective. In: PODS, pp. 233–246 (2002)Google Scholar
  16. 16.
    Libkin, L.: Elements of Finite Model Theory. Springer, Heidelberg (2004)CrossRefzbMATHGoogle Scholar
  17. 17.
    Libkin, L.: Data exchange and incomplete information. In: PODS, pp. 60–69 (2006)Google Scholar
  18. 18.
    Libkin, L., Sirangelo, C.: Data exchange and schema mappings in open and closed worlds. In: PODS, pp. 139–148 (2008)Google Scholar
  19. 19.
    Ma̧dry, A.: Data exchange: On the complexity of answering queries with inequalities. Information Processing Letters 94(6), 253–257 (2005)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Vardi, M.Y.: The complexity of relational query languages. In: STOC, pp. 137–146 (1982)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Marcelo Arenas
    • 1
  • Pablo Barceló
    • 2
  • Juan Reutter
    • 3
  1. 1.Dept. of Computer SciencePontificia Universidad Católica de ChileChile
  2. 2.Dept. of Computer ScienceUniversity of ChileChile
  3. 3.School of InformaticsUniversity of EdinburghUK

Personalised recommendations