1 Introduction

The aim of this section is to give a brief introduction to description logics, and to argue why they are well-suited as ontology languages. In the remainder of the chapter we will put some flesh on this skeleton by providing more technical details with respect to the theory of description logics, and their relationship to state of the art ontology languages. More detail on these and other matters related to description logics can be found in [6].

1.1 Ontologies

There have been many attempts to define what constitutes an ontology, perhaps the best known (at least amongst computer scientists) being due to Gruber: “an ontology is an explicit specification of a conceptualisation” [49].Footnote 1 In this context, a conceptualisation means an abstract model of some aspect of the world, taking the form of a definition of the properties of important concepts and relationships. An explicit specification means that the model should be specified in some unambiguous language, making it amenable to processing by machines as well as by humans.

Ontologies are becoming increasingly important in fields such as knowledge management, information integration, cooperative information systems, information retrieval and electronic commerce. One application area which has recently seen an explosion of interest is the so called Semantic Web [18], where ontologies are set to play a key rôle in establishing a common terminology between agents, thus ensuring that different agents have a shared understanding of terms used in semantic markup.

The effective use of ontologies requires not only a well-designed and well-defined ontology language, but also support from reasoning tools. Reasoning is important both to ensure the quality of an ontology, and in order to exploit the rich structure of ontologies and ontology based information. It can be employed in different phases of the ontology life cycle. During ontology design, it can be used to test whether concepts are non-contradictory and to derive implied relations. In particular, one usually wants to compute the concept hierarchy, i.e. the partial ordering of named concepts based on the subsumption relationship. Information on which concept is a specialization of another, and which concepts are synonyms, can be used in the design phase to test whether the concept definitions in the ontology have the intended consequences or not. This information is also very useful when the ontology is deployed.

Since it is not reasonable to assume that all applications will use the same ontology, interoperability and integration of different ontologies is also an important issue. Integration can, for example, be supported as follows: after the knowledge engineer has asserted some inter-ontology relationships, the integrated concept hierarchy is computed and the concepts are checked for consistency. Inconsistent concepts as well as unintended or missing subsumption relationships are thus signs of incorrect or incomplete inter-ontology assertions, which can then be corrected or completed by the knowledge engineer.

Finally, reasoning may also be used when the ontology is deployed. As well as using the pre-computed concept hierarchy, one could, for example, use the ontology to determine the consistency of facts stated in annotations, or infer relationships between annotation instances and ontology classes. More precisely, when searching web pages annotated with terms from the ontology, it may be useful to consider not only exact matches, but also matches with respect to more general or more specific terms – where the latter choice depends on the context. However, in the deployment phase, the requirements on the efficiency of reasoning are much more stringent than in the design and integration phases.

Before arguing why description logics are good candidates for such an ontology language, we provide a brief introduction to and history of description logics.

1.2 Description Logics

Description logics (DLs) [6, 16, 30] are a family of knowledge representation languages that can be used to represent the knowledge of an application domain in a structured and formally well-understood way. The name description logics is motivated by the fact that, on the one hand, the important notions of the domain are described by concept descriptions, i.e. expressions that are built from atomic concepts (unary predicates) and atomic roles (binary predicates) using the concept and role constructors provided by the particular DL. On the other hand, DLs differ from their predecessors, such as semantic networks and frames, in that they are equipped with a formal, logic-based semantics.

In this introduction, we only illustrate some typical constructors by an example. Formal definitions are given in Sect. 2. Assume that we want to define the concept of “A man that is married to a doctor and has at least five children, all of whom are professors.” This concept can be described with the following concept description:

$$\text{Human} \sqcap \neg \text{Female} \sqcap \exists \text{married}.\text{Doctor} \sqcap (\geq \,5\,\text{hasChild}) \sqcap \forall \text{hasChild}.\text{Professor}$$

This description employs the Boolean constructors conjunction ( ⊓), which is interpreted as set intersection, and negation ( ¬), which is interpreted as set complement, as well as the existential restriction constructor ( ∃R. C), the value restriction constructor (\(\forall R.C\)), and the number restriction constructor ( ≥ n R). An individual, say Bob, belongs to ∃married. Doctor if there exists an individual that is married to Bob (i.e. is related to Bob via the married role) and is a doctor (i.e. belongs to the concept Doctor). Similarly, Bob belongs to ( ≥ 5 hasChild) iff he has at least five children, and he belongs to \(\forall \text{hasChild}.\text{Professor}\) iff all his children (i.e. all individuals related to Bob via the hasChild role) are professors.

In addition to this description formalism, DLs are usually equipped with a terminological and an assertional formalism. In its simplest form, terminological axioms can be used to introduce names (abbreviations) for complex descriptions. For example, we could introduce the abbreviation HappyMan for the concept description from above. More expressive terminological formalisms allow the statement of constraints such as

$$\exists \text{hasChild}.\text{Human} \sqsubseteq \text{Human},$$

