A logic-based framework for database repairs
Nicolas Fröhlich, Arne Meier, Nina Pardal, Jonni Virtema
TL;DR
This paper introduces a general, logic-based framework for database repairs that unifies various repair notions by distinguishing hard integrity constraints from soft constraints and by separating hard and soft queries. Repairs are guided by preserving a core set of query answers and by minimizing a distance between instances computed from query answers, with extensions to semiring-annotated (K) databases. The framework supports hard-queries to enforce essential properties and soft-queries to drive minimality, enabling both set-based and cardinality-based repair notions and allowing novel, annotation-aware repairs. It also initiates a complexity-theoretic exploration of consistent query answering and repair existence within this unified setting, mapping known results and enabling future investigations into more expressive logics and data models. Overall, the approach provides a flexible, extensible foundation for reasoning about inconsistency and repair in diverse database ecosystems and data models.
Abstract
We introduce a general abstract framework for database repairs, where the repair notions are defined using formal logic. We distinguish between integrity constraints and so-called query constraints. The former are used to model consistency and desirable properties of the data (such as functional dependencies and independencies), while the latter relate two database instances according to their answers to the query constraints. The framework allows for a distinction between hard and soft queries, allowing the answers to a core set of queries to be preserved, as well as defining a distance between instances based on query answers. We illustrate how different notions of repairs from the literature can be modelled within our unifying framework. The framework generalises both set-based and cardinality based repairs to semiring annotated databases. Furthermore, we initiate a complexity-theoretic analysis of consistent query answering and checking existence of a repair within the framework.
