Ontology-based data access (OBDA) is receiving great attention as a new paradigm for managing information systems through semantic technologies. According to this paradigm, a Description Logic ontology provides an abstract and formal representation of the domain of interest to the information system, and is used as a sophisticated schema for accessing the data and formulating queries over them. In this paper, we address the problem of dealing with inconsistencies in OBDA. Our general goal is both to study DL semantical frameworks that are inconsistency-tolerant, and to devise techniques for answering unions of conjunctive queries under such inconsistency-tolerant semantics. Our work is inspired by the approaches to consistent query answering in databases, which are based on the idea of living with inconsistencies in the database, but trying to obtain only consistent information during query answering, by relying on the notion of database repair. We first adapt the notion of database repair to our context, and show that, according to such a notion, inconsistency-tolerant query answering is intractable, even for very simple DLs. Therefore, we propose a different repair-based semantics, with the goal of reaching a good compromise between the expressive power of the semantics and the computational complexity of inconsistency-tolerant query answering. Indeed, we show that query answering under the new semantics is first-order rewritable in OBDA, even if the ontology is expressed in one of the most expressive members of the DL-Lite family.The results presented in this paper appeared in preliminary form in [46,47,45].
PreliminariesDescription Logics [5] are decidable fragments of first-order logic (FOL) that can be used to represent the knowledge of a domain of interest in a structured and formally well-understood way. They model the domain of interest in terms of objects, i.e., individuals, concepts, that are abstractions for sets of objects, and roles, that denote binary relations between objects. In addition, some DLs distinguish concepts from value-domains, that denote sets of values, and roles from attributes, that denote binary relations between objects and values.We consider an overall alphabet Γ, partitioned in two disjoint alphabets, namely, Γ P , containing symbols for predicates, and Γ C , containing symbols for individual (object and value) constants. We further partition Γ P into four disjoint sets containing symbols denoting atomic concepts, atomic roles, attributes, and value-domains, respectively, and partition Γ C into two disjoint sets, called Γ O and Γ V , which are the set of constants denoting objects, and the set of constants denoting values, respectively. In the rest of the paper, when it is clear from the context, we often implicitly refer to Γ.Complex concept, role, and attribute expressions are constructed by applying suitable operators to atomic concepts and roles, attributes, and value-domains. Different DL languages allow for different operators in the constructs.Given a DL language L, an L ...