🤖 AI Summary
This paper addresses the problem of determining whether a Boolean conjunctive query evaluates to true on all repairs of an inconsistent database under primary key constraints. We propose a polynomial-time fixed-point algorithm that iteratively expands *k*-sized subsets of facts, introducing for the first time a concise inflationary fixed-point mechanism that uniformly handles both self-join-free and path queries. The algorithm yields a sound under-approximation—guaranteeing zero false positives—for arbitrary Boolean conjunctive queries. It integrates primary-key block decomposition, restricted fact enumeration, and model-theoretic semantic reasoning, ensuring exact correctness on all known tractable query classes. Its time complexity is polynomial in the size of the input database.
📝 Abstract
We consider the dichotomy conjecture for consistent query answering under primary key constraints. It states that, for every fixed Boolean conjunctive query q, testing whether q is certain (i.e. whether it evaluates to true over all repairs of a given inconsistent database) is either polynomial time or coNP-complete. This conjecture has been verified for self-join-free and path queries. We propose a simple inflationary fixpoint algorithm for consistent query answering which, for a given database, naively computes a set $Delta$ of subsets of facts of the database of size at most k, where k is the size of the query q. The algorithm runs in polynomial time and can be formally defined as: (1) Initialize $Delta$ with all sets $S$ of at most $k$ facts such that $Smodels q$. (2) Add any set $S$ of at most k facts to $Delta$ if there exists a block $B$ (i.e., a maximal set of facts sharing the same key) such that for every fact $a in B$ there is a set $S' subseteq S cup {a}$ such that $S'in Delta$. For an input database $D$, the algorithm answers"q is certain"iff $Delta$ eventually contains the empty set. The algorithm correctly computes certainty when the query q falls in the polynomial time cases of the known dichotomies for self-join-free queries and path queries. For arbitrary Boolean conjunctive queries, the algorithm is an under-approximation: the query is guaranteed to be certain if the algorithm claims so. However, there are polynomial time certain queries (with self-joins) which are not identified as such by the algorithm.