Reasoning with DAML+OIL: What can it do for YOU? Ian Horrocks - - PowerPoint PPT Presentation

reasoning with daml oil
SMART_READER_LITE
LIVE PREVIEW

Reasoning with DAML+OIL: What can it do for YOU? Ian Horrocks - - PowerPoint PPT Presentation

Reasoning with DAML+OIL: What can it do for YOU? Ian Horrocks horrocks@cs.man.ac.uk University of Manchester Manchester, UK DAML PI meeting, Nashua, July 2001 p.1/9 DAML+OIL Language Overview DAML+OIL is an ontology language DAML PI


slide-1
SLIDE 1

Reasoning with DAML+OIL:

What can it do for YOU?

Ian Horrocks

horrocks@cs.man.ac.uk

University of Manchester Manchester, UK

DAML PI meeting, Nashua, July 2001 – p.1/9

slide-2
SLIDE 2

DAML+OIL Language Overview

DAML+OIL is an ontology language

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-3
SLIDE 3

DAML+OIL Language Overview

DAML+OIL is an ontology language ☞ Describes structure of the domain (i.e., a schema)

  • RDF used to describe specific instance of domain (data)

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-4
SLIDE 4

DAML+OIL Language Overview

DAML+OIL is an ontology language ☞ Describes structure of the domain (i.e., a schema)

  • RDF used to describe specific instance of domain (data)

☞ Structure described in terms of classes and properties

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-5
SLIDE 5

DAML+OIL Language Overview

DAML+OIL is an ontology language ☞ Describes structure of the domain (i.e., a schema)

  • RDF used to describe specific instance of domain (data)

☞ Structure described in terms of classes and properties ☞ Ontology consists of set of axioms

  • E.g., asserting class subsumption/equivalence

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-6
SLIDE 6

DAML+OIL Language Overview

DAML+OIL is an ontology language ☞ Describes structure of the domain (i.e., a schema)

  • RDF used to describe specific instance of domain (data)

☞ Structure described in terms of classes and properties ☞ Ontology consists of set of axioms

  • E.g., asserting class subsumption/equivalence

☞ Classes can be names or expressions

  • Various constructors provided for building class expressions

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-7
SLIDE 7

DAML+OIL Language Overview

DAML+OIL is an ontology language ☞ Describes structure of the domain (i.e., a schema)

  • RDF used to describe specific instance of domain (data)

☞ Structure described in terms of classes and properties ☞ Ontology consists of set of axioms

  • E.g., asserting class subsumption/equivalence

☞ Classes can be names or expressions

  • Various constructors provided for building class expressions

☞ Expressive power determined by

  • Kinds of axiom supported
  • Kinds of class (and property) constructor supported

DAML PI meeting, Nashua, July 2001 – p.2/9

slide-8
SLIDE 8

DAML+OIL Class Constructors

Constructor Abbreviation Example intersectionOf C1 ∧ . . . ∧ Cn Human ∧ Male unionOf C1 ∨ . . . ∨ Cn Doctor ∨ Lawyer complementOf ¬C ¬Male

  • neOf

{x1 . . . xn} {john, mary} toClass ∀P.C ∀hasChild.Doctor hasClass ∃P.C ∃hasChild.Lawyer hasValue ∃P.{x} ∃citizenOf.{USA} minCardinalityQ n P.C 2 hasChild.Lawyer maxCardinalityQ n P.C 1 hasChild.Male cardinalityQ =n P.C =1 hasParent.Female

DAML PI meeting, Nashua, July 2001 – p.3/9

slide-9
SLIDE 9

DAML+OIL Class Constructors

Constructor Abbreviation Example intersectionOf C1 ∧ . . . ∧ Cn Human ∧ Male unionOf C1 ∨ . . . ∨ Cn Doctor ∨ Lawyer complementOf ¬C ¬Male

  • neOf

{x1 . . . xn} {john, mary} toClass ∀P.C ∀hasChild.Doctor hasClass ∃P.C ∃hasChild.Lawyer hasValue ∃P.{x} ∃citizenOf.{USA} minCardinalityQ n P.C 2 hasChild.Lawyer maxCardinalityQ n P.C 1 hasChild.Male cardinalityQ =n P.C =1 hasParent.Female ☞ Arbitrarily complex nesting of constructors

  • E.g., ∀hasChild.(Doctor ∨ ∃hasChild.Doctor)

DAML PI meeting, Nashua, July 2001 – p.3/9

slide-10
SLIDE 10

