active integrity constraints
In this paper we deal with inconsistent databases and propose a logic framework that allows specifying sets of actions which should be performed to make databases consistent (repairs). The motivation of this work stems from the observation that in repairing a database it is natural to express among a set of update operations, the (preferred) actions which should be performed to repair the database. We introduce (conditioned) active integrity constraints , a simple and powerful form of active rules with declarative semantics, well suited for computing database repairs and consistent answers. We first consider a "prescriptive" semantics where the allowed actions are those specified by the constraints. Under such a semantics the existence of repairs and consistent answers is not guaranteed. Thus, we also investigate the class of universally quantified constraints under a different semantics where actions are interpreted as preference conditions on the set of possible repairs ("preferable" semantics). Under such a semantics every database with integrity constraints admits repairs and consistent answers. We show that (conditioned) active integrity constraints can be rewritten into disjunctive Datalog programs with classical negation and that (preferred) repairs can be derived through the computation of (preferred) disjunctive stable models. We study the complexity of computing repairs and consistent answers and show that active integrity constraints can also be used to express hard problems.
integrity constraints inconsistent database logic programming