Computing Cores for Existential Rules with the Standard Chase and ASP
- Computational aspects of knowledge representation-General
- Ontology formalisms and models-General
- Logic programming, answer set programming, constraint logic programming-General
- Nonmonotonic logics, default logics, conditional logics-General
To reason with existential rules (a.k.a. tuple-generating dependencies), one often computes universal models. Among the many such models of different structure and cardinality, the core is arguably the “best”. Especially for finitely satisfiable theories, where the core is the unique smallest universal model, it has advantages in query answering, non-monotonic reasoning, and data exchange. Unfortunately, computing cores is difficult and not supported by most reasoners. We therefore propose ways of computing cores using practically implemented methods from rule reasoning and answer set programming. Our focus is on cases where the standard chase algorithm produces a core. We characterise this desirable situation in general terms that apply to a large class of cores, derive concrete approaches for decidable special cases, and generalise these approaches to non-monotonic extensions of existential rules.