A Simple Algorithm for Consistent Query Answering under Primary Keys

📅 2023-01-20
🏛️ International Conference on Database Theory
📈 Citations: 4
Influential: 0
📄 PDF
🤖 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.
Problem

Research questions and friction points this paper is trying to address.

Database Query
Correctness Verification
Consistency and Accuracy
Innovation

Methods, ideas, or system contributions that make the work stand out.

Simple Algorithm
Database Query Correctness
Efficient Consistency Check
🔎 Similar Papers
2024-04-15Annual Meeting of the Association for Computational LinguisticsCitations: 4
Diego Figueira
Diego Figueira
CNRS, LaBRI, Univ. Bordeaux
Logic in Computer ScienceDatabase TheoryAutomata Theory
A
A. Padmanabha
Indian Institute of Technology Madras, Chennai, India
L
L. Segoufin
INRIA, ENS-Paris, PSL University, France
Cristina Sirangelo
Cristina Sirangelo
Université Paris Cité
database theorylogicautomata