which says that only humans can have human children. A set of terminological axioms is called aTBox. The assertional formalism can be used to state properties of individuals. For example, the assertions

$$\text{HappyMan}(\text{BOB}),\ \ \text{hasChild}(\text{BOB},\text{MARY})$$

state that Bob belongs to the concept HappyMan and that Mary is one of his children. A set of such assertions is called anABox, and the named individuals that occur in ABox assertions are called ABox individuals.

Description logic systems provide their users with various inference capabilities that deduce implicit knowledge from the explicitly represented knowledge. The subsumption algorithm determines subconcept–superconcept relationships: C is subsumed by D iff all instances of C are necessarily instances of D, i.e. the first description is always interpreted as a subset of the second description. For example, given the definition of HappyMan from above, HappyMan is subsumed by ∃hasChild. Professor – since instances of HappyMan have at least five children, all of whom are professors, they also have a child that is a professor. The instance algorithm determines instance relationships: the individual i is an instance of the concept description C iff i is always interpreted as an element of C. For example, given the assertions from above and the definition of HappyMan, MARY is an instance of Professor. The consistency algorithm determines whether a knowledge base (consisting of a set of assertions and a set of terminological axioms) is non-contradictory. For example, if we add ¬Professor(MARY) to the two assertions from above, then the knowledge base containing these assertions together with the definition of HappyMan from above is inconsistent.

In order to ensure reasonable and predictable behavior of a DL system, these inference problems should at least be decidable for the DL employed by the system, and preferably of low complexity. Consequently, the expressive power of the DL in question must be restricted in an appropriate way. If the imposed restrictions are too severe, however, then the important notions of the application domain can no longer be expressed. Investigating this trade-off between the expressivity of DLs and the complexity of their inference problems has been one of the most important issues in DL research. Roughly, the research related to this issue can be classified into the following four phases.

Phase 1 (1980–1990) was mainly concerned with implementation of systems, such as Klone, K-Rep, Back, and Loom [24, 71, 80, 70]. These systems employed so-called structural subsumption algorithms, which first normalize the concept descriptions, and then recursively compare the syntactic structure of the normalized descriptions [73]. These algorithms are usually relatively efficient (polynomial), but they have the disadvantage that they are complete only for very inexpressive DLs, i.e. for more expressive DLs they cannot detect all the existing subsumption/instance relationships. At the end of this phase, early formal investigations into the complexity of reasoning in DLs showed that most DLs do not have polynomial-time inference problems [23, 74]. As a reaction, the implementors of the Classic system (the first industrial-strength DL system) carefully restricted the expressive power of their DL [79, 22].

Phase 2 (1990–1995) started with the introduction of a new algorithmic paradigm into DLs, so-called tableau-based algorithms [88, 40, 54]. They work on propositionally closed DLs (i.e. DLs with full Boolean operators) and are complete also for expressive DLs. To decide the consistency of a knowledge base, a tableau-based algorithm tries to construct a model of it by breaking down the concepts in the knowledge base, thus inferring new constraints on the elements of this model. The algorithm either stops because all attempts to build a model failed with obvious contradictions, or it stops with a “canonical” model. Since in propositionally closed DLs, subsumption and satisfiability can be reduced to consistency, a consistency algorithm can solve all the inference problems mentioned above. The first systems employing such algorithms (Kris and Crack) demonstrated that optimized implementations of these algorithm lead to an acceptable behavior of the system, even though the worst-case complexity of the corresponding reasoning problems is no longer in polynomial time [9, 27]. This phase also saw a thorough analysis of the complexity of reasoning in various DLs [40, 41, 39]. Another important observation was that DLs are very closely related to modal logics [85].

Phase 3 (1995–2000) is characterized by the development of inference procedures for very expressive DLs, either based on the tableau-approach [58, 60] or on a translation into modal logics [36, 37, 35, 38]. Highly optimized systems (FaCT, Race, and Dlp [55, 50, 78]) showed that tableau-based algorithms for expressive DLs lead to a good practical behavior of the system even on (some) large knowledge bases. In this phase, the relationship to modal logics [36, 86] and to decidable fragments of first-order logic was also studied in more detail [19, 76, 47, 45, 46], and applications in databases (like schema reasoning, query optimization, and integration of databases) were investigated [28, 29, 31].

We are now at the beginning of Phase 4, where industrial strength DL systems employing very expressive DLs and tableau-based algorithms are being developed, with applications like the Semantic Web or knowledge representation and integration in bio-informatics in mind.

1.3 Description Logics as Ontology Languages

As already mentioned above, high quality ontologies are crucial for many applications, and their construction, integration, and evolution greatly depends on the availability of a well-defined semantics and powerful reasoning tools. Since DLs provide for both, they should be ideal candidates for ontology languages. That much was already clear ten years ago, but at that time there was a fundamental mismatch between the expressive power and the efficiency of reasoning that DL systems provided, and the expressivity and the large knowledge bases that ontologists needed [42]. Through the basic research in DLs of the last 10–15 years that we have summarized above, this gap between the needs of ontologist and the systems that DL researchers provide has finally become narrow enough to build stable bridges.

