Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Description logic
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{short description|Family of formal knowledge representation}} '''Description logics''' ('''DL''') are a family of formal [[knowledge representation]] languages. Many DLs are more expressive than [[propositional logic]] but less expressive than [[first-order logic]]. In contrast to the latter, the core reasoning problems for DLs are (usually) [[Decidability (logic)|decidable]], and efficient decision procedures have been designed and implemented for these problems. There are general, spatial, temporal, spatiotemporal, and fuzzy description logics, and each description logic features a different balance between [[Expressive power (computer science)|expressive power]] and [[Knowledge representation and reasoning|reasoning]] [[Complexity class|complexity]] by supporting different sets of mathematical constructors.<ref>{{cite book |last=Sikos |first=Leslie F. |date=2017 |title=Description Logics in Multimedia Reasoning |url=https://www.springer.com/us/book/9783319540658 |location=Cham |publisher=Springer International Publishing |isbn=978-3-319-54066-5 |doi=10.1007/978-3-319-54066-5 |s2cid=3180114 }}</ref> DLs are used in [[artificial intelligence]] to describe and reason about the relevant concepts of an application domain (known as ''terminological knowledge''). It is of particular importance in providing a logical formalism for [[Ontology (information science)|ontologies]] and the [[Semantic Web]]: the [[Web Ontology Language]] (OWL) and its profiles are based on DLs. The most notable application of DLs and OWL is in [[biomedical informatics]] where DL assists in the codification of biomedical knowledge.{{Citation needed|reason=How was this decided? By whom? Need reference to sources which summarize biomedical KBs and also a comparison to other domains which use it, eg military intelligenc, climate modeling|date=June 2022}} ==Introduction== 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.<ref name="GHMPPS">{{Cite journal | last1 = Grau | first1 = B. C. | last2 = Horrocks | first2 = I. | author-link2 = Ian Horrocks| last3 = Motik | first3 = B. | last4 = Parsia | first4 = B. | last5 = Patel-Schneider | first5 = P. F. | last6 = Sattler | first6 = U. | author-link6 = Ulrike Sattler| doi = 10.1016/j.websem.2008.05.001 | title = OWL 2: The next step for OWL | journal = Web Semantics: Science, Services and Agents on the World Wide Web | volume = 6 | issue = 4 | pages = 309–322 | year = 2008 | url = http://www.cs.ox.ac.uk/boris.motik/pubs/ghmppss08next-steps.pdf}}</ref> This is a key difference from the [[semantic frames|frame]]s paradigm where a ''frame specification'' declares and completely defines a class.<ref name="GHMPPS"/> ==Nomenclature== ===Terminology compared to FOL and OWL=== The description logic community uses different terminology than the [[first-order logic]] (FOL) community for operationally equivalent notions; some examples are given below. The [[Web Ontology Language]] (OWL) uses again a different terminology, also given in the table below. {| class="wikitable sortable" |+ Synonyms |- ! FOL ! OWL ! DL !Examples |- | constant | individual | individual |Mickey Mouse, Walter Elias Mouse, Paris, France, etc. |- | unary predicate | class | concept |(Being a) person, a city, a country, etc. |- | binary predicate | property | role |father of, located in, etc. |} ===Naming convention=== There are many varieties of description logics and there is an informal naming convention, roughly describing the operators allowed. The [[Expressive power (computer science)|expressivity]] is encoded in the label for a logic starting with one of the following basic logics: {| |- |<math>\mathcal{AL}</math> ||Attributive language. This is the base language which allows: |- | || * Atomic negation (negation of concept names that do not appear on the left-hand side of axioms) * Concept intersection * Universal restrictions * Limited existential quantification |- | || |- |<math>\mathcal{FL}</math> ||Frame based description language,<ref>{{cite journal | last1 = Levesque | first1 = Hector J. | author1-link = Hector Levesque | last2 = Brachmann | first2 = Ronald J. | author2-link = Ronald Brachman | title = Expressiveness and tractability in knowledge representation and reasoning | journal = [[Computational Intelligence (journal)|Computational Intelligence]] | volume = 3 | pages = 78–93 | year = 1987 | number = 3| doi = 10.1111/j.1467-8640.1987.tb00176.x | s2cid = 30031046 }}</ref> allows: |- | || * Concept intersection * Universal restrictions * Limited existential quantification * Role restriction |- | || |- |<math>\mathcal{EL}</math> ||Existential language, allows: |- | || * Concept intersection * Existential restrictions (of full existential quantification) |} Followed by any of the following extensions: {| |- |<math>\mathcal{F}</math> ||Functional properties, a special case of [[uniqueness quantification]]. |- | || |- |<math>\mathcal{E}</math> ||Full existential qualification (existential restrictions that have fillers other than <math>\top</math>). |- | || |- |<math>\mathcal{U}</math> ||Concept union. |- | || |- |<math>\mathcal{C}</math> ||Complex concept negation. |- | || |- |<math>\mathcal{H}</math> ||Role hierarchy (subproperties: <code>rdfs:subPropertyOf</code>). |- | || |- |<math>\mathcal{R}</math> ||Limited complex role inclusion axioms; reflexivity and irreflexivity; role disjointness. |- | || |- |<math>\mathcal{O}</math> ||Nominals. (Enumerated classes of object value restrictions: <code>owl:oneOf</code>, <code>owl:hasValue</code>). |- | || |- |<math>\mathcal{I}</math> ||Inverse properties. |- | || |- |<math>\mathcal{N}</math> ||Cardinality restrictions (<code>owl:cardinality</code>, <code>owl:maxCardinality</code>), a special case of [[counting quantification]] |- | || |- |<math>\mathcal{Q}</math> ||Qualified cardinality restrictions (available in OWL 2, cardinality restrictions that have fillers other than <math>\top</math>). |- | || |- |<math>^\mathcal{(D)}</math> ||Use of datatype properties, data values or data types. |} ====Exceptions==== Some canonical DLs that do not exactly fit this convention are: {| |- |<math>\mathcal{S}</math> ||An abbreviation for <math>\mathcal{ALC}</math> with transitive roles. |- | || |- |<math>\mathcal{FL^-}</math> ||A sub-language of <math>\mathcal{FL}</math>, which is obtained by disallowing role restriction. This is equivalent to <math>\mathcal{AL}</math> without atomic negation. |- | || |- |<math>\mathcal{FL}_o</math>||A sub-language of <math>\mathcal{FL^-}</math>, which is obtained by disallowing limited existential quantification. |- | || |- |<math>\mathcal{EL^{++}}</math>||Alias for <math>\mathcal{ELRO}</math>.<ref>{{cite journal | first1 = Frederick | last1 = Maier | first2 = Raghava | last2 = Mutharaju | first3 = Pascal | last3 = Hitzler |author-link3=Pascal Hitzler | title = Distributed Reasoning with EL++ Using MapReduce | journal = Computer Science and Engineering Faculty Publications | url = http://corescholar.libraries.wright.edu/cse/243/ | year = 2010 | publisher = Technical Report, Kno.e.sis Center, Wright State University, Dayton, Ohio | access-date = 2016-08-24}}</ref> |} ====Examples==== As an example, <math>\mathcal{ALC}</math> is a centrally important description logic from which comparisons with other varieties can be made. <math>\mathcal{ALC}</math> is simply <math>\mathcal{AL}</math> with complement of any concept allowed, not just atomic concepts. <math>\mathcal{ALC}</math> is used instead of the equivalent <math>\mathcal{ALUE}</math>. A further example, the description logic <math>\mathcal{SHIQ}</math> is the logic <math>\mathcal{ALC}</math> plus extended cardinality restrictions, and transitive and inverse roles. The naming conventions aren't purely systematic so that the logic <math>\mathcal{ALCOIN}</math> might be referred to as <math>\mathcal{ALCNIO}</math> and other abbreviations are also made where possible. The Protégé ontology editor supports <math>\mathcal{SHOIN}^\mathcal{(D)}</math>. Three major biomedical informatics terminology bases, [[SNOMED CT]], GALEN, and GO, are expressible in <math>\mathcal{EL}</math> (with additional role properties). OWL 2 provides the expressiveness of <math>\mathcal{SROIQ}^\mathcal{(D)}</math>, OWL-DL is based on <math>\mathcal{SHOIN}^\mathcal{(D)}</math>, and for OWL-Lite it is <math>\mathcal{SHIF}^\mathcal{(D)}</math>. ==History== Description logic was given its current name in the 1980s. Previous to this it was called (chronologically): ''terminological systems'', and ''concept languages''. ===Knowledge representation=== [[semantic frames|Frame]]s and [[semantic network]]s lack formal (logic-based) semantics.<ref name="DLHB">Franz Baader, Ian Horrocks, and Ulrike Sattler ''Chapter 3 Description Logics''. In Frank van Harmelen, Vladimir Lifschitz, and Bruce Porter, editors, ''Handbook of Knowledge Representation''. Elsevier, 2007.</ref> DL was first introduced into [[knowledge representation]] (KR) systems to overcome this deficiency.<ref name="DLHB"/> The first DL-based KR system was [[KL-ONE]] (by [[Ronald J. Brachman]] and Schmolze, 1985). During the '80s other DL-based systems using ''structural subsumption algorithms''<ref name="DLHB"/> were developed including KRYPTON (1983), [[LOOM (ontology)|LOOM]] (1987), BACK (1988), K-REP (1991) and CLASSIC (1991). This approach featured DL with limited expressiveness but relatively efficient (polynomial time) reasoning.<ref name="DLHB"/> In the early '90s, the introduction of a new ''tableau based algorithm'' paradigm allowed efficient reasoning on more expressive DL.<ref name="DLHB"/> 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.<ref name="DLHB"/> From the mid '90s, reasoners were created with good practical performance on very expressive DL with high worst case complexity.<ref name="DLHB"/> Examples from this period include FaCT,<ref name="fact">{{Cite book | last1 = Tsarkov | first1 = D. | last2 = Horrocks | first2 = I. | chapter = FaCT++ Description Logic Reasoner: System Description | doi = 10.1007/11814771_26 | chapter-url = http://www.cs.ox.ac.uk/ian.horrocks/Publications/download/2006/TsHo06a.pdf| title = Automated Reasoning | series = Lecture Notes in Computer Science | volume = 4130 | pages = 292–297 | year = 2006 | isbn = 978-3-540-37187-8 | citeseerx = 10.1.1.65.2672 }}</ref> [[RACER system|RACER]] (2001), CEL (2005), and [[KAON|KAON 2]] (2005). DL reasoners, such as FaCT, FaCT++,<ref name="fact"/> RACER, DLP and Pellet,<ref>{{Cite journal | last1 = Sirin | first1 = E. | last2 = Parsia | first2 = B. | last3 = Grau | first3 = B. C. | last4 = Kalyanpur | first4 = A. | last5 = Katz | first5 = Y. | title = Pellet: A practical OWL-DL reasoner | url = http://pellet.owldl.com/papers/sirin05pellet.pdf | doi = 10.1016/j.websem.2007.03.004 | journal = Web Semantics: Science, Services and Agents on the World Wide Web | volume = 5 | issue = 2 | pages = 51–53 | year = 2007 | s2cid = 101226 | url-status = dead | archive-url = https://web.archive.org/web/20070627202215/http://pellet.owldl.com/papers/sirin05pellet.pdf | archive-date = 2007-06-27 }}</ref> implement the [[method of analytic tableaux]]. KAON2 is implemented by algorithms which reduce a SHIQ(D) knowledge base to a disjunctive [[datalog]] program. ===Semantic web=== The [[DARPA Agent Markup Language]] (DAML) and [[Ontology Inference Layer]] (OIL) [[Ontology Language|ontology languages]] for the [[Semantic Web]] can be viewed as [[Syntax (logic)|syntactic]] variants of DL.<ref name="HS">Ian Horrocks and Ulrike Sattler ''Ontology Reasoning in the SHOQ(D) Description Logic'', in ''Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence'', 2001.</ref> In particular, the formal semantics and reasoning in OIL use the <math>\mathcal{SHIQ}</math> DL.<ref>{{Cite journal | last1 = Fensel | first1 = D. | last2 = Van Harmelen | first2 = F. | last3 = Horrocks | first3 = I. | last4 = McGuinness | first4 = D. L. | last5 = Patel-Schneider | first5 = P. F. | title = OIL: An ontology infrastructure for the Semantic Web | doi = 10.1109/5254.920598 | journal = [[IEEE Intelligent Systems]] | volume = 16 | issue = 2 | pages = 38–45 | year = 2001 | citeseerx = 10.1.1.307.9456 }}</ref> The [[DAMLplusOIL|DAML+OIL]] DL was developed as a submission to<ref>Ian Horrocks and Peter F. Patel-Schneider ''The Generation of DAML+OIL''. In ''Proceedings of the 2001 Description Logic Workshop (DL 2001)'', volume 49 of CEUR <http://ceur-ws.org/>, pages 30–35, 2001.</ref>—and formed the starting point of—the [[World Wide Web Consortium]] (W3C) Web Ontology Working Group.<ref>Web Ontology Working Group Charter, 2003</ref> In 2004, the Web Ontology Working Group completed its work by issuing the [[Web Ontology Language|OWL]]<ref>W3C Press Release, 2004</ref> recommendation. The design of OWL is based on the <math>\mathcal{SH}</math> family of DL<ref name="HPH">{{Cite journal | last1 = Horrocks | first1 = I. | author-link1 = Ian Horrocks| last2 = Patel-Schneider | first2 = Peter| last3 = van Harmelen | first3 = Frank| author-link3 = Frank van Harmelen| doi = 10.1016/j.websem.2003.07.001 | url = http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/2003/HoPH03a.pdf| title = From SHIQ and RDF to OWL: The making of a Web Ontology Language | journal = Web Semantics: Science, Services and Agents on the World Wide Web | volume = 1 | pages = 7–26 | year = 2003 | citeseerx = 10.1.1.2.7039 | s2cid = 8277015 }}</ref> with OWL DL and OWL Lite based on <math>\mathcal{SHOIN}^\mathcal{(D)}</math> and <math>\mathcal{SHIF}^\mathcal{(D)}</math> respectively.<ref name="HPH"/> The W3C OWL Working Group began work in 2007 on a refinement of - and extension to - OWL.<ref>OWL Working Group Charter, 2007</ref> In 2009, this was completed by the issuance of the [[Web Ontology Language|OWL2]] recommendation.<ref name='owl2.primer'>{{cite web |url=http://www.w3.org/TR/2009/REC-owl2-primer-20091027/ |title=OWL 2 Web Ontology Language Primer |last1=Hitzler |first1=Pascal | author-link1=Pascal Hitzler |last2=Krötzsch |first2=Markus | author-link2=Markus Krötzsch |last3=Parsia |first3=Bijan | author-link3=Bijan Parsia |last4=Patel-Schneider |first4=Peter F. | author-link4=Peter F. Patel-Schneider |last5=Rudolph |first5=Sebastian | author-link5=Sebastian Rudolph |date=27 October 2009 |work=OWL 2 Web Ontology Language |publisher=World Wide Wed Consortium |access-date=2010-12-14}}</ref> OWL2 is based on the description logic <math>\mathcal{SROIQ}^\mathcal{(D)}</math>.<ref>{{cite book |title=Foundations of Semantic Web Technologies |author1=Pascal Hitzler | author-link1=Pascal Hitzler|author2=Markus Krötzsch |author3=Sebastian Rudolph |publisher=CRCPress |date=August 25, 2009 |isbn=978-1-4200-9050-5 |url=http://www.semantic-web-book.org}}</ref> Practical experience demonstrated that OWL DL lacked several key features necessary to model complex domains.<ref name="GHMPPS"/> ==Modeling== === TBox vs Abox === In DL, a distinction is drawn between the so-called [[abox|TBox]] (terminological box) and the [[ABox]] (assertional box). In general, the TBox contains sentences describing concept hierarchies (i.e., relations between [[concept]]s) while the ABox contains [[ground sentence]]s stating where in the hierarchy, individuals belong (i.e., relations between individuals and concepts). For example, the statement: {{NumBlk|:|Every employee is a person|{{EquationRef|1}}}} belongs in the TBox, while the statement: {{NumBlk|:|Bob is an employee|{{EquationRef|2}}}} 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 DL). When translated into first-order logic, a subsumption [[axiom]] like ({{EquationNote|1}}) is simply a conditional restriction to [[unary operation|unary]] [[Predicate (logic)|predicate]]s (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 ({{EquationNote|2}}). === Motivation for having Tbox and Abox === So why was the distinction introduced? The primary reason is that the separation can be useful when describing and formulating decision-procedures for various DL. 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), it makes sense to reuse the TBox for different branches that do not use the same ABox. There are two features of description logic that are not shared by most other data description formalisms: DL does 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 (logic)|syntax]] defines which collections of symbols are legal expressions in a description logic, and [[semantics]] determine meaning. Unlike FOL, a DL may have several well known syntactic variants.<ref name="HS"/> ===Syntax=== 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 (set theory)|intersection]]'' or ''[[logical conjunction|conjunction]]'' of concepts, ''[[union (set theory)|union]]'' or ''[[disjunction]]'' of concepts, ''[[negation]]'' or ''[[complement (set theory)|complement]]'' of concepts, ''[[Universal quantifier|universal restriction]]'' and ''[[Existential quantifier|existential restriction]]''. Other constructors have no corresponding construction in FOL including restrictions on roles for example, inverse, [[transitive relation|transitivity]] and functionality. ====Notation==== Let C and D be concepts, a and b be individuals, and R be a role. If a is R-related to b, then b is called an R-successor of a. {| style="width:100%;" class="wikitable sortable" |+ Conventional Notation |- ! Symbol ! Description ! Example ! Read |- | <math>\top</math> | ⊤ is a special concept with every individual as an instance | <math>\top</math> | top |- | <math>\bot</math> | [[empty set|empty]] concept | <math>\bot</math> | bottom |- | <math>\sqcap</math> | ''[[intersection (set theory)|intersection]]'' or ''[[logical conjunction|conjunction]]'' of concepts | <math>C \sqcap D</math> | C and D |- | <math>\sqcup</math> | ''[[union (set theory)|union]]'' or ''[[disjunction]]'' of concepts | <math>C \sqcup D</math> | C or D |- | <math>\neg </math> | ''[[negation]]'' or ''[[complement (set theory)|complement]]'' of concepts | <math>\neg C</math> | not C |- | <math>\forall </math> | ''[[Universal quantifier|universal restriction]]'' | <math>\forall R.C</math> | all R-successors are in C |- | <math>\exists </math> | ''[[Existential quantifier|existential restriction]]'' | <math>\exists R.C</math> | an R-successor exists in C |- | <math>\sqsubseteq</math> | Concept ''inclusion'' | <math>C \sqsubseteq D</math> | all C are D |- | <math>\equiv </math> | Concept ''equivalence'' | <math>C \equiv D</math> | C is equivalent to D |- | <math>\dot = </math> | Concept ''definition'' | <math>C \dot = D</math> | C is defined to be equal to D |- | <math> : </math> | Concept ''assertion'' | <math>a : C</math> | a is a C |- | <math> : </math> | Role ''assertion'' | <math>(a,b) : R</math> | a is R-related to b |} ====The description logic ALC==== The prototypical DL ''Attributive Concept Language with Complements'' (<math>\mathcal{ALC}</math>) was introduced by Manfred Schmidt-Schauß and Gert Smolka in 1991, and is the basis of many more expressive DLs.<ref name="DLHB"/> The following definitions follow the treatment in Baader et al.<ref name="DLHB"/> Let <math>N_C</math>, <math>N_R</math> and <math>N_O</math> be (respectively) [[Set (mathematics)|sets]] of ''concept names'' (also known as ''atomic concepts''), ''role names'' and ''individual names'' (also known as ''individuals'', ''nominals'' or ''objects''). Then the ordered triple (<math>N_C</math>, <math>N_R</math>, <math>N_O</math>) is the ''signature''. =====Concepts===== The set of <math>\mathcal{ALC}</math> ''concepts'' is the smallest set such that: * The following are ''concepts'': ** <math>\top</math> (''top'' is a ''concept'') ** <math>\bot</math> (''bottom'' is a ''concept'') ** Every <math>A \in N_C</math> (all ''atomic concepts'' are ''concepts'') * If <math>C</math> and <math>D</math> are ''concepts'' and <math>R \in N_R</math> then the following are ''concepts'': ** <math>C\sqcap D</math> (the intersection of two ''concepts'' is a ''concept'') ** <math>C\sqcup D</math> (the union of two ''concepts'' is a ''concept'') ** <math>\neg C</math> (the complement of a ''concept'' is a ''concept'') ** <math>\forall R.C</math> (the universal restriction of a ''concept'' by a ''role'' is a ''concept'') ** <math>\exists R.C</math> (the existential restriction of a ''concept'' by a ''role'' is a ''concept'') =====Terminological axioms===== A ''general concept inclusion'' (GCI) has the form <math>C \sqsubseteq D</math> where <math>C</math> and <math>D</math> are ''concepts''. Write <math>C \equiv D</math> when <math>C \sqsubseteq D</math> and <math>D \sqsubseteq C</math>. A ''TBox'' is any finite set of GCIs. =====Assertional axioms===== {{Anchor|concept_assertion}} * A ''concept assertion'' is a statement of the form <math>a : C</math> where <math>a \in N_O</math> and C is a ''concept''. * A ''role assertion'' is a statement of the form <math>(a,b) : R</math> where <math>a, b \in N_O</math> and R is a ''role''. An ''ABox'' is a finite set of assertional axioms. =====Knowledge base===== A ''knowledge base'' (KB) is an ordered pair <math>(\mathcal{T}, \mathcal{A})</math> for [[abox|TBox]] <math>\mathcal{T}</math> and [[Abox|ABox]] <math>\mathcal{A}</math>. ===Semantics=== The [[semantics]] of description logics are defined by interpreting concepts as sets of individuals and roles as sets of ordered 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.<ref name="DLHB"/> A ''terminological interpretation'' <math>\mathcal{I}=(\Delta^{\mathcal{I}}, \cdot^{\mathcal{I}})</math> over a ''signature'' <math>(N_C,N_R,N_O)</math> consists of * a non-empty set <math>\Delta^{\mathcal{I}}</math> called the [[domain of discourse|''domain'']] * a ''interpretation function'' <math>\cdot^{\mathcal{I}}</math> that maps: ** every ''individual'' <math>a</math> to an element <math>a^{\mathcal{I}} \in \Delta^{\mathcal{I}}</math> ** every ''concept'' to a subset of <math>\Delta^{\mathcal{I}}</math> ** every ''role name'' to a subset of <math>\Delta^{\mathcal{I}} \times \Delta^{\mathcal{I}}</math> such that * <math>\top^{\mathcal{I}} = \Delta^{\mathcal{I}}</math> * <math>\bot^{\mathcal{I}} = \emptyset</math> * <math>(C \sqcup D)^{\mathcal{I}} = C^{\mathcal{I}} \cup D^{\mathcal{I}}</math> ''([[union (set theory)|union]] means [[disjunction]])'' * <math>(C \sqcap D)^{\mathcal{I}} = C^{\mathcal{I}} \cap D^{\mathcal{I}}</math> ''([[intersection (set theory)|intersection]] means [[Logical conjunction|conjunction]])'' * <math>(\neg C)^{\mathcal{I}} = \Delta^{\mathcal{I}} \setminus C^{\mathcal{I}} </math> ''([[complement (set theory)|complement]] means [[negation]])'' * <math>(\forall R.C)^{\mathcal{I}} = \{x \in \Delta^{\mathcal{I}} | \text{for} \; \text{every} \; y, (x,y) \in R^{\mathcal{I}} \; \text{implies} \; y \in C^{\mathcal{I}} \} </math> * <math>(\exists R.C)^{\mathcal{I}} = \{x \in \Delta^{\mathcal{I}} | \text{there} \; \text{exists} \; y, (x,y) \in R^{\mathcal{I}} \; \text{and} \; y \in C^{\mathcal{I}}\} </math> Define <math>\mathcal{I} \models</math> (read ''in I holds'') as follows =====TBox===== * <math>\mathcal{I} \models C \sqsubseteq D</math> if and only if <math>C^{\mathcal{I}} \subseteq D^{\mathcal{I}}</math> * <math>\mathcal{I} \models \mathcal{T}</math> if and only if <math>\mathcal{I} \models \Phi</math> for every <math>\Phi \in \mathcal{T}</math> =====ABox===== * <math>\mathcal{I} \models a : C</math> if and only if <math>a^{\mathcal{I}} \in C^{\mathcal{I}}</math> * <math>\mathcal{I} \models (a,b) : R</math> if and only if <math>(a^{\mathcal{I}},b^{\mathcal{I}}) \in R^{\mathcal{I}}</math> * <math>\mathcal{I} \models \mathcal{A}</math> if and only if <math>\mathcal{I} \models \phi</math> for every <math>\phi \in \mathcal{A}</math> =====Knowledge base===== Let <math>\mathcal{K} = (\mathcal{T}, \mathcal{A})</math> be a knowledge base. * <math>\mathcal{I} \models \mathcal{K}</math> if and only if <math>\mathcal{I} \models \mathcal{T}</math> and <math>\mathcal{I} \models \mathcal{A}</math> ==Inference== ===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 ABox) 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 TBox (having cycles, allowing non-atomic concepts to include each other), usually the higher the computational complexity is for each of these problems (see [http://www.cs.man.ac.uk/~ezolin/dl/ Description Logic Complexity Navigator] for examples). ==Relationship with other logics== ===First-order logic=== Many DLs are [[Decidability (logic)|decidable]] [[fragment (logic)|fragments]] of [[first-order logic]] (FOL)<ref name="DLHB"/> and are usually fragments of [[two-variable logic]] or [[guarded logic]]. In addition, some DLs have features that are not covered in FOL; this includes ''concrete domains'' (such as integer or strings, which can be used as ranges for roles such as ''hasAge'' or ''hasName'') or an operator on roles for the [[transitive closure]] of that role.<ref name="DLHB"/> ===Fuzzy description logic=== Fuzzy description logics combines [[fuzzy logic]] with DLs. Since many concepts that are needed for [[Artificial intelligence|intelligent systems]] lack well defined boundaries, or precisely defined criteria of membership, fuzzy logic is needed to deal with notions of vagueness and imprecision. This offers a motivation for a generalization of description logic towards dealing with imprecise and vague concepts. ===Modal logic=== Description logic is related to—but developed independently of—[[modal logic]] (ML).<ref name="DLHB"/> Many—but not all—DLs are syntactic variants of ML.<ref name="DLHB"/> In general, an object corresponds to a [[Kripke semantics|possible world]], a concept corresponds to a modal proposition, and a role-bounded quantifier to a modal operator with that role as its accessibility relation. Operations on roles (such as composition, inversion, etc.) correspond to the modal operations used in [[dynamic logic (modal logic)|dynamic logic]].<ref name=CTTL>{{cite web|last=Schild|first=Klaus|title=Correspondence theory for terminological logics: Preliminary Report|url=http://www.cs.man.ac.uk/~ezolin/dl/bib/Correspondence_theory_for_terminological_logics_%28IJCAI_1991%29.pdf|work=KIT Report 91|publisher=KIT-BACK|access-date=2012-10-25}}</ref> ====Examples==== {| style="width:20%" class="wikitable sortable" |+ Syntactic variants |- ! DL ! ML |- | <math>\mathcal{ALC}</math> | '''K'''<ref name="DLHB"/> |- | <math>\mathcal{SR}</math> | '''[[Propositional dynamic logic|PDL]]'''<ref name=CTTL/> |- | <math>\mathcal{FSR}</math> | '''DPDL''' (deterministic PDL)<ref name=CTTL/> |- | <math>\mathcal{TSL}\text{, or }\mathcal{SRI}</math> | Converse-'''[[Propositional dynamic logic|PDL]]'''<ref name=CTTL/> |- | <math>\mathcal{FSL}\text{, or }\mathcal{FSRI}</math> | Converse-'''DPDL''' (deterministic PDL)<ref name=CTTL/> |} ===Temporal description logic=== Temporal description logic represents—and allows reasoning about—time dependent concepts and many different approaches to this problem exist.<ref>Alessandro Artale and Enrico Franconi "Temporal Description Logics". In "Handbook of Temporal Reasoning in Artificial Intelligence", 2005.</ref> For example, a description logic might be combined with a [[modal logic|modal]] [[temporal logic]] such as [[linear temporal logic]]. ==See also== {{Portal|Philosophy}} * [[Formal concept analysis]] * [[Lattice (order)]] * [[Formal semantics (natural language)]] * [[Semantic parameterization]] * [[Semantic reasoner]] ==References== {{Reflist}} ==Further reading== * F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, P. F. Patel-Schneider: ''The Description Logic Handbook: Theory, Implementation, Applications''. Cambridge University Press, Cambridge, UK, 2003. {{ISBN|0-521-78176-0}} * Ian Horrocks, Ulrike Sattler: [https://web.archive.org/web/20120218092244/http://lat.inf.tu-dresden.de/research/papers-2001.html#HorrocksSattler-IJCAI ''Ontology Reasoning in the SHOQ(D) Description Logic''], in ''Proceedings of the Seventeenth International Joint Conference on Artificial Intelligence'', 2001. * D. Fensel, F. van Harmelen, I. Horrocks, D. McGuinness, and P. F. Patel-Schneider: [http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/2001/IEEE-IS01.pdf ''OIL: An Ontology Infrastructure for the Semantic Web'']. IEEE Intelligent Systems, 16(2):38-45, 2001. * Ian Horrocks and Peter F. Patel-Schneider: [http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/2001/HoPa01.pdf ''The Generation of DAML+OIL'']. In ''Proceedings of the 2001 Description Logic Workshop (DL 2001)'', volume 49 of CEUR <http://ceur-ws.org/>, pages 30–35, 2001. * Ian Horrocks, Peter F. Patel-Schneider, and Frank van Harmelen: [http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/2003/HoPH03a.pdf ''From SHIQ and RDF to OWL: The Making of a Web Ontology Language'']. Journal of Web Semantics, 1(1):7-26, 2003. * Bernardo Cuenca Grau, Ian Horrocks, Boris Motik, Bijan Parsia, Peter Patel-Schneider, and Ulrike Sattler: [http://web.comlab.ox.ac.uk/people/Ian.Horrocks/Publications/download/2008/CHMP+08.pdf ''OWL 2: The next step for OWL'']. Journal of Web Semantics, 6(4):309–322, November 2008. * Franz Baader, Ian Horrocks, and Ulrike Sattler: [http://www.comlab.ox.ac.uk/people/ian.horrocks/Publications/download/2007/BaHS07a.pdf ''Chapter 3 Description Logics'']. In Frank van Harmelen, Vladimir Lifschitz, and Bruce Porter, editors, ''Handbook of Knowledge Representation''. Elsevier, 2007. * Alessandro Artale and Enrico Franconi: [http://www.inf.unibz.it/~franconi/papers/time-handbook.ps.gz Temporal Description Logics]. In Handbook of Temporal Reasoning in Artificial Intelligence, 2005. * [http://www.w3.org/2001/sw/WebOnt/charter Web Ontology (WebONT) Working Group Charter]. W3C, 2003 * [http://www.w3.org/2004/01/sws-pressrelease World Wide Web Consortium Issues RDF and OWL Recommendations]. Press Release. W3C, 2004. * [http://www.w3.org/2007/06/OWLCharter.html OWL Working Group Charter]. W3C, 2007. * [http://www.w3.org/2009/10/owl2-pr OWL 2 Connects the Web of Knowledge with the Web of Data]. Press Release. W3C, 2009. * [[Markus Krötzsch]], [[František Simančík]], [[Ian Horrocks]]: A Description Logic Primer. CoRR {{ArXiv|1201.4089}}. 2012. ''A very first introduction for readers without a formal logic background.'' * [[Sebastian Rudolph]]: [http://www.aifb.kit.edu/images/1/19/DL-Intro.pdf Foundations of Description Logics]. In ''Reasoning Web: Semantic Technologies for the Web of Data, 7th International Summer School,'' volume 6848 of [[Lecture Notes in Computer Science]], pages 76–136. Springer, 2011. ([https://doi.org/10.1007%2F978-3-642-23032-5_2 springerlink])''Introductory text with a focus on modelling and formal semantics. There are also [http://www.semantic-web-book.org/w/images/a/a9/DL-Foundations-RW2011.pdf slides].'' * [[Jens Lehmann (scientist)|Jens Lehmann]]: DL-Learner: Learning concepts in description logics, Journal of Machine Learning Research, 2009. * Stefan Heindorf, Lukas Blübaum, Nick Düsterhus, Till Werner, Varun Nandkumar Golani, Caglar Demir, and Axel-Cyrille Ngonga Ngomo. Evolearner: Learning description logics with evolutionary algorithms. In ''Proceedings of the ACM Web Conference 2022'', pp. 818-828. 2022. * [[Franz Baader]]: [https://web.archive.org/web/20120301231310/http://lat.inf.tu-dresden.de/research/papers-2009.html#Baader09 Description Logics]. In ''Reasoning Web: Semantic Technologies for Information Systems, 5th International Summer School,'' volume 5689 of Lecture Notes in Computer Science, pages 1–39. Springer, 2009. ([https://doi.org/10.1007%2F978-3-642-03754-2_1 springerlink]) ''Introductory text with a focus on reasoning and language design, and an extended historical overview.'' * [[Enrico Franconi]]: [http://www.inf.unibz.it/~franconi/dl/course/ Introduction to Description Logics]. Course materials. Faculty of Computer Science, Free University of Bolzano, Italy, 2002. ''Lecture slides and many literature pointers, somewhat dated.'' * [[Ian Horrocks]]: [http://web.comlab.ox.ac.uk/people/Ian.Horrocks/Publications/download/2008/Horr08a.pdf Ontologies and the Semantic Web]. ''Communications of the ACM'', 51(12):58-67, December 2008. ''A general overview of knowledge representation in Semantic Web technologies.'' ==External links== * [http://www.cs.man.ac.uk/~ezolin/dl/ Description Logic Complexity Navigator], maintained by Evgeny Zolin at the [[Department of Computer Science, University of Manchester|Department of Computer Science]] * [http://owl.cs.manchester.ac.uk/tools/list-of-reasoners/ List of Reasoners], OWL research at the [[University of Manchester]] * [https://dl.kr.org/ Description Logics Workshop], homepage of the collecting information about the community and archives of the workshop proceedings ===Reasoners=== There are some [[semantic reasoner]]s that deal with OWL and DL. These are some of the most popular: * [http://lat.inf.tu-dresden.de/systems/cel/ CEL] is an open source LISP-based reasoner (Apache 2.0 License). * [https://web.archive.org/web/20060419191746/http://www.cerebra.com/ Cerebra Engine] was a commercial C++-based reasoner, acquired in 2006 by webMethods. * [http://owl.man.ac.uk/factplusplus FaCT++ ] is a free open-source C++-based reasoner. * [[KAON|KAON2]] is a free (for non-commercial use) Java-based reasoner, offering fast reasoning support for OWL ontologies. * [http://www.cs.man.ac.uk/~schmidt/mspass/ MSPASS] is a free open-source C reasoner for numerous DL models. * [https://web.archive.org/web/20070925082014/http://pellet.owldl.com/ Pellet] is a dual-licensed (AGPL and proprietary) commercial, Java-based reasoner. * [http://www.racer-systems.com/ RacerPro] of Racer Systems was a commercial (free trials and research licenses are available) lisp-based reasoner, today both an open source version of RACER exists from the original developers at Lübeck University using the BSD 3 license, and also a commercialized version, still named [https://franz.com/agraph/racer/racer_features.lhtml RacerPro by Franz Inc.] * [http://sim-dl.sourceforge.net/ 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. * [http://hermit-reasoner.com/ HermiT] is an [[Open-source model|open-source]] reasoner based on the "hypertableau" calculus. It is developed by the [[University of Oxford]]. * [https://owlready2.readthedocs.io/en/latest/ Owlready2] is a package for ontology-oriented programming in [[Python (programming language)|Python]]. It can load OWL 2.0 ontologies as Python objects, modify them, save them, and perform reasoning via [http://hermit-reasoner.com/ HermiT] (included). Owlready2 allows a transparent access to OWL ontologies (contrary to usual Java-based API). * [https://github.com/dice-group/owlapy/releases OWLAPY]. OWLAPY is an open-source Python framework for creating, manipulating, and reasoning with OWL ontologies. It includes a built-in StructuralReasoner for efficient, lightweight reasoning and wrappers for well-known Java-based reasoners like HermiT, Pellet, JFact, and Openllet. ===Editors=== * [[Protégé (software)|Protégé]] is a free, open-source ontology editor and a [[knowledge base]] framework, which can use DL reasoners offering DIG Interface as a [[Front and back ends|back end]] for consistency checks. * {{GitHub|ronwalf/swoop|SWOOP}}, an [[Web Ontology Language|OWL]] browser/editor that takes the standard [[web browser]] as the basic UI [[paradigm]]. ===Interfaces=== * {{SourceForge|dig|DIG Interface}}, a standardized XML interface to DLs systems developed by the [http://dl.kr.org/dig/ DL Implementation Group (DIG)]. * {{SourceForge|owlapi|OWL API}}, a [[Java (programming language)|Java]] interface and implementation for the [[Web Ontology Language]], used to represent [[Semantic Web]] ontologies. * {{GitHub|dice-group/owlapy|OWLAPY}}, a [[Python (programming language)|Python]] interface and implementation for the [[Web Ontology Language]], used to represent [[Semantic Web]] ontologies. {{Non-classical logic}} {{Computer science}} {{Semantic Web}} {{DEFAULTSORT:Description Logic}} [[Category:Knowledge representation languages]] [[Category:Non-classical logic]] [[Category:Information science]] [[Category:Formal semantics (natural language)]] [[Category:Artificial intelligence]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Anchor
(
edit
)
Template:ArXiv
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Cite web
(
edit
)
Template:Computer science
(
edit
)
Template:EquationNote
(
edit
)
Template:GitHub
(
edit
)
Template:ISBN
(
edit
)
Template:Non-classical logic
(
edit
)
Template:NumBlk
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Semantic Web
(
edit
)
Template:Short description
(
edit
)
Template:SourceForge
(
edit
)