DAML+OIL Class Constructors

Constructor Abbreviation Example intersectionOf C1 ∧ . . . ∧ Cn Human ∧ Male unionOf C1 ∨ . . . ∨ Cn Doctor ∨ Lawyer complementOf ¬C ¬Male

  • neOf

{x1 . . . xn} {john, mary} toClass ∀P.C ∀hasChild.Doctor hasClass ∃P.C ∃hasChild.Lawyer hasValue ∃P.{x} ∃citizenOf.{USA} minCardinalityQ n P.C 2 hasChild.Lawyer maxCardinalityQ n P.C 1 hasChild.Male cardinalityQ =n P.C =1 hasParent.Female ☞ Arbitrarily complex nesting of constructors

  • E.g., ∀hasChild.(Doctor ∨ ∃hasChild.Doctor)

☞ XMLS datatypes as well as classes

DAML PI meeting, Nashua, July 2001 – p.3/9

slide-11
SLIDE 11

DAML+OIL Axioms

Axiom Abbreviation Example subClassOf C1 ⊑ C2 Human ⊑ Animal ∧ Biped sameClassAs C1 . = C2 Man . = Human ∧ Male subPropertyOf P1 ⊑ P2 hasDaughter ⊑ hasChild samePropertyAs P1 . = P2 cost . = price sameIndividualAs x1 . = x2 President_Bush . = G_W_Bush disjointWith C1 ⊑ ¬C2 Male ⊑ ¬Female differentIndividualFrom {x1} ⊑ ¬{x2} {john} ⊑ ¬{peter} inverseOf P1 . = P −

2

hasChild . = hasParent− transitiveProperty P + ⊑ P ancestor+ ⊑ ancestor uniqueProperty Thing ⊑ 1P Thing ⊑ 1hasMother UnambiguousProperty Thing ⊑ 1P − Thing ⊑ 1isMotherOf−

DAML PI meeting, Nashua, July 2001 – p.4/9

slide-12
SLIDE 12

DAML+OIL Axioms

Axiom Abbreviation Example subClassOf C1 ⊑ C2 Human ⊑ Animal ∧ Biped sameClassAs C1 . = C2 Man . = Human ∧ Male subPropertyOf P1 ⊑ P2 hasDaughter ⊑ hasChild samePropertyAs P1 . = P2 cost . = price sameIndividualAs x1 . = x2 President_Bush . = G_W_Bush disjointWith C1 ⊑ ¬C2 Male ⊑ ¬Female differentIndividualFrom {x1} ⊑ ¬{x2} {john} ⊑ ¬{peter} inverseOf P1 . = P −

2

hasChild . = hasParent− transitiveProperty P + ⊑ P ancestor+ ⊑ ancestor uniqueProperty Thing ⊑ 1P Thing ⊑ 1hasMother UnambiguousProperty Thing ⊑ 1P − Thing ⊑ 1isMotherOf− ☞ Axioms (mostly) reducible to subClass/PropertyOf

DAML PI meeting, Nashua, July 2001 – p.4/9

slide-13
SLIDE 13

Decidable Reasoning

Set of operators/axioms restricted so that reasoning is decidable

DAML PI meeting, Nashua, July 2001 – p.5/9

slide-14
SLIDE 14

Decidable Reasoning

Set of operators/axioms restricted so that reasoning is decidable ☞ Significant point on tractability -v- expressiveness scale

DAML PI meeting, Nashua, July 2001 – p.5/9

slide-15
SLIDE 15

Decidable Reasoning

Set of operators/axioms restricted so that reasoning is decidable ☞ Significant point on tractability -v- expressiveness scale ☞ Consistent with Semantic Web’s layered architecture

  • XML provides syntax transport layer
  • RDF provides basic ontological primitives
  • DAML+OIL provides (decidable) logical layer
  • Further layers (e.g., rules) will extend DAML+OIL

DAML PI meeting, Nashua, July 2001 – p.5/9

slide-16
SLIDE 16

Decidable Reasoning

Set of operators/axioms restricted so that reasoning is decidable ☞ Significant point on tractability -v- expressiveness scale ☞ Consistent with Semantic Web’s layered architecture

  • XML provides syntax transport layer
  • RDF provides basic ontological primitives
  • DAML+OIL provides (decidable) logical layer
  • Further layers (e.g., rules) will extend DAML+OIL

☞ Facilitates provision of reasoning services

  • Known algorithms
  • Implemented systems
  • Evidence of empirical tractability

DAML PI meeting, Nashua, July 2001 – p.5/9