The suitability of DLs as ontology languages has been highlighted by their role as the foundation for several web ontology languages, includingOWL, an ontology language standard developed by theW3C Web-Ontology Working GroupFootnote 2 (see chapter “Web Ontology Language: OWL”). OWL has a syntax based onRDF Schema, but the basis for its design is the expressive DL\(SHIQ\) [60],Footnote 3 and the developers have tried to find a good compromise between expressiveness and the complexity of reasoning. Although reasoning in\(SHIQ\) is decidable, it has a rather high worst-case complexity (ExpTime). Nevertheless, highly optimized \(SHIQ\) reasoners such as FaCT++ [95],Racer [52] andPellet [91] behave quite well in practice.

Let us point out some of the features of \(SHIQ\) that make this DL expressive enough to be used as an ontology language. Firstly, \(SHIQ\) provides number restrictions that are more expressive than the ones introduced above (and employed be earlier DL systems). With the qualified number restrictions available in \(SHIQ\), as well as being able to say that a person has at most two children (without mentioning the properties of these children):

$$(\leq \,2\,\text{hasChild}),$$

one can also specify that there is at most one son and at most one daughter:

$$(\leq \,1\,\text{hasChild}.\neg \text{Female}) \sqcap (\leq \,1\,\text{hasChild}.\text{Female}).$$

Secondly, \(SHIQ\) allows the formulation of complex terminological axioms like “humans have human parents”:

$$\text{Human} \sqsubseteq \exists \text{hasParent}.\text{Human}.$$

Thirdly, \(SHIQ\) also allows for inverse roles, transitive roles, and subroles. For example, in addition to hasChild one can also use its inverse hasParent, one can specify that hasAncestor is transitive, and that hasParent is a subrole of hasAncestor.

It has been argued in the DL and the ontology community that these features play a central role when describing properties of aggregated objects and when building ontologies [83, 93, 43]. The actual use of a DL providing these features as the underlying logical formalism of the web ontology language OWL [57] substantiates this claim [93].Footnote 4

Finally, we would like to briefly mention three extensions to \(SHIQ\) that are often used in ontology languages (we will discuss them in more detail in Sect. 4).

Complex roles are often required in ontologies. For example, when describing complex physically composed structures it may be desirable to express the fact that damage to a part of the structure implies damage to the structure as a whole. This feature is particularly important in medical ontologies: it is supported in the Grail DL [81], which was specifically designed for use with medical terminology, and in another medical terminology application using the comparatively inexpressive DL \(ALC\), a rather complex “work around” is performed in order to capture this kind of information [89].Footnote 5

It is quite straightforward to extend \(SHIQ\) so that this kind of propagation can be expressed: simply allow for the use of complex roles in role inclusion axioms. E.g. hasLocationpartOfhasLocation expresses the fact that things located in part of something are also located in the thing as a whole. Although this leads to undecidability in general, syntactic restrictions can be devised that lead to a decidable logic [59].

Concrete domains [7, 69] integrate DLs with concrete sets such as the real numbers, integers, or strings, and built-in predicates such as comparisons ≤ , comparisons with constants ≤ 17, or isPrefixOf. This supports the modelling of concrete properties of abstract objects such as the age, the weight, or the name of a person, and the comparison of these concrete properties. Unfortunately, in their unrestricted form, concrete domains can have dramatic effects on the decidability and computational complexity of the underlying DL [69].

Nominals are special concept names that are to be interpreted as singleton sets. Using a nominal Turing, we can describe all those computer scientists that have met Turing by CSientist ⊓ ∃hasMet. Turing. Again, nominals can have dramatic effects on the complexity of a logic [94]. The extension of \(SHIQ\) with nominals is usually called \(SHOIQ\).

2 The Expressive Description Logic \(SHIQ\)

In this section, we present syntax and semantics of the expressive DL\(SHIQ\) [60] (although, as can be seen in chapter “Web Ontology Language: OWL”, the DL underlying OWL is, in some respects, slightly more expressive).

In contrast to most of the DLs considered in the literature, which concentrate on constructors for defining concepts, the DL \(SHIQ\) also allows for rather expressive roles. Of course, these roles can then be used in the definition of concepts.

Definition 1

(Syntax and semantics of \(SHIQ\)-rolesand concepts). Let R bea set of role names, which is partitioned into a set R+ of transitive roles and a set R P of normal roles. The set of all \(SHIQ\)-rolesis \(R \cup \{r^- | r \epsilon \textbf{R}\}\) ,where r is called the inverse of the role r.

Let C be a set of concept names. The set of \(SHIQ\) -concepts is the smallest set such that

  1. 1.

    every concept name AC is a \(SHIQ\)-concept,

  2. 2.

    if C and D are \(SHIQ\)-concepts and r is a \(SHIQ\)-role, then CD, CD, ¬C, \(\forall r.C\), and ∃r. C are \(SHIQ\)-concepts,

  3. 3.

    if C is a \(SHIQ\)-concept,r is a simple Footnote 6 \(SHIQ\)-role, and n, then ( ≤ nr. C) and ( ≥ nr. C) are \(SHIQ\)-concepts.

