# Hybrid Logics and Ontology Languages

## Presentation on theme: "Hybrid Logics and Ontology Languages"— Presentation transcript:

Hybrid Logics and Ontology Languages
Ian Horrocks Information Management Group School of Computer Science University of Manchester

Talk Outline Introduction to Description Logics Ontologies and OWL
OWL ontology language Ontology applications Nominals in Ontology Languages Ontology Reasoning Tableaux algorithms Reasoning with nominals Conjunctive Query Answering Using binders and state variables Summary

Introduction to Description Logics

What Are Description Logics?
A family of logic based Knowledge Representation formalisms Descendants of semantic networks and KL-ONE Describe domain in terms of concepts (classes), roles (properties, relationships) and individuals Distinguished by: Formal semantics (typically model theoretic) Decidable fragments of FOL (often contained in C2) Closely related to Propositional Modal, Hybrid & Dynamic Logics Closely related to Guarded Fragment Provision of inference services Decision procedures for key problems (satisfiability, subsumption, etc) Implemented systems (highly optimised)

DL Basics Concepts (formulae) Roles (modalities)
E.g., Person, Doctor, HappyParent, (Doctor t Lawyer) Roles (modalities) E.g., hasChild, loves Individuals (nominals) E.g., John, Mary, Italy Operators (for forming concepts and roles) restricted so that: Satisfiability/subsumption is decidable and, if possible, of low complexity No need for explicit use of variables Restricted form of 9 and 8 (direct correspondence with hii and [i]) Features such as counting (graded modalities) succinctly expressed

The DL Family (1) Smallest propositionally closed DL is ALC (equivalent to K(m)) Concepts constructed using booleans u, t, :, plus restricted quantifiers 9, 8 Only atomic roles E.g., Person all of whose children are either Doctors or have a child who is a Doctor: Person u 8hasChild.(Doctor t 9hasChild.Doctor)

The DL Family (1) Smallest propositionally closed DL is ALC (equivalent to K(m)) Concepts constructed using booleans u, t, :, plus restricted quantifiers 9, 8 Only atomic roles E.g., Person all of whose children are either Doctors or have a child who is a Doctor: Person Æ [hasChild](Doctor Ç hhasChildiDoctor)

The DL Family (2) S often used for ALC extended with transitive roles
i.e., the union of K(m) and K4(m) Additional letters indicate other extensions, e.g.: H for role hierarchy (e.g., hasDaughter v hasChild) O for nominals/singleton classes (e.g., {Italy}) I for inverse roles (converse modalities) Q for qualified number restrictions (graded modalities, e.g., hiim) N for number restrictions (graded modalities, e.g., hiim>) S + role hierarchy (H) + nominals (O) + inverse (I) + NR (N) = SHOIN SHOIN is the basis for W3C’s OWL Web Ontology Language

DL Knowledge Base A TBox is a set of “schema” axioms (sentences), e.g.: {Doctor v Person, HappyParent ´ Person u 8hasChild.(Doctor t 9hasChild.Doctor)} i.e., a background theory (a set of non-logical axioms) An ABox is a set of “data” axioms (ground facts), e.g.: {John:HappyParent, John hasChild Mary} i.e., non-logical axioms including (restricted) use of nominals

DL Knowledge Base A TBox is a set of “schema” axioms (sentences), e.g.: {Doctor ! Person, HappyParent \$ Person Æ [hasChild](Doctor Ç hhasChildiDoctor)} i.e., a background theory (a set of non-logical axioms) An ABox is a set of “data” axioms (ground facts), e.g.: {John ! HappyParent, John ! hhasChildiMary} i.e., non-logical axioms including (restricted) use of nominals A Knowledge Base (KB) is just a TBox plus an Abox

Ontologies and OWL

The Web Ontology Language OWL
Semantic Web led to requirement for a “web ontology language” set up Web-Ontology (WebOnt) Working Group WebOnt developed OWL language OWL based on earlier languages OIL and DAML+OIL OWL now a W3C recommendation (i.e., a standard) OIL, DAML+OIL and OWL based on Description Logics OWL effectively a “Web-friendly” syntax for SHOIN

OWL RDF/XML Exchange Syntax
E.g., Person u 8hasChild.(Doctor t 9hasChild.Doctor): <owl:Class> <owl:intersectionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Person"/> <owl:Restriction> <owl:onProperty rdf:resource="#hasChild"/> <owl:allValuesFrom> <owl:unionOf rdf:parseType=" collection"> <owl:Class rdf:about="#Doctor"/> <owl:someValuesFrom rdf:resource="#Doctor"/> </owl:Restriction> </owl:unionOf> </owl:allValuesFrom> </owl:intersectionOf> </owl:Class>

Class/Concept Constructors
C is a concept (class); P is a role (property); xi is an individual/nominal XMLS datatypes as well as classes in 8P.C and 9P.C Restricted form of DL concrete domains

