Query Languages for Data Exchange: Beyond Unions of Conjunctive Queries
Revista : Proceedings of the 12th International Conference on Database Theory (ICDT 2009)Páginas : 73-83
Tipo de publicación : Conferencia No A*
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 negated atoms, as adding an unrestricted
form of negation to these languages yields to intractability.
In this paper, we propose a language called DATALOG-C(neg) that
extends DATALOG with a restricted form of negation, and study
some of its fundamental properties. In particular, we show that
the certain answers to a DATALOG-C(neg) program can be computed in polynomial time (in terms of data complexity), and that every union of conjunctive queries with at most one inequality or negated relational atom per disjunct, can be efficiently rewritten as a DATALOG-C(neg) program in the context of data exchange. Furthermore, we show that this is also the case for a syntactic restriction of the class of unions of conjunctive queries with at most two inequalities per disjunct. This syntactic restriction is given by two conditions that are optimal, in the sense that computing certain answers becomes intractable if one removes any of them. Finally, we provide a thorough analysis of the combined complexity of computing certain answers to DATALOG-C(neg) programs and other related query languages. In particular, we show that this problem is EXPTIME-complete for DATALOG-C(neg), even if one restricts to conjunctive queries with single inequalities, which is a fragment of DATALOG-C(neg) by the result mentioned above. Furthermore, we show that the combined complexity is coNEXPTIME-complete for the case of conjunctive queries with k inequalities, for every k >= 2.