An interpretation \(I = ({\Delta }^{I},{\cdot }^{I})\) consists of a set \({\Delta }^{I}\), called the domain of \(I\), and a function \({\cdot }^{I}\) that maps every role to a subset of \({\Delta }^{I}\times {\Delta }^{I}\) such that, for all pR and rR+,

$$\begin{array}{rcl} \langle x,y\rangle \in {p}^{I}& \mbox{iff} & \langle y,x\rangle \in { ({p}^{-})}^{I}, \\ \mbox{if }\langle x,y\rangle \in {r}^{I}\mbox{ and }\langle y,z\rangle \in {r}^{I}& \mbox{ then }& \langle x,z\rangle \in {r}^{I}\end{array}$$
(.)

The interpretation function ⋅ of an interpretation \(I = ({\Delta }^{I},{\cdot }^{I})\) maps, additionally, every concept to a subset of \({\Delta }^{I}\) such that

$$\begin{array}{@{}rcl} {(C \sqcap D)}^{I}& =&{C}^{I}\cap {D}^{I},\quad \quad {(C \sqcup D)}^{I} = {C}^{I}\cup {D}^{I},\quad \quad \neg {C}^{I} = {\Delta }^{I}\setminus {C}^{I}, \\ {(\exists r.C)}^{I}& =&\{x \in {\Delta }^{I}\mathrel{\mid }\mbox{There is some }y \in {\Delta }^{I}\mbox{ with }\langle x,y\rangle \in {r}^{I}\mbox{ and }y \in {C}^{I}\}, \\ {(\forall r.C)}^{I}& =&\{x \in {\Delta }^{I}\mathrel{\mid }\mbox{For all }y \in {\Delta }^{I}\mbox{, if }\langle x,y\rangle \in {r}^{I},\mbox{then }y \in {C}^{I}\}, \\ {(\leq n\;r.C)}^{I}& =&\{x \in {\Delta }^{I}\mathrel{\mid }\sharp {r}^{I}(x,C) \leq n\}, \\ {(\geq n\;r.C)}^{I}& =&\{x \in {\Delta }^{I}\mathrel{\mid }\sharp {r}^{I}(x,C) \geq n\},\end{array}$$

where ♯M denotes the cardinality of the set M, and \({r}^{I}(x,C) :=\{ y\mathrel{\mid }\langle x,y\rangle \in {r}^{I}\mbox{ and }y \in {C}^{I}\}\). If xC, then we say that x is an instance of C in \(I\), and if ⟨x, y⟩ ∈ r, then y is called an r-successor of x in \(I\).

So far, we have fixed the syntax and semantics of concepts and roles. Next, we define how they can be used in a \(SHIQ\) TBox. Please note that authors sometimes distinguish between a role hierarchy or RBox and a TBox – we do not make this distinction here.

Definition 2

(TBox). A role inclusion axiom is of the form r ⊑ s,where r,sare \(SHIQ\)-roles.A general concept inclusion (GCI) is of the form C ⊑ D,where C,Dare \(SHIQ\)-concepts.

A finite set of role inclusion axioms and GCIs is called a TBox.

An interpretation \(I\) is a model of a TBox \(T\) if it satisfies all axioms in \(T\), i.e. C⊆ D holds for each \(C \sqsubseteq D \in T\) and r⊆ s holds for each \(r \sqsubseteq \in T\).

A concept definition is of the form A ≡ C, where A is a concept name; it can be seen as an abbreviation for the two GCIs A ⊑ C and C ⊑ A.

In addition to describing the relevant notions of an application domain, a DL knowledge base may also contain knowledge about the properties of specific individuals (or objects) existing in this domain. This done in the assertional part of the knowledge base (ABox).

Definition 3.

Let Ibe a set of individual names disjoint fromR andC. Fora,b ∈I individualnames, C a possiblycomplex \(SHIQ\)concept, and ra \(SHIQ\)role, an expression of the form

  • C(a) is called a concept assertion, and

  • r(a,b) is called a role assertion.

A finite set of concept and role assertions is called an ABox.

An interpretation function ⋅, additionally, is required to map every individual name a ∈I to an element a∈ Δ. An interpretation \(I\) satisfies

  • a concept assertion C(a) if a∈ C, and

  • a role assertion r(a,b) if ⟨a,b⟩∈ r.

An interpretation that satisfies each concept assertion and each role assertion in an ABox \(A\) is called a model of \(A\).

Inference problems for concepts are defined w.r.t. a TBox. Inference problems for individuals additionally involve an ABox.

Definition 4.

