The Full Wiki

Description logic: Wikis


Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.


From Wikipedia, the free encyclopedia

Description logics (DL) are a family of formal knowledge representation languages. They are more expressive than propositional logic but have more efficient decision problems than first-order predicate logic.

DLs are used in Artificial Intelligence for formal reasoning on the concepts of an application domain (known as terminological knowledge). They are of particular importance in providing a logical formalism for Ontologies and the Semantic Web. The most notable application outside information science is in bioinformatics where DLs assist in the codification of medical knowledge.



A Description Logic (DL) models concepts, roles and individuals, and their relationships.

The fundamental modeling concept of a DL is the axiom - a logical statement relating roles and/or concepts[1]. This is a key difference from the frames paradigm where a frame specification declares and completely defines a class[2].



Differences from OWL

class concept
property role
individual object

Naming Convention

There are many varieties of Description Logics and there is an informal naming convention, roughly describing the operators allowed. The expressivity is encoded in the label for a logic using the following letters:

\mathcal{F} Functional properties.
\mathcal{E} Full existential qualification (Existential restrictions that have fillers other than owl:thing).
\mathcal{U} Concept union.
\mathcal{C} Complex concept negation.
\mathcal{S} An abbreviation for \mathcal{ALC} with transitive roles.
\mathcal{H} Role hierarchy (subproperties - rdfs:subPropertyOf).
\mathcal{R} Limited complex role inclusion axioms; reflexivity and irreflexivity; role disjointness.
\mathcal{O} Nominals. (Enumerated classes of object value restrictions - owl:oneOf, owl:hasValue).
\mathcal{I} Inverse properties.
\mathcal{N} Cardinality restrictions (owl:Cardinality, owl:MaxCardinality).
\mathcal{Q} Qualified cardinality restrictions (available in OWL 2, cardinality restrictions that have fillers other than owl:thing).
^\mathcal{(D)} Use of datatype properties, data values or data types.


As an example, \mathcal{ALC} is a centrally important description logic from which comparisons with other varieties can be made. \mathcal{ALC} is simply \mathcal{AL} with complement of any concept allowed, not just atomic concepts.

A further example, the description logic \mathcal{SHIQ} is the logic \mathcal{ALC} plus extended cardinality restrictions, and transitive and inverse roles. The naming conventions aren't purely systematic so that the logic \mathcal{ALCOIN} might be referred to as \mathcal{ALCNIO} and abbreviations are made where possible, \mathcal{ALC} is used instead of the equivalent \mathcal{ALUE}.

The Protégé ontology editor supports \mathcal{SHOIN}^\mathcal{(D)}. Three major bioinformatic terminology bases, Snomed, Galen, and GO, are expressible in \mathcal{EL} (with additional role properties).

OWL 2 provides the expressiveness of \mathcal{SROIQ}^\mathcal{(D)}, OWL-DL is based on \mathcal{SHOIN}^\mathcal{(D)}, and for OWL-Lite it is \mathcal{SHIF}^\mathcal{(D)}.


Some canonical DLs that do not exactly fit this convention are:

\mathcal{AL} Attributive language. This is the base language which allows:
  • Atomic negation (negation of concepts that do not appear on the left hand side of axioms)
  • Concept intersection
  • Universal restrictions
  • Limited existential quantification
\mathcal{FL}_o A sub-language of \mathcal{FL^-}, which is obtained by disallowing limited existential quantification.
\mathcal{EL} Intersection and full existential restriction.


Description logic (DL) was given its current name in the 1980s. Previous to this it was called (chronologically): terminological systems, and concept languages.

Knowledge Representation

Frames and semantic networks lack formal (logic-based) semantics[3]. DLs were first introduced into Knowledge Representation (KR) systems to overcome this deficiency[4].

The first DL-based KR system was KL-ONE (by Brachman and Schmolze, 1985). During the 80's other DL-based systems using structural subsumption algorithms[5] were developed including KRYPTON (1983), LOOM (1987), BACK (1988), K-REP (1991) and CLASSIC (1991). This approach featured DLs with limited expressiveness but relatively efficient (polynomial time) reasoning [6].

In the early 90's, the introduction of a new tableau based algorithm paradigm allowed efficient reasoning on more expressive DLs[7]. DL-based systems using these algorithms - such as KRIS (1991) - show acceptable reasoning performance on typical inference problems even though the worst case complexity is no longer polynomial[8]. From the mid 90's, reasoners were created with good practical performance on very expressive DLs with high worst case complexity[9]. Examples from this period include FaCT (1998), RACER (2001), CEL (2005), and KAON 2 (2005).