Ontology Axioms OWL ontology equivalent to DL KB (Tbox + Abox)

Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics

Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) I can’t find an efficient algorithm, but neither can all these famous people. [Garey & Johnson. Computers and Intractability: A Guide to the Theory of NP-Completeness. Freeman, 1979.]

Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) Known reasoning algorithms

Why (Description) Logic?
OWL exploits results of 15+ years of DL research Well defined (model theoretic) semantics Formal properties well understood (complexity, decidability) Known reasoning algorithms Implemented systems (highly optimised) Pellet

Why (Description) Logic?
Foundational research was crucial to design of OWL Informed Working Group decisions at every stage, e.g.: “Why not extend the language with feature x, which is clearly harmless?” “Adding x would lead to undecidability - see proof in […]” Heath-Robinson approach to language design; big tree is undecidability.

Applications of Ontologies
e-Science, e.g., Bioinformatics Open Biomedical Ontologies Consortium (GO, MGED) Used e.g., for “in silico” investigations relating theory and data E.g., relating data on phosphatases to (model of) biological knowledge Graphic showing protein functional domains (sequences of amino acids?); the identifying characteristics of different proteins.

Applications of Ontologies
Medicine Building/maintaining terminologies such as Snomed, NCI & Galen Frontal Lobe Temporal Lobe Parietal Lobe Occipital Lobe Central Sulcus Lateral Sulcus - Example from project to (semi-) automate the annotation of MRI images of the brain - FMA derived ontology used to capture knowledge of brain anatomy

Applications of Ontologies
Organising complex and semi-structured information UN-FAO, NASA, Ordnance Survey, General Motors, Lockheed Martin, …

Nominals in Ontologies
Used in extensionally defined classes e.g., class EU might be defined as {Austria, …, UnitedKingdom} Written in OWL as oneOf(Austria … UnitedKingdom) Equivalent to a disjunction of nominals: Austria Ç … Ç UnitedKingdom Allows inferences such as: EU contains 25 countries (assuming UNA/axioms) If in the EU and not in oneOf(Austria … Sweden) ! in UnitedKingdom Used in extended OWL Abox axioms e.g., individual(Jim value(friend individual(value(friend Jane)))) Equivalent to {Jim} v 9 friend.(9 friend.{Jane}) i.e., Jim ! hfriendi(hfriendiJane) Widely used in ontologies e.g. in Wine ontology used for colours, grape types, regions, etc.

Ontology Reasoning: How do we do it?