The concept Cis called satisfiable with respect to the TBox \(T\)iff there is a model \(I\)of \(T\)with \({C}^{I}\mathrel{\not =}\emptyset \).Such an interpretation is called a model of Cw.r.t. \(T\).The concept Dsubsumes the concept Cw.r.t. \(T\)(written \(C {\sqsubseteq }_{T}D\))if \({C}^{I}\subseteq {D}^{I}\)holds for all models \(I\)of \(T\).Two concepts C,Dare equivalent w.r.t. \(T\)(written \(C {\equiv }_{T}D\))if they subsume each other.

The ABox \(A\) is called consistent with respect to the TBox \(T\) iff there exists a model of \(T\) and \(A\). The individual a is called an instance of the concept C with respect to the TBox \(T\) and the ABox \(A\) iff a∈ C holds for all models of \(I\) of \(T\) and \(A\).

By definition, equivalence can be reduced to subsumption. In addition, subsumption can be reduced to satisfiability since \(C {\sqsubseteq }_{T}D\) iff C ⊓¬D is unsatisfiable w.r.t. \(T\). Satisfiability and the instance problem can be reduced to the consistency problem since C is satisfiable w.r.t. \(T\) if the ABox {C(a)} is consistent w.r.t. \(T\), and a is an instance of C w.r.t. \(T\) and \(A\) if the ABox \(A\cup \{\neg C(a)\}\) is inconsistent w.r.t. \(T\).

As mentioned above, most DLs are (decidable) fragments of (first-order) predicate logic [19, 5]. Viewing role names as binary relations, concept names as unary relations, and individual names as constants, for example, the role inclusion axiom r ⊑ s translates into \(\forall x\forall y.r(x,y) \rightarrow s(y,x)\), the concept assertion (A ⊓ B)(a) translates into A(a) ∧ B(a), and the GCI A ⊓∃r.C ⊑ D ⊔∀s.E translates into

$$\forall x.(A(x) \wedge \exists y.r(x,y) \wedge C(y)) \rightarrow (D(x) \vee \forall y.s(y,x) \rightarrow E(y)).$$

This translation preserves the semantics: we can easily view DL interpretations as predicate logic interpretations, and then prove, e.g. that each model of a concept C w.r.t. a TBox \(T\) is a model of the translation of C conjoined with the (universally quantified) translations of \(T\).

The reasoning services that can decide the inference problems introduced above can be implemented using various algorithmic techniques, including tableaux-based techniques (see chapter “Tableau-Based Reasoning”) and resolution-based techniques (see “Resolution-Based Reasoning for Ontologies”).

3 Describing Ontologies in \(SHIQ\)

In general, an ontology can be formalised in a DL knowledge base as follows. Firstly, we restrict the possible worlds by introducing restrictions on the allowed interpretations. For example, to express that, in our world, we want to consider humans, which are either muggles or sorcerers, we can use the GCIs

$$\text{Human} \sqsubseteq \text{Muggle} \sqcup \text{Sorcerer}\ \ \mbox{and}\ \ \text{Muggle} \sqsubseteq \neg \text{Sorcerer}.$$

Next, to express that humans have exactly two parents and that all parents and children of humans are human, we can use the following GCI:

$$\begin{array}{ll}{\rm Human} \sqsubseteq & \forall {\rm hasParent}.{\rm Human} \sqcap (\leq 2\;{\rm hasParent}.\top ) \sqcap (\geq 2\;{\rm hasParent}.\top ) \sqcap \\& \forall {\rm hasParent}^{-}.{\rm Human}, \\\end{array}$$

where ⊤ is an abbreviation for the top concept A ⊔¬A.Footnote 7

In addition, we consider the transitive role hasAncestor, and the role inclusion

$$\text{hasParent} \sqsubseteq \text{hasAncestor}.$$

The next GCI expresses that humans having an ancestor that is a sorcerer are themselves sorcerers:

$$\text{Human} \sqcap \exists \text{hasAncestor}.\text{Sorcerer} \sqsubseteq \text{Sorcerer}.$$

Secondly, we can define the relevant notions of our application domain using concept definitions. Recall that the concept definition A ≡ C stands for the two GCIs A ⊑ C and C ⊑ A. A concept name is called defined if it occurs on the left-hand side of a definition, and primitive otherwise.

We want our concept definitions to have definitional impact, i.e. the interpretation of the primitive concept and role names should uniquely determine the interpretation of the defined concept names. For this, the set of concept definitions together with the additional GCIs must satisfy three conditions:

  1. 1.

    There are no multiple definitions, i.e. each defined concept name must occur at most once as the left-hand side of a concept definition.

  2. 2.

    There are no cyclic definitions, i.e. no cyclic dependencies between the defined names in the set of concept definitions.Footnote 8

  3. 3.

    The defined names do not occur in any of the additional GCIs.

In contrast to concept definitions, the GCIs in \(SHIQ\) may well have cyclic dependencies between concept names. An example are the above GCIs describing humans.

As a simple example of a set of concept definitions satisfying the restrictions from above, we define the concepts grandparent and parentFootnote 9:

$$\begin{array}{rcl} \text{Parent}& \equiv & \text{Human} \sqcap \exists {\text{hasParent}}^{-}.\top , \\ \text{Grandparent}& \equiv & \exists {\text{hasParent}}^{-}.\text{Parent}\end{array}$$
(.)

The TBox consisting of the above concept definitions and GCIs, together with the fact that hasAncestor is a transitive superrole of hasParent, implies the following subsumption relationship:

$$\text{Grandparent} \sqcap \text{Sorcerer} \sqsubseteq \exists {\text{hasParent}}^{-}.\exists {\text{hasParent}}^{-}.\text{Sorcerer},$$

i.e. grandparents who are sorcerers have a grandchild who is a sorcerer. Though this conclusion may sound reasonable given the assumptions, it requires quite some reasoning to obtain it. In particular, one must use the fact that hasAncestor (and thus also hasAncestor ) is transitive, that hasParent is the inverse of hasParent, and that we have a GCI that says that children of humans are again humans.

To sum up, a \(SHIQ\)-TBox can, on the one hand, axiomatize the basic notions of an application domain (the primitive concepts) by GCIs, transitivity statements, and role inclusions, in the sense that these statements restrict the possible interpretations of the basic notions. On the other hand, more complex notions (the defined concepts) can be introduced by concept definitions. Given an interpretation of the basic notions, the concept definitions uniquely determine the interpretation of the defined notions.

The taxonomy of such a TBox is then given by the subsumption hierarchy of the defined concepts. It can be computed using a subsumption algorithm for \(SHIQ\) (see chapters “Tableau-Based Reasoning” and “Resolution-Based Reasoning for Ontologies”). The knowledge engineer can test whether the TBox captures her intuition by checking the satisfiability of the defined concepts (since it does not make sense to give a complex definition for the empty concept), and by checking whether their place in the taxonomy corresponds to their intuitive place. The taxonomy of our example TBox would contain, for example, the fact that Grandparent is subsumed by Parent which is, in turn, subsumed by Human – if this is not intended, then the knowledge engineer would need to go back and modify the TBox. The expressive power of \(SHIQ\) together with the fact that one can “verify” the TBox in the sense mentioned above is the main reason for \(SHIQ\) being well-suited as an ontology language [83, 43, 93].

In case we have, in addition to our TBox \(T\), also an ABox \(A\), we can first ask a DL reasoner to check whether \(A\) is consistent w.r.t. \(T\) to make sure that our assertions in \(A\) conform with the axioms expressed in \(T\). Consider the following ABox:

$$A =\{ \begin{array}{l} \text{Human}(\text{Harry}),\ \text{Sorcerer}(\text{Bob})\text{hasParent}(\text{Harry},\text{Bob})\}, \end{array}$$

and let \(T\) consist of all axioms in this section. We can first use a DL reasoner to prove that \(A\) is consistent w.r.t. \(T\). Next, we can query \(A\) through \(T\). For example, we can ask a DL reasoner to retrieve all instances of Human w.r.t. \(T\) and \(A\). This would result in Harry and Bob being returned: for the former, this information is explicit in \(A\), for the latter, this is implied by the GCI which states that parents of humans are humans. Similarly, both Harry and Bob are instances of Sorcerer w.r.t. \(T\) and \(A\): for Harry, this is a consequence of the GCI which states that offsprings of sorcerers are sorcerers. As a final example, let us point out that our ABox contains no instance of ∀hasParent.Sorcerer: even though all explicitly known parents of Harry are sorcerers, Harry could have other parents (and indeed must have another parent) who may or may not be a sorcerer – this feature of DL semantics is known as the “open world assumption” [5].

4 Extensions and Variants of \(SHIQ\)

The ontology language OWL extends \(SHIQ\) with nominals and concrete datatypes; see chapter “Web Ontology Language: OWL.” In this section, we discuss the consequences of these extensions on the reasoning problems in \(SHIQ\).

Concrete datatypes, as available in OWL, are a very restricted form of concrete domains [7]. For example, using the concrete domain of all nonnegative integers equipped with the < predicate, a (functional) role age relating (abstract) individuals to their (concrete) age, and a (functional) subrole father of hasParent, the following axiom states that children are younger than their fathers:

$$\text{Animal} \sqsubseteq (\text{age} < (\text{father} \circ \text{age})).$$

Extending expressive DLs with concrete domains may easily lead to undecidability [8, 68]. In OWL, however, no datatype predicates are supported – only XML schema datatypes (such as integer and string) and enumerations (such as {1,2,5,7}) can be used in descriptions. These restrictions are enough to ensure that decidability is not compromised (in fact in [77], decidability of \(SHIQ\) extended with a more general type of concrete domains is shown).