Semantic Web

The DARPA Agent Markup Language (DAML) and Ontology Inference Layer (OIL) ontology languages for the semantic web can be viewed as syntactic variants of DLs[10]. In particular, the formal semantics and reasoning in OIL use the \mathcal{SHIQ} DL [11]. The DAML+OIL DL was developed as a submission to[12] - and formed the starting point of - the World Wide Web Consortium (W3C) Web Ontology Working Group[13]. In 2004, the Web Ontology Working Group completed its work by issuing the OWL[14] recommendation. The design of OWL is based on the \mathcal{SH} family of DLs[15] with OWL DL and OWL Lite based on \mathcal{SHOIN}^\mathcal{(D)} and \mathcal{SHIF}^\mathcal{(D)} respectively[16].

The W3C OWL Working Group began work in 2007 on a refinement of - and extension to - OWL[17]. In 2009, this was completed by the issuance of the OWL2 recommendation[18]. Practical experience demonstrated that OWL DL lacked several key features necessary to model complex domains[19].


In DLs, a distinction is drawn between the so-called TBox (terminological box) and the ABox (assertional box). In general, the TBox contains sentences describing concept hierarchies (i.e., relations between concepts) while the ABox contains ground sentences stating where in the hierarchy individuals belong (i.e., relations between individuals and concepts). For example, the statement:

(1) Every employee is a person

belongs in the TBox, while the statement:

(2) Bob is an employee

belongs in the ABox.

Note that the TBox/ABox distinction is not significant, in the same sense that the two "kinds" of sentences are not treated differently in first-order logic (which subsumes most DLs). When translated into first-order logic, a subsumption axiom like (1) is simply a conditional restriction to unary predicates (concepts) with only variables appearing in it. Clearly, a sentence of this form is not privileged or special over sentences in which only constants ("grounded" values) appear like (2).

So why was the distinction introduced? The primary reason is that the separation can be useful when describing and formulating decision-procedures for various DLs. For example, a reasoner might process the TBox and ABox separately, in part because certain key inference problems are tied to one but not the other one ('classification' is related to the TBox, 'instance checking' to the ABox). Another example is that the complexity of the TBox can greatly affect the performance of a given decision-procedure for a certain DL, independently of the ABox. Thus, it is useful to have a way to talk about that specific part of the knowledge base.

The secondary reason is that the distinction can make sense from the knowledge base modeler's perspective. It is plausible to distinguish between our conception of terms/concepts in the world (class axioms in the TBox) and particular manifestations of those terms/concepts (instance assertions in the ABox). In the above example: when the hierarchy within a company is the same in every branch but the assignment to employees is different in every department (because there are other people working there), this distinction makes sense to reuse the TBox for different branches.

There are two features of Description Logics that are not shared by most other data description formalisms: DLs do not make the Unique Name Assumption (UNA) or the Closed World Assumption (CWA). Not having UNA means that two concepts with different names may be allowed by some inference to be shown to be equivalent. Not having CWA, or rather having the Open World Assumption (OWA) means that lack of knowledge of a fact does not immediately imply knowledge of the negation of a fact.

Formal Description

Like first order logic (FOL), a syntax defines which collections of symbols are legal expressions in a Description Logic (DL), and semantics determine meaning. Unlike FOL, a DL may have several well known syntactic variants [20].


The syntax of a member of the description logic family is characterized by its recursive definition, in which the constructors that can be used to form concept terms are stated. Some constructors are related to logical constructors in first-order logic (FOL) such as intersection or conjunction of concepts, union or disjunction of concepts, negation or complement of concepts, universal restriction and existential restriction. Other constructors have no corresponding construction in FOL including restrictions on roles for example, inverse, transitivity and functionality.


Let C and D be concepts, a and b be individuals, and R be a role.

Conventional Notation
Symbol Description Example Read
\top all concept names \top top
\bot empty concept \bot bottom
\sqcap intersection or conjunction of concepts C \sqcap D C and D
\sqcup union or disjunction of concepts C \sqcup D C or D
\neg negation or complement of concepts \neg C not C
\forall universal restriction \forall R.C all R-successors are C
\exists existential restriction \exists R.C an R-successor exists in C
\sqsubseteq Concept inclusion C \sqsubseteq D all C are D
\equiv Concept equivalence C \equiv D C is equivalent to D
\dot = Concept definition C \dot = D C is defined to be equal to D
: Concept assertion a:C a is a C
: Role assertion (a,b):R a is R-related to b