slide-17
SLIDE 17

Why Reasoning Services?

Reasoning is important for:

DAML PI meeting, Nashua, July 2001 – p.6/9

slide-18
SLIDE 18

Why Reasoning Services?

Reasoning is important for: ☞ Ontology design

  • Check class consistency and (unexpected) implied relationships
  • Particularly important with large ontologies/multiple authors

DAML PI meeting, Nashua, July 2001 – p.6/9

slide-19
SLIDE 19

Why Reasoning Services?

Reasoning is important for: ☞ Ontology design

  • Check class consistency and (unexpected) implied relationships
  • Particularly important with large ontologies/multiple authors

☞ Ontology integration

  • Assert inter-ontology relationships
  • Reasoner computes integrated class hierarchy/consistency

DAML PI meeting, Nashua, July 2001 – p.6/9

slide-20
SLIDE 20

Why Reasoning Services?

Reasoning is important for: ☞ Ontology design

  • Check class consistency and (unexpected) implied relationships
  • Particularly important with large ontologies/multiple authors

☞ Ontology integration

  • Assert inter-ontology relationships
  • Reasoner computes integrated class hierarchy/consistency

☞ Ontology deployment

  • Determine if set of facts are consistent w.r.t. ontology
  • Determine if individuals are instances of ontology classes
  • No point in having semantics unless exploited by “agents”

DAML PI meeting, Nashua, July 2001 – p.6/9

slide-21
SLIDE 21

Why Reasoning Services?

Reasoning is important for: ☞ Ontology design

  • Check class consistency and (unexpected) implied relationships
  • Particularly important with large ontologies/multiple authors

☞ Ontology integration

  • Assert inter-ontology relationships
  • Reasoner computes integrated class hierarchy/consistency

☞ Ontology deployment

  • Determine if set of facts are consistent w.r.t. ontology
  • Determine if individuals are instances of ontology classes
  • No point in having semantics unless exploited by “agents”

“The Semantic Web needs a logic on top” (Henry Thompson)

DAML PI meeting, Nashua, July 2001 – p.6/9

slide-22
SLIDE 22

OilEd

OilEd is a DAML+OIL ontology editor with reasoning support

DAML PI meeting, Nashua, July 2001 – p.7/9

slide-23
SLIDE 23

OilEd

OilEd is a DAML+OIL ontology editor with reasoning support ☞ Frame based interface (inspired by Protegé)

DAML PI meeting, Nashua, July 2001 – p.7/9

slide-24
SLIDE 24

OilEd

OilEd is a DAML+OIL ontology editor with reasoning support ☞ Frame based interface (inspired by Protegé) ☞ Extended to clarify semantics and capture whole language

  • Explicit ∃ (hasClass) or ∀ (toClass) restrictions
  • Boolean connectives (∧, ∨, ¬) and nesting
  • Transitive and unique (functional) properties

DAML PI meeting, Nashua, July 2001 – p.7/9

slide-25
SLIDE 25

OilEd

OilEd is a DAML+OIL ontology editor with reasoning support ☞ Frame based interface (inspired by Protegé) ☞ Extended to clarify semantics and capture whole language

  • Explicit ∃ (hasClass) or ∀ (toClass) restrictions
  • Boolean connectives (∧, ∨, ¬) and nesting
  • Transitive and unique (functional) properties

☞ Reasoning support provided by FaCT system

  • Ontology translated into SHIQ DL
  • Communicates with FaCT via CORBA interface
  • Indicates inconsistencies and implicit subsumptions
  • Can add axioms to make implicit subsumptions explicit

DAML PI meeting, Nashua, July 2001 – p.7/9