Using Standard DL Techniques
Key reasoning tasks reducible to KB (un)satisfiability E.g., C v D w.r.t. KB K iff K [ {x:(C u :D)} is not satisfiable State of the art DL systems typically use (highly optimised) tableaux algorithms to decide satisfiability (consistency) of KB Tableaux algorithms work by trying to construct a concrete example (model) consistent with KB axioms: Start from ground facts (ABox axioms) Explicate structure implied by complex concepts and TBox axioms Syntactic decomposition using tableaux expansion rules Infer constraints on (elements of) model

Tableaux Reasoning (1) E.g., KB:
{HappyParent ´ Person u 8hasChild.(Doctor t 9hasChild.Doctor), John:HappyParent, John hasChild Mary, Mary:: Doctor Wendy hasChild Mary, Wendy marriedTo John} Person 8hasChild.(Doctor t 9hasChild.Doctor)

Tableaux Reasoning (2) Tableau rules correspond to constructors in logic (u, 9 etc) E.g., John:(Person u Doctor) --! John:Person and John:Doctor Stop when no more rules applicable or clash occurs Clash is an obvious contradiction, e.g., A(x), :A(x) Some rules are nondeterministic (e.g., t, 6) In practice, this means search Cycle check (blocking) often needed to ensure termination E.g., KB: {Person v 9hasParent.Person, John:Person}

Tableaux Reasoning (3) In general, (representation of) model consists of: Named individuals forming arbitrary directed graph Trees of anonymous individuals rooted in named individuals

Decision Procedures Algorithms are decision procedures, i.e., KB is satisfiable iff rules can be applied such that fully expanded clash free graph is constructed: Sound Given a fully expanded and clash-free graph, we can trivially construct a model Complete Given a model, we can use it to guide application of non-deterministic rules in such a way as to construct a clash-free graph Terminating Bounds on number of named individuals, out-degree of trees (rule applications per node), and depth of trees (blocking) Crucially depends on (some form of) tree model property

Reasoning with Nominals: A Tableaux Algorithm for SHOIQ

Recall Motivation for OWL Design
Exploit results of DL research: Known tableaux decision procedures and implemented systems But not for SHOIN (until recently)! So why is/was SHOIN so hard?

SHIQ is Already Tricky Does not have finite model property, e.g.:
{ITN v 61 edge– u 9edge.ITN, R:(ITN u 60 edge–)} Double blocking Block interpreted as infinite repetition

SHIQ is Already Tricky Does not have finite model property, e.g.:
{ITN v 61 edge– u 9edge.ITN, R:(ITN u 60 edge–)} Double blocking Block interpreted as infinite repetition Termination problem due to > and 6, e.g.: {John:9hasChild.Doctor u >2 hasChild.Lawyer u 62 hasChild} Add inequalities between nodes generated by > rule Clash if 6 rule only applicable to  nodes

SHOIQ: Loss (almost) of TMP
Interactions between O, I, and Q lead to new termination problems Anonymous branches can loop back to named individuals (O) E.g., 9r.{Mary} Number restrictions (Q) on incoming edges (I) lead to non-tree structure E.g., Mary:61 r– Result is anonymous nodes that act like named individual nodes Blocking sequence cannot include such nodes Don’t know how to build a model from a graph including such a block

Intuition: Nominal Nodes
Nominal nodes (N-nodes) include: Named individual nodes Nodes affected by number restriction via outgoing edge to N-node Blocking sequence cannot include N-nodes Bound on number of N-nodes Must initially have been on a path between named individual nodes Length of such paths bounded by blocking Number of incoming edges at an N-node is limited by number restrictions

Generate & Merge Problem is Back!
E.g., KB: {VMP ´ Person u 9loves.{Mary} u hasFriend.VMP, John:9hasFriend.VMP Mary:62 loves–} Blocking prevented by N-nodes Repeated generation and merging of nodes leads to non-termination

Intuition: Guess Exact Cardinality
New Ro?-rule guesses exact cardinality constraint on N-nodes {VMP ´ Person u 9loves.{Mary} u hasFriend.VMP, John:9hasFriend.VMP Mary:62 loves–} Inequality between resulting N-nodes fixes generate & merge problem Introduces new source of non-determinism But only if nominals used in a “nasty” way Usage in ontologies typically “harmless” Otherwise behaves as for SHIQ

Conjunctive Query Answering: Using binders (maybe)

Conjunctive Queries Want to query KB using DB style conjunctive query language e.g., hx,zi Ã Winehxi Æ drunkWithhx,yi Æ Dishhyi Æ fromRegionhy,zi How to answer such queries? Reduce to boolean queries w.r.t. candidate answer tuples e.g., hi Ã WinehChiantii Æ drunkWithhChianti,yi Æ Dishhyi Æ fromRegionhy,Venetoi Transform query into concept Cq by “rolling up” e.g., Cq = {Chianti} u 9 drunkWith.(Dish u 9 fromRegion.{Veneto}) such that query can be reduced to KB satisfiability test hT,Ai ² q iff hT [ {> v :Cq},Ai is not satisfiable

Rolling Up (1) View query as a labeled graph and “roll up” from leaves to root e.g., hi Ã Ahwi Æ Rhw,xi Æ Bhxi Æ Phx,yi Æ Chyi Æ Shx,zi Æ Chyi A u 9R.(B u 9P.C u 9S.D) B u 9P.C u 9S.D B u 9P.C

Cyclical Queries Problems arise when trying to roll up cyclical queries e.g., hi Ã Ahwi Æ Rhw,xi Æ Bhxi Æ Phx,yi Æ Chyi Æ Shx,zi Æ Chyi Æ Rhy,zi

Rolling Up with Binders (1)
Problem could be solved by extending DL with binder: e.g., hi Ã Ahwi Æ Rhw,xi Æ Bhxi Æ Phx,yi Æ Chyi Æ Shx,zi Æ Chyi Æ Rhy,zi A u 9R.(x.(B u 9S.(D u 9R-.(C u 9P-..x)))) D u 9R-.(C u 9P-..x) x.B C u 9P-..x x.B x.(B u 9S.(D u 9R-.(C u 9P-..x)))

Rolling Up with Binders (2)
Unfortunately, already known that ALC + binder is undecidable [Blackburn and Seligman] But, when used in rolling up, only occurs in very restricted form: Only intersection, existential and positive state variables and when negated (in sat test), only union, universal and negated vars in form 8R.:x Now known that SHIQ conjunctive query answering is decidable Binders would potentially lead to a more “practical” algorithm But not trivial to extend tableaux algorithm to SHIQ + binder Blocking is difficult because binder introduces new concepts Decidability of SHOIQ conjunctive query answering still open Although believe we now have a solution

Summary DLs are a family of logic based KR formalisms
Describe domain in terms of concepts, roles and individuals Closely related to Modal & Hybrid Logics DLs are the basis for ontology languages such as OWL Nominals widely used in ontologies Reasoning with SHOIQ is tricky, but now reasonalby well understood Binders potentially useful for conjunctive query answering Allow for rolling up of arbitrary queries Required extensions known to be decidable But reasoning with extended languages still an open problem

Acknowledgements Thanks to: Birte Glimm Uli Sattler

Resources Slides from this talk FaCT++ system (open source) Protégé
FaCT++ system (open source) Protégé W3C Web-Ontology (WebOnt) working group (OWL) DL Handbook, Cambridge University Press

Thank you for listening
Any questions?