Concerning nominals, things become a bit more complicated: nominals are individual names used as concepts, as in Catholic ⊓∃hasSeen.{Pope} and thus allow the use of individuals not only in ABoxes, but also in concept expressions and TBoxes. Firstly, we can use the same (relativised axiomatization) technique as used for \(SHIQ\) in [94] to translate \(SHIQ\) extended with nominals into a fragment of C2, the two-variable fragment of first order logic with counting quantifiers [48, 76]. Since this translation is polynomial, satisfiability and subsumption are decidable in NExpTime. This is optimal since the problem is also NExpTime-hard [94]. Roughly speaking, the combination of GCIs (or transitive roles and role inclusions), inverse roles, and number restrictions with nominals is responsible for this leap in complexity (from ExpTime for \(SHIQ\) to NExpTime). Until recently, no “practicable” decision procedure for \(SHOIQ\), i.e. the extension of \(SHIQ\) with nominals, had been described, where by “practicable” we mean a decision procedure that works in some “goal-directed” way, in contrast to “blindly” guessing a model \(I\) of at most exponential size and then checking whether \(I\) is indeed a model of the input. An extension of the tableaux algorithm for \(SHIQ\) has, however, now been developed [59], has been successfully implemented in the FaCT++ andPellet systems, and seems to work well on realistic ontologies [90].

Finally, as mentioned above, it is quite straightforward to extend \(SHIQ\), or even \(SHOIQ\), with complex role inclusion axioms. The resulting DL, \(SROIQ\) [56], is the basis for a recent proposal to extend the OWL language, the extended language being called OWL 1.1.Footnote 10 In addition to complex role inclusion axioms, OWL 1.1 also supports qualified number restrictions, and more expressive datatypes than OWL.

5 Reasoning Beyond the Standard Inference Problems

As argued in the introduction, standard reasoning services for concepts (such as satisfiability and subsumption algorithms) can be used in different phases of the ontology life cycle. In the design phase, they can test whether concepts are non-contradictory and can derive implied relations between concepts. However, for these services to be applied, one already needs a sufficiently developed TBox. The result of reasoning can then be used to develop the TBox further. Until recently, however, DL systems provided no reasoning support for writing this initial TBox. The development of so-called non-standard inferences in DLs (like computing least common subsumers [32, 13, 65, 67], most specific concepts [10, 66], rewriting [14], approximation [26], and matching [20, 12, 11, 3]) tries to overcome this deficit. These kinds of inferences are sketched in the first subsection.

In the presence of ABoxes, one often wants to ask queries that are more complex than simple instance queries involving only one individual and one concept. So-called conjunctive queries, which are treated in the second subsection, overcome this deficit.

5.1 Non-standard Inferences

In this subsection, we will sketch how non-standard inferences can support building a DL knowledge base.

Assume that the knowledge engineer wants to introduce the definition of a new concept into the TBox. In many cases, she will not develop this new definition from scratch, but rather try to re-use things that are already present in some knowledge base (either the one she is currently building or a previous one). In a chemical process engineering application [82, 72], we have observed two ways in which this is realized in practice:

  1. 1.

    The knowledge engineer decides on the basic structure of the newly defined concept, and then tries to find already defined concepts that have a similar structure. These concepts can then be modified to obtain the new concept.

  2. 2.

    Instead of directly defining the new concept, the knowledge engineer first gives examples of objects that belong to the concept to be defined, and then tries to generalize these examples into a concept definition.

Both approaches can be supported by the non-standard inferences mentioned above, though this kind of support is not yet provided by any of the existing DL systems.

The first approach can be supported by matching concept patterns against concept descriptions. A concept pattern is a concept description that may contain variables that stand for descriptions. A matcher σ of a pattern D onto the description C replaces the variables by concept descriptions such that the resulting concept σ(D) is equivalent to C. For example, assume that the knowledge engineer is looking for concepts concerned with individuals having a son and a daughter sharing some characteristic. This can be expressed by the pattern

$$\exists \text{hasChild}.(\text{Male} \sqcap X) \sqcap \exists \text{hasChild}.(\text{Female} \sqcap X).$$

The substitution σ ={ X\mathrel{↦}Tall} shows that this pattern matches the description ∃hasChild.(MaleTall) ⊓∃hasChild.(FemaleTall). Note, however, that in some cases the existence of a matcher is not so obvious.

The second approach can be supported by algorithms that compute most specific concepts and least common subsumers. Assume that the examples are given asABox individuals \({i}_{1}, \ldots ,{i}_{k}\). In a first step, these individuals are generalized into concepts by respectively computing the most specific (w.r.t. subsumption) concepts \({C}_{1}, \ldots ,{C}_{k}\) in the available DL that have these individuals as instances. In a second step, these concepts are generalized into one concept by computing the least common subsumer of \({C}_{1}, \ldots ,{C}_{k}\), i.e. the least concept description (in the available DL) that subsumes \({C}_{1}, \ldots ,{C}_{k}\). In this context, rewriting of concepts comes into play since the concept descriptions produced by the algorithms for computing least common subsumers may be rather large (and thus not easy to comprehend and modify for the knowledge engineer). Rewriting minimizes the size of these description without changing their meaning by introducing names defined in the TBox.

