A relational database is inconsistent if it does not satisfy a given set of integrity constraints. Nevertheless, it is likely that most of the data in it is consistent with the constraints. In this paper we apply logic programming based on answer sets to the problem of retrieving consistent information from a possibly inconsistent database. Since consistent information persists from the original database to every of its minimal repairs, the approach is based on a specification of database repairs using disjunctive logic programs with exceptions, whose answer set semantics can be represented and computed by systems that implement stable model semantics. These programs allow us to declare persistence by default of data from the original instance to the repairs; and changes to restore consistency, by exceptions. We concentrate mainly on logic programs for binary integrity constraints, among which we find most of the integrity constraints found in practice.

Additional Metadata
Keywords Answer set programming, Consistency, Databases, Integrity constraints
Persistent URL dx.doi.org/10.1017/S1471068403001832
Journal Theory and Practice of Logic Programming
Arenas, M. (Marcelo), Bertossi, L, & Chomicki, J. (Jan). (2003). Answer sets for consistent query answering in inconsistent databases. Theory and Practice of Logic Programming, 3(4-5), 393–424. doi:10.1017/S1471068403001832