Loading in 5 sec....

Hybrid Logics and Ontology LanguagesPowerPoint Presentation

Hybrid Logics and Ontology Languages

- By
**rhoda** - Follow User

- 127 Views
- Updated On :

Hybrid Logics and Ontology Languages. Ian Horrocks <[email protected]> Information Management Group School of Computer Science University of Manchester. Talk Outline. Introduction to Description Logics Ontologies and OWL OWL ontology language Ontology applications

Related searches for Hybrid Logics and Ontology Languages

Download Presentation
## PowerPoint Slideshow about 'Hybrid Logics and Ontology Languages' - rhoda

**An Image/Link below is provided (as is) to download presentation**

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

### Hybrid Logics and Ontology Languages

### Introduction to Description Logics

### Ontology Reasoning:How do we do it?

### Reasoning with Nominals:A Tableaux Algorithm for SHOIQ

### Conjunctive Query Answering:Using binders (maybe)

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

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)

- Formal semantics (typically model theoretic)

DL Basics

- Concepts (formulae)
- 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 u8hasChild.(Doctor t 9hasChild.Doctor)

- Concepts constructed using booleans

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)

- Concepts constructed using booleans

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 u8hasChild.(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

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

<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:Restriction>

<owl:onProperty rdf:resource="#hasChild"/>

<owl:someValuesFrom rdf:resource="#Doctor"/>

</owl:Restriction>

</owl:unionOf>

</owl:allValuesFrom>

</owl:Restriction>

</owl:intersectionOf>

</owl:Class>

E.g., Person u8hasChild.(Doctor t 9hasChild.Doctor):

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 […]”

- Informed Working Group decisions at every stage, e.g.:

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

CentralSulcus

Frontal Lobe

Parietal Lobe

Occipital

Lobe

Temporal Lobe

Lateral Sulcus

Applications of Ontologies- Medicine
- Building/maintaining terminologies such as Snomed, NCI & Galen

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

- e.g., class EU might be defined as {Austria, …, UnitedKingdom}
- Used in extended OWL Abox axioms
- e.g., individual(Jim value(friend individual(value(friend Jane))))
- Equivalent to {Jim} v9 friend.(9 friend.{Jane})
- i.e., Jim !hfriendi(hfriendiJane)

- e.g., individual(Jim value(friend individual(value(friend Jane))))
- Widely used in ontologies
- e.g. in Wine ontology used for colours, grape types, regions, etc.

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 u8hasChild.(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 andJohn: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:
{Personv9hasParent.Person,

John:Person}

- E.g., KB:

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)

- Given a fully expanded and clash-free graph, we can trivially construct a model
- Crucially depends on (some form of) tree model property

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 v61edge–u9edge.ITN,

R:(ITN u60edge–)}

- Double blocking
- Block interpreted as infinite repetition

SHIQ is Already Tricky

- Does not have finite model property, e.g.:
{ITN v61edge–u9edge.ITN,

R:(ITN u60edge–)}

- Double blocking
- Block interpreted as infinite repetition

- Termination problem due to > and 6, e.g.:
{John:9hasChild.Doctor u>2 hasChild.Lawyer

u62hasChild}

- 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:61r–

- 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

- Anonymous branches can loop back to named individuals (O)

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 u9loves.{Mary} u9hasFriend.VMP,

John:9hasFriend.VMP

Mary:62loves–}

- 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 u9loves.{Mary} u9hasFriend.VMP,

John:9hasFriend.VMP

Mary:62loves–}

- 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 forSHIQ

- But only if nominals used in a “nasty” way

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} u9 drunkWith.(Dish u9 fromRegion.{Veneto})

- such that query can be reduced to KB satisfiability test
- hT,Ai² q iff hT[ {>v:Cq},Ai is not satisfiable

- Reduce to boolean queries w.r.t. candidate answer tuples

B u9P.C u9S.D

A u9R.(B u9P.C u9S.D)

B u9P.C

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

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

C u9P-..x

A u9R.(x.(B u9S.(D u9R-.(C u9P-..x))))

x.B

x.B

x.(B u9S.(D u9R-.(C u9P-..x)))

D u9R-.(C u9P-..x)

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

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 basedKR 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

Resources

- Slides from this talk
- http://www.cs.man.ac.uk/~horrocks/Slides/HyLo06.ppt

- FaCT++ system (open source)
- http://owl.man.ac.uk/factplusplus/

- Protégé
- http://protege.stanford.edu/plugins/owl/

- W3C Web-Ontology (WebOnt) working group (OWL)
- http://www.w3.org/2001/sw/WebOnt/

- DL Handbook, Cambridge University Press
- http://books.cambridge.org/0521781760.htm

Any questions?

Download Presentation

Connecting to Server..