slide-26
SLIDE 26

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-27
SLIDE 27

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc.

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-28
SLIDE 28

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-29
SLIDE 29

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-30
SLIDE 30

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms Stomach-Ulcer . = Ulcer ∧ ∃hasLocation.Stomach plus Stomach-Ulcer ⊑ ∃hasLocation.Lining-Of-Stomach ⇒ Ulcer ∧ ∃hasLocation.Stomach ⊑ OrganLiningLesion

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-31
SLIDE 31

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms Stomach-Ulcer . = Ulcer ∧ ∃hasLocation.Stomach plus Stomach-Ulcer ⊑ ∃hasLocation.Lining-Of-Stomach ⇒ Ulcer ∧ ∃hasLocation.Stomach ⊑ OrganLiningLesion ☞ Inverse roles capture e.g. causes/causedBy relationship

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-32
SLIDE 32

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms Stomach-Ulcer . = Ulcer ∧ ∃hasLocation.Stomach plus Stomach-Ulcer ⊑ ∃hasLocation.Lining-Of-Stomach ⇒ Ulcer ∧ ∃hasLocation.Stomach ⊑ OrganLiningLesion ☞ Inverse roles capture e.g. causes/causedBy relationship Death ∧ ∃causedBy.Smoking ⊑ PrematureDeath ⇒ Smoking ⊑ ∃causes.PrematureDeath

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-33
SLIDE 33

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms Stomach-Ulcer . = Ulcer ∧ ∃hasLocation.Stomach plus Stomach-Ulcer ⊑ ∃hasLocation.Lining-Of-Stomach ⇒ Ulcer ∧ ∃hasLocation.Stomach ⊑ OrganLiningLesion ☞ Inverse roles capture e.g. causes/causedBy relationship Death ∧ ∃causedBy.Smoking ⊑ PrematureDeath ⇒ Smoking ⊑ ∃causes.PrematureDeath ☞ Cardinality restrictions add consistency constraints

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-34
SLIDE 34

Reasoning Examples — what you CAN do

E.g., DAML+OIL medical terminology ontology ☞ Transitive roles capture partonomy, causality, etc. Smoking ⊑ ∃causes.Cancer plus Cancer ⊑ ∃causes.Death ⇒ Smoking ⊑ ∃causes.Death ☞ Multiple equality/inclusion axioms Stomach-Ulcer . = Ulcer ∧ ∃hasLocation.Stomach plus Stomach-Ulcer ⊑ ∃hasLocation.Lining-Of-Stomach ⇒ Ulcer ∧ ∃hasLocation.Stomach ⊑ OrganLiningLesion ☞ Inverse roles capture e.g. causes/causedBy relationship Death ∧ ∃causedBy.Smoking ⊑ PrematureDeath ⇒ Smoking ⊑ ∃causes.PrematureDeath ☞ Cardinality restrictions add consistency constraints BloodPressure ⊑ ∃hasValue.(High ∨ Low) ∧ 1hasValue plus High ⊑ ¬Low ⇒ HighLowBloodPressure ⊑ ⊥

DAML PI meeting, Nashua, July 2001 – p.8/9

slide-35
SLIDE 35

Reasoning Examples — what you CAN’T do

Where to begin!

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-36
SLIDE 36

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-37
SLIDE 37

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

☞ No property constructors, e.g.:

  • parent ◦ brother ⊑ uncle
  • ancestor .

= parent+

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-38
SLIDE 38

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

☞ No property constructors, e.g.:

  • parent ◦ brother ⊑ uncle
  • ancestor .

= parent+ ☞ No variables, e.g.:

  • Ulcer ∧ ∃hasLocation.?x ⊑ ∃hasLocation.(∃LiningOf.?x)

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-39
SLIDE 39

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

☞ No property constructors, e.g.:

  • parent ◦ brother ⊑ uncle
  • ancestor .

= parent+ ☞ No variables, e.g.:

  • Ulcer ∧ ∃hasLocation.?x ⊑ ∃hasLocation.(∃LiningOf.?x)

☞ Only have unary and binary predicates

  • Can’t express (directly) P(x, y, z)

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-40
SLIDE 40

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

☞ No property constructors, e.g.:

  • parent ◦ brother ⊑ uncle
  • ancestor .

= parent+ ☞ No variables, e.g.:

  • Ulcer ∧ ∃hasLocation.?x ⊑ ∃hasLocation.(∃LiningOf.?x)

☞ Only have unary and binary predicates

  • Can’t express (directly) P(x, y, z)

Language extensions may remove some of above limitations

DAML PI meeting, Nashua, July 2001 – p.9/9

slide-41
SLIDE 41

Reasoning Examples — what you CAN’T do

Where to begin! ☞ Robust decidability largely due to tree model property

  • For any consistent class there exists a tree (like) model

☞ No property constructors, e.g.:

  • parent ◦ brother ⊑ uncle
  • ancestor .

= parent+ ☞ No variables, e.g.:

  • Ulcer ∧ ∃hasLocation.?x ⊑ ∃hasLocation.(∃LiningOf.?x)

☞ Only have unary and binary predicates

  • Can’t express (directly) P(x, y, z)

Language extensions may remove some of above limitations ☞ But there is no such thing as a free lunch

DAML PI meeting, Nashua, July 2001 – p.9/9