Until now, the results on such non-standard inferences are restricted to DLs that are considerably less expressive than \(SHIQ\). For some of them, they only make sense if used for inexpressive DLs. For example, in DLs that contain the disjunction constructor, the least common subsumer of \({C}_{1}, \ldots ,{C}_{k}\) is simply their disjunction, and computing this is of no help to the knowledge engineer. What one would like to obtain as a result of the least common subsumer computation are the structural similarities between the input concepts.

Thus, support by non-standard inferences can only be given if one uses DLs of restricted expressive power. However, this also makes sense in the context of ontology engineering. In fact, the users that will require the most support are the naive ones, and it is reasonable to assume that they will not use (or even be offered) the full expressive power of the underlying DL. This two-level approach is already present in tools likeProtégé [64], which offer a frame-like user interface. Using this simple interface, one gets only a fragment of the expressive power of OWL. To use the full expressive power, one must type in DL expressions.

Another way to overcome the gap between DLs of different expressive power is to use the approximation inference [26]. Here, one tries to approximate a given concept description C in an expressive DL \({L}_{1}\) by a description D in a less expressive DL \({L}_{2}\). When approximating from above, D should be the least description in \({L}_{2}\) subsuming C, and when approximating from below, D should be the greatest description \({L}_{2}\) subsumed by C.

5.2 Queries

As we have seen in Sect. 3, given an ontology consisting of an ABox and possibly a TBox, we can retrieve instances of concepts from it, thereby explicating knowledge about concept instances in the given ontology. In this sense, we can use concepts as a query language. It has turned out, however, that this is a rather weak query language which does not allow one to query, for example, for humans whose parents are married. Continuing the example from Sect. 3, could express this query as a conjunctive query:

$$q(x) :\! -\text{Human}(x),\text{hasParent}(x,y),\text{hasParent}(x,z),\text{married}(y,z)$$

Conjunctive queries are well-known in the database community and have been suggested as an expressive query language for DLs [29]. Their answers can be sets of individual names from the ABox as in the example query above or, more generally, sets of tuples (if we have more than one answer variable). Roughly speaking, individual names from the ABox are in the answer set if, for each model of the ontology, we can find a match from the variables into the model’s domain such that all conjuncts in the query are satisfied. Hence, as in instance retrieval, all axioms in the ontology are taken fully into account when answering queries. However, in contrast to the standard reasoning problems, and especially instance retrieval, answering conjunctive queries cannot be reduced to consistency. This problem is, however, decidable for a variety of logics [29] and it turned out to remain decidable even if transitive roles are used in the query [44].

6 Conclusion

The emphasis in DL research on a well-defined, logic-based semantics and a thorough investigation of the basic reasoning problems, together with the availability of highly optimized systems for very expressive DLs, makes this family of knowledge representation formalisms an ideal starting point for defining ontology languages. The standard reasoning services such as consistency checking, computation of the taxonomy, testing for unsatisfiable concepts, and instance retrieval, are provided by highly optimised, state-of-the-art DL systems for very expressive DLs. Optimizations of these systems for large ABoxes and the implementation of conjunctive query answering algorithms are active research areas.

To be used in practice, the domain expert also needs tools that further support knowledge acquisition (i.e. building ontologies), maintenance (i.e. evolution of ontologies), and integration and inter-operation of ontologies. First steps in this direction have already been taken. For example,Protégé [64] andSWOOP [63] are tools that support the development of OWL ontologies. On a more fundamental level, non-standard inferences that support building and maintaining knowledge bases are now important topics of DL research. These include the inference problems discussed in Sect. 5.1 but also others that we have not discussed there due to space limitations: for example, tool support has been developed to explain subsumption and unsatisfiability and to repair unsatisfiable concepts (for example, see [87, 62]) and to support modular design and re-use of ontologies (for example, see [33]).

In this chapter we have concentrated on very expressive Description Logics that are the formal basis for the web ontology languageOWL. For the sake of completeness, we mention here some recent results on inexpressive DLs that are relevant in the context of ontology applications. Several bio-medical ontologies, such asSNOMED [92] and theGene Ontology [34], are based on rather inexpressive DLs, whose main distinguishing feature is that they disallow value restrictions (\(\forall r.C\)), but provide for existential restrictions (∃r.C). Recently, it has turned out that such inexpressive DLs with existential restrictions behave much better w.r.t. computational complexity than the corresponding DLs with value restrictions. For example, the subsumption problem in\(EL\), which allows for conjunction, existential restrictions, and the top concept, stays polynomial in the presence of (cyclic or acyclic) concept definitions [2] and even arbitrary GCIs [25]. In [4] it is shown that these polynomiality results also hold for extensions of \(EL\) by constructors that are of interest for ontology applications, such as the bottom concept (which allows disjointness statements to be formulated), nominals, a restricted form of concrete domains, and a restricted form of so-called role-value maps. A first implementation of the polynomial-time subsumption algorithm for such an extension of \(EL\) behaves well on very large bio-medical ontologies [15].