The Description Logic ALC

The prototypical DL Attributive Concept Language with Complements (\mathcal{ALC}) was introduced by Manfred Schmidt-Schauß and Gert Smolka in 1991, and is the basis of many more expressive DLs[21]. The following definitions follow the treatment in Baader et al[22].

Let NC, NR and NO be (respectively) sets of concept names (also known as an atomic concepts), role names and individual names (also known as individuals or objects). Then the ordered triple (NC, NR, NO ) is the signature.


The set of \mathcal{ALC} concepts is the smallest set such that:

  • The following are concepts:
    • \top (top is a concept)
    • \bot (bottom is a concept)
    • Every A \in N_C (all atomic concepts are concepts)
  • If C and D are concepts and R \in N_R then the following are concepts:
    • C\sqcap D (the conjunction of two concepts is a concept)
    • C\sqcup D (the disjunction of two concepts is a concept)
    • \neg C (the complement of a concept is a concept)
    • \forall R.C (the universal restriction of a concept by a role is a concept)
    • \exists R.C (the existential restriction of a concept by a role is a concept)
Terminological Axioms

A general concept inclusion (GCI) has the form C \sqsubseteq D where C and D are concepts. Write C \dot = D when C \sqsubseteq D and D \sqsubseteq C. A TBox is any finite set of GCIs.

Assertional Axioms
  • A concept assertion is a statement of the form a:C where a \in N_O and C is a concept.
  • A role assertion is a statement of the form (a,b):R where a, b \in N_O and R is a role.

An ABox is a finite set of assertional axioms.

Knowledge Base

A knowledge base (KB) is an ordered pair (\mathcal{T}, \mathcal{A}) for TBox \mathcal{T} and ABox \mathcal{A}.


The semantics of description logics is defined by interpreting concepts as sets of individuals and roles as sets of pairs of individuals. Those individuals are typically assumed from a given domain. The semantics of non atomic concepts and roles is then defined in terms of atomic concepts and roles. This is done by using a recursive definition similar to the syntax.

The Description Logic ALC

The following definitions follow the treatment in Baader et al[23].

A terminological interpretation \mathcal{I}=(\Delta^{\mathcal{I}}, \cdot^{\mathcal{I}}) over a signature (NC,N R,NO) consists of

  • a non-empty set \Delta^{\mathcal{I}} called the domain
  • a interpretation function \cdot^{\mathcal{I}} that maps:
    • every individual a to an element a^{\mathcal{I}} \in \Delta^{\mathcal{I}}
    • every concept to a subset of \Delta^{\mathcal{I}}
    • every role name to a subset of \Delta^{\mathcal{I}} \times \Delta^{\mathcal{I}}

such that

Define \mathcal{I} \models (read I models) as follows

  • \mathcal{I} \models C \sqsubseteq D if and only if C^{\mathcal{I}} \subseteq D^{\mathcal{I}}
  • \mathcal{I} \models \mathcal{T} if and only if \mathcal{I} \models t for every t \in \mathcal{T}
  • \mathcal{I} \models a : C if and only if a^{\mathcal{I}} \in C^{\mathcal{I}}
  • \mathcal{I} \models (a,b) : R if and only if (a^{\mathcal{I}},b^{\mathcal{I}}) \in R^{\mathcal{I}}
  • \mathcal{I} \models \mathcal{A} if and only if \mathcal{I} \models a for every a \in \mathcal{A}
Knowledge Base

Let \mathcal{K} = (\mathcal{T}, \mathcal{A}) be a knowledge base.

  • \mathcal{I} \models \mathcal{K} if and only if \mathcal{I} \models \mathcal{T} and \mathcal{I} \models \mathcal{A}


Decision Problems

In addition to the ability to describe concepts formally, one also would like to employ the description of a set of concepts to ask questions about the concepts and instances described. The most common decision problems are basic database-query-like questions like instance checking (is a particular instance (member of an A-box) a member of a given concept) and relation checking (does a relation/role hold between two instances, in other words does a have property b), and the more global-database-questions like subsumption (is a concept a subset of another concept), and concept consistency (is there no contradiction among the definitions or chain of definitions). The more operators one includes in a logic and the more complicated the T-box (having cycles, allowing non-atomic concepts to include each other), usually the higher the computational complexity is for each of these problems (see Navigator on Description Logic Complexity for examples).

Relationship With Other Logics

First Order Logic

Many Description Logics (DLs) are decidable fragments of first order logic (FOL)[24]. Some DLs now include operations (for example, transitive closure of roles) that allow efficient inference but cannot be expressed in FOL[25].

Fuzzy Description Logics

Fuzzy description logic combines fuzzy logic with DLs. Since many concepts that are needed for intelligent systems lack well defined boundaries, or precisely defined criteria of membership, we need fuzzy logic to deal with notions of vagueness and imprecision. This offers a motivation for a generalization of description logics towards dealing with imprecise and vague concepts.

What people should also think about for intelligent systems is multiple viewpoints of the data. This will lead to subjective (as opposed to objective) intelligent systems.

Modal Logics

Description Logics (DLs) are related to - but developed independently of - Modal Logic (ML)[26]. Many - but not all - DLs are syntactic variants of MLs[27].


Syntactic Variants
\mathcal{ALC} K[28]

Temporal Description Logics

Temporal Description Logics represent - and allow reasoning about - time dependent concepts and many different approaches to this problem exist[29]. For example, a description logic might be combined with a modal temporal logic such as Linear temporal logic.



There are some reasoners to deal with OWL and Description Logics. These are some of the most popular:

  • CEL is a free (for non-commercial use) LISP-based reasoner
  • Cerebra Engine was a commercial C++-based reasoner, acquired in 2006 by webMethods.
  • FaCT++ is a free open-source C++-based reasoner.
  • KAON2 is a free (free for non-commercial usage) Java reasoner.
  • MSPASS is a free open-source C reasoner for numerous description logics.
  • Pellet is a dual-licensed (AGPL and proprietary) commercial, Java-based reasoner.
  • RacerPro of Racer Systems is a commercial (free trials and research licenses are available) lisp-based reasoner.
  • Sim-DL is a free open-source Java-based reasoner for the language ALCHQ. It also provides a similarity measurement functionality between concepts. To access this functionality a Protégé plugin can be used.
  • HermiT is an open source reasoner based on the hypertableaux calculus. It is developed by the University of Oxford.

DL reasoners, such as FaCT, FaCT++, RACER, DLP and Pellet, implement the analytic tableau method. KAON2 is implemented by algorithms which reduce a SHIQ(D) knowledge base to a disjunctive datalog program.


  • Protégé is a free, open source ontology editor and knowledge-base framework, which can use DL reasoners which offer a DIG interface as backends for consistency checks.
  • SWOOP is an open source ontology editor originally developed at the University of Maryland.


See also


  1. ^ Grau et al 2008, p4
  2. ^ Grau et al 2008, p4
  3. ^ Baader et al 2007, p4
  4. ^ Baader et al 2007, p4
  5. ^ Baader et al 2007, p4
  6. ^ Baader et al 2007, p4
  7. ^ Baader et al 2007, p4
  8. ^ Baader et al 2007, p4
  9. ^ Baader et al 2007, p4
  10. ^ Horrocks and Sattler 2001, p1
  11. ^ Fensel et al, 2001
  12. ^ Horrocks and Patel-Schneider 2001, p1
  13. ^ Web Ontology Working Group Charter, 2003
  14. ^ W3C Press Release, 2004
  15. ^ Ian Horrocks, Patel-Schneider, van Harmelen 2003, p6
  16. ^ Ian Horrocks, Patel-Schneider, van Harmelen 2003, p19
  17. ^ OWL Working Group Charter, 2007
  18. ^ W3C Press Release, 2009
  19. ^ Grau et all 2008, p2
  20. ^ Horrocks and Sattler 2001, p1
  21. ^ Baader et al 2007, p5
  22. ^ Baader et al 2007, p5
  23. ^ Baader et al 2007, p5
  24. ^ Baader et al 2007, p9
  25. ^ Baader et al 2007, p9
  26. ^ Baader et al 2007, p11
  27. ^ Baader et al 2007, p11
  28. ^ Baader et al 2007, p11
  29. ^ Artale and Franconi 2005, p1


Further Reading

External Links


Got something to say? Make a comment.
Your name
Your email address