We consider the dichotomy conjecture for consistent query answering under primary key constraints stating that for every fixed Boolean conjunctive query q, testing whether it is certain 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 database repairs with at most $k$ facts, 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 $S$ satisfies $q$. 2. Add any set $S$ of at most $k$ facts to $\Delta$ if there exists a block $B$ (ie, a maximal set of facts sharing the same key) such that for every fact $a$ of $B$ there is a set $S' \in \Delta$ contained in $(S \cup \{a\})$. The algorithm answers "$q$ is certain" iff $\Delta$ eventually contains the empty set. The algorithm correctly computes certain answers when the query $q$ falls in the polynomial time cases for self-join-free queries and path queries. For arbitrary 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.
翻译:我们考虑在主要关键限制下对一致解答的二分法猜想:对于每一个固定的布利安对调质查询 q,测试它是否确定对特定不一致数据库的所有修理都是多元时间或 CoNP 完成。这个猜想被核实为无自join 和路径查询。我们建议对一致解答采用简单的通胀固定点算法,对于一个特定数据库来说,它天真地计算了一套固定的 $\ Delta$ 的数据库修复子集, 以最多 美元为事实, 其中美元为查询的大小。 算法在多元时间运行, 可以正式定义为:1 初始化$\ Delta$, 美元在最多为美元 美元 。 我们建议为一致解答添加一个简单的设定美元, 如果存在块 B$ (i, 最大一组事实分享相同的关键), 对于每个事实, 美元 美元为多美元, 自动解算, 最终的解算为 美元。 当一个固定的解算中, 一定的解算为 。