Knowledge Representation for the Semantic Web Lecture 4: Description - - PowerPoint PPT Presentation

knowledge representation for the semantic web lecture 4
SMART_READER_LITE
LIVE PREVIEW

Knowledge Representation for the Semantic Web Lecture 4: Description - - PowerPoint PPT Presentation

Modeling Description Logics and OWL Knowledge Representation for the Semantic Web Lecture 4: Description Logics III Daria Stepanova slides based on Reasoning Web 2011 tutorial Foundations of Description Logics and OWL by S. Rudolph Max


slide-1
SLIDE 1

Modeling Description Logics and OWL

Knowledge Representation for the Semantic Web Lecture 4: Description Logics III

Daria Stepanova

slides based on Reasoning Web 2011 tutorial “Foundations of Description Logics and OWL” by S. Rudolph

Max Planck Institute for Informatics D5: Databases and Information Systems group

WS 2017/18

1 / 33

slide-2
SLIDE 2

Modeling Description Logics and OWL

Unit Outline

Modeling Description Logics and OWL

2 / 33

slide-3
SLIDE 3

Modeling Description Logics and OWL

Modeling

3 / 33

slide-4
SLIDE 4

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors: ❼ ❼ ❼

4 / 33

slide-5
SLIDE 5

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ ❼ ❼

4 / 33

slide-6
SLIDE 6

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married: ❼ ❼

4 / 33

slide-7
SLIDE 7

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married:

married(angelina, brad)

❼ ❼

4 / 33

slide-8
SLIDE 8

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married:

married(angelina, brad)

❼ every actor is an artist: ❼

4 / 33

slide-9
SLIDE 9

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married:

married(angelina, brad)

❼ every actor is an artist:

Actor ⊑ Artist ∀x.Actor(x) → Artist(x)

4 / 33

slide-10
SLIDE 10

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married:

married(angelina, brad)

❼ every actor is an artist:

Actor ⊑ Artist ∀x.Actor(x) → Artist(x)

❼ every actor who is a US governor is also a bodybuilder or not

Austrian:

4 / 33

slide-11
SLIDE 11

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples

❼ individual angelina belongs to the set of all actors:

Actor(angelina)

❼ individuals angelina and brad are in the relation of being married:

married(angelina, brad)

❼ every actor is an artist:

Actor ⊑ Artist ∀x.Actor(x) → Artist(x)

❼ every actor who is a US governor is also a bodybuilder or not

Austrian: Actor ⊓ USGovernor ⊑ Bodybuilder ⊔ ¬Austrian ∀x. (Actor(x) ∧ USGovernor(x)) → (BodyBuilder(x) ∨ ¬Austrian(x))

4 / 33

slide-12
SLIDE 12

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends: ❼ ❼

5 / 33

slide-13
SLIDE 13

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends:

∃knows.Actor ⊑ ∀hasfriend.Envious ∀x (∃y (knows(x, y) ∧ Actor(y)) → ∀z (hasfriend(x, z) → Envious(z)))

❼ ❼

5 / 33

slide-14
SLIDE 14

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends:

∃knows.Actor ⊑ ∀hasfriend.Envious ∀x (∃y (knows(x, y) ∧ Actor(y)) → ∀z (hasfriend(x, z) → Envious(z)))

❼ everybody having a child is the child of only grandparents: ❼

5 / 33

slide-15
SLIDE 15

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends:

∃knows.Actor ⊑ ∀hasfriend.Envious ∀x (∃y (knows(x, y) ∧ Actor(y)) → ∀z (hasfriend(x, z) → Envious(z)))

❼ everybody having a child is the child of only grandparents:

∃hasChild.⊤ ⊑ ∀hasChild−.Grandparent ∀x (∃y (hasChild(x, y)) → ∀z (hasChild(z, x) → Grandparent(x)))

5 / 33

slide-16
SLIDE 16

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends:

∃knows.Actor ⊑ ∀hasfriend.Envious ∀x (∃y (knows(x, y) ∧ Actor(y)) → ∀z (hasfriend(x, z) → Envious(z)))

❼ everybody having a child is the child of only grandparents:

∃hasChild.⊤ ⊑ ∀hasChild−.Grandparent ∀x (∃y (hasChild(x, y)) → ∀z (hasChild(z, x) → Grandparent(x)))

❼ a polygamist is married to at least two distinct individuals:

5 / 33

slide-17
SLIDE 17

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ everybody knowing some actor has only envious friends:

∃knows.Actor ⊑ ∀hasfriend.Envious ∀x (∃y (knows(x, y) ∧ Actor(y)) → ∀z (hasfriend(x, z) → Envious(z)))

❼ everybody having a child is the child of only grandparents:

∃hasChild.⊤ ⊑ ∀hasChild−.Grandparent ∀x (∃y (hasChild(x, y)) → ∀z (hasChild(z, x) → Grandparent(x)))

❼ a polygamist is married to at least two distinct individuals:

Polygamist ⊑ ≥ 2 marriedTo.⊤ ∀x (Polygamist(x) → ∃y∃z (marriedTo(x, y) ∧ marriedTo(x, z) ∧ y = z))

5 / 33

slide-18
SLIDE 18

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina: ❼ ❼

6 / 33

slide-19
SLIDE 19

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina:

∃marriedTo.{brad} ⊑ {angelina} ∃x (marriedTo(x, brad) → x = angelina)

❼ ❼

6 / 33

slide-20
SLIDE 20

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina:

∃marriedTo.{brad} ⊑ {angelina} ∃x (marriedTo(x, brad) → x = angelina)

❼ being married to somebody implies loving them: ❼

6 / 33

slide-21
SLIDE 21

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina:

∃marriedTo.{brad} ⊑ {angelina} ∃x (marriedTo(x, brad) → x = angelina)

❼ being married to somebody implies loving them:

marriedTo ⊑ loves ∀x∀y married(x, y) → loves(x, y)

6 / 33

slide-22
SLIDE 22

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina:

∃marriedTo.{brad} ⊑ {angelina} ∃x (marriedTo(x, brad) → x = angelina)

❼ being married to somebody implies loving them:

marriedTo ⊑ loves ∀x∀y married(x, y) → loves(x, y)

❼ the child of somebody I am a child of is my sibling:

6 / 33

slide-23
SLIDE 23

Modeling Description Logics and OWL

Modeling with DLs: Motivating Examples, cont’d.

❼ being married to Brad is a property only applying to Angelina:

∃marriedTo.{brad} ⊑ {angelina} ∃x (marriedTo(x, brad) → x = angelina)

❼ being married to somebody implies loving them:

marriedTo ⊑ loves ∀x∀y married(x, y) → loves(x, y)

❼ the child of somebody I am a child of is my sibling:

hasChild− ◦ hasChild ⊑ hasSibling ∀x∀y∀z (hasChild(y, x) ∧ hasChild(y, z) → hasSibling(x, z))

6 / 33

slide-24
SLIDE 24

Modeling Description Logics and OWL

Frequent Modeling Features

❼ domain ❼ range

  • r

❼ concept disjointness

  • r

❼ role symmetry ❼ role transitivity

∃authorOf .⊤ ⊑ Person ⊤ ⊑ ∀authorOf .Publication ∃authorOf −.⊤ ⊑ Publication Male ⊓ Female ⊑ ⊥ Male ⊑ ¬Female marriedWith ⊑ marriedWith− partOf ◦ partOf ⊑ partOf

7 / 33

slide-25
SLIDE 25

Modeling Description Logics and OWL

Number Restrictions

❼ allow for defining that a role is functional

⊤ ⊑ ≤ 1 hasFather.⊤

❼ ...or inverse functional

⊤ ⊑ ≤ 1 hasFather−.⊤

❼ allow for enforcing an infinite domain

(∀succ−.⊥)(zero) ⊤ ⊑ ∃succ.⊤ ⊤ ⊑ ≤ 1.succ−.⊤

❼ Consequently, DLs with number restrictions and inverses do not

have the finite model property.

8 / 33

slide-26
SLIDE 26

Modeling Description Logics and OWL

Nominal Concept and Universal Role

❼ allow to restrict the size of concepts

AtMostTwo ⊑ {one, two} AtMostTwo ⊑ ≤ 2u.⊤

❼ even allow to restrict the size of the domain

⊤ ⊑ {one, two} ⊤ ⊑ ≤ 2u.⊤

9 / 33

slide-27
SLIDE 27

Modeling Description Logics and OWL

Self-Restriction

❼ allows to define a role as reflexive

⊤ ⊑ ∃knows.Self

❼ allows to define a role as irreflexive

∃betterThan.Self ⊑ ⊥

❼ together with number restrictions, we can even axiomatize equality

⊤ ⊑ ∃equals.Self ⊤ ⊑ ≤ 1equals.⊤

10 / 33

slide-28
SLIDE 28

Modeling Description Logics and OWL

Axioms vs. Constraints

Note: GCIs may not serve as constraints that eliminate models.

❼ every employee must have a social security number (SSN)

❼ informal constraint: “if employee x has no social security number,

then infer contradiction (falsity)”

❼ transcribed into a DL axiom:

Employee ⊓ ¬∃hasSSN ⊑ ⊥

  • α

❼ let KB = {Employee(Joe), α}

❼ this knowledge base is consistent! ❼ it assigns informally a null-value to Joe’s SSN ❼ α is logically equivalent to Employee ⊑ ∃hasSSN

❼ no possibility to express (independent of concrete data) that every

employee has a known SSN

11 / 33

slide-29
SLIDE 29

Modeling Description Logics and OWL

Axioms vs. Constraints, cont’d

Uniqueness constraints might not eliminate models either

❼ define that hasSSN is inverse functional, and add some data: ❼ for

KB =    ⊤ ⊑ ≤ 1 hasSSN −.⊤, hasSSN (Joe, 4711), hasSSN (Jeff , 4711)    we can conclude that KB | = Joe ≈ Jeff

❼ there is no Unique Name Assumption (UNA) by default

Reminer: UNA If c1 and c2 are two individuals such that c1 = c2, then cI

1 = cI 2

12 / 33

slide-30
SLIDE 30

Modeling Description Logics and OWL

Description Logics and OWL

13 / 33

slide-31
SLIDE 31

Modeling Description Logics and OWL

Semantic Web

http://www.w3.org/2007/03/layerCake.png

❼ Resource Description Framework (RDF): triple statements (S, P, O) ❼ RDF Schema (RDFS): simple classes/property taxonomies ❼ Web Ontology Language (OWL): more constructs, based on DLs ❼ SPARQL is a RDF query language (also used for RDFS and OWL) ❼ RIF is a rule interchange format

14 / 33

slide-32
SLIDE 32

Modeling Description Logics and OWL

Semantic Web

http://www.w3.org/2007/03/layerCake.png

❼ Resource Description Framework (RDF): triple statements (S, P, O) ❼ RDF Schema (RDFS): simple classes/property taxonomies ❼ Web Ontology Language (OWL): more constructs, based on DLs ❼ SPARQL is a RDF query language (also used for RDFS and OWL) ❼ RIF is a rule interchange format

14 / 33

slide-33
SLIDE 33

Modeling Description Logics and OWL

OWL Ontologies

❼ 2004: Web Ontology Language (OWL): W3C standard ❼ Knowledge about concepts, individuals, their properties and

relationships

❼ ❼ ❼

❼ ❼

15 / 33

slide-34
SLIDE 34

Modeling Description Logics and OWL

OWL Ontologies

❼ 2004: Web Ontology Language (OWL): W3C standard ❼ Knowledge about concepts, individuals, their properties and

relationships

❼ Three increasingly expressive sublanguages

❼ OWL Lite: concept hierarchies, simple constraint features (⇋ SHIF with datatypes) ❼ OWL DL : nominals, number restriction (⇋ SHOIN with datatypesa) ❼ OWL Full: allow, e.g. to treat classes as individuals

aDatatype can be seen as a unary predicate with a built-in interpretation

(e.g., the xsd:integer datatype is interpreted as the set of all integer values)

❼ ❼

15 / 33

slide-35
SLIDE 35

Modeling Description Logics and OWL

OWL Ontologies

❼ 2004: Web Ontology Language (OWL): W3C standard ❼ Knowledge about concepts, individuals, their properties and

relationships

❼ Three increasingly expressive sublanguages

❼ OWL Lite: concept hierarchies, simple constraint features (⇋ SHIF with datatypes) ❼ OWL DL : nominals, number restriction (⇋ SHOIN with datatypesa) ❼ OWL Full: allow, e.g. to treat classes as individuals

aDatatype can be seen as a unary predicate with a built-in interpretation

(e.g., the xsd:integer datatype is interpreted as the set of all integer values)

❼ 2009: OWL2: redefines OWL DL and adds profiles EL, QL, RL ❼ OWL syntax is based on RDF, common: RDF/XML, turtle syntax

(in this lecture turtle is used just for demonstration)

http://www.w3.org/TR/turtle/

15 / 33

slide-36
SLIDE 36

Modeling Description Logics and OWL

How Do OWL2 and DLs Relate?

❼ OWL2 DL is essentially

❼ SROIQ in disguise ❼ plus extended datatype support ❼ plus extralogical features such as annotations, versioning, etc.

❼ ❼

16 / 33

slide-37
SLIDE 37

Modeling Description Logics and OWL

How Do OWL2 and DLs Relate?

❼ OWL2 DL is essentially

❼ SROIQ in disguise ❼ plus extended datatype support ❼ plus extralogical features such as annotations, versioning, etc.

❼ tractable OWL2 profiles EL, QL and RL correspond roughly to

description logics EL++, DL-Lite, and description logic programs

16 / 33

slide-38
SLIDE 38

Modeling Description Logics and OWL

How Do OWL2 and DLs Relate?

❼ OWL2 DL is essentially

❼ SROIQ in disguise ❼ plus extended datatype support ❼ plus extralogical features such as annotations, versioning, etc.

❼ tractable OWL2 profiles EL, QL and RL correspond roughly to

description logics EL++, DL-Lite, and description logic programs

❼ OWL and DL terminologies slightly differ for historical reasons OWL DL FOL class name concept name unary predicate class concept formula with one free variable

  • bject property name

role name binary predicate

  • bject property

role formula with two free variables

  • ntology

knowledge base theory axiom axiom sentence vocabulary vocabulary/signature signature

16 / 33

slide-39
SLIDE 39

Modeling Description Logics and OWL

Translating DL into OWL

❼ Next to the logic part, an OWL ontology features a preamble and a

declaration part (turtle syntax): [ [KB] ] = Pre + Dec(KB) + Σα∈KB[ [α] ] Pre =     

@prefix owl: <http://www.w3.org/2002/07/owl#> @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> @prefix xsd: <http://www.w3.org/2001/XMLSchema#>

Dec(KB) = ΣA∈NC(KB) A rdf:type owl:Class + Σr∈NR(KB) r rdf:type owl:ObjectProperty

17 / 33

slide-40
SLIDE 40

Modeling Description Logics and OWL

Translating DL Axioms into OWL

❼ Following the Semantic Web rationale, OWL axioms are expressed

using RDF, i.e. as triples. As far as possible, RDFS vocabulary is reused

r1 ◦ . . . ◦ rn ⊑ r . = r owl:propertyChainAxiom (r1, . . . , rn) . Dis(r, r′) . = r owl:propertyDisjointWith r′ . C ⊑ D . = C owl:subClassOf D . C(a) . = a rdf:type C . r(a, b) . = a r b . r−(a, b) . = b r a . ¬r(a, b) . = [] rdf:type owl:NegativePropertyAssertion ;

  • wl:assertionProperty r ;
  • wl:sourceIndividual a ; owl:targetValue b .

a ≈ b . = a owl:sameAs b . a ≈ b . = a owl:differentFrom b .

18 / 33

slide-41
SLIDE 41

Modeling Description Logics and OWL

Translating DL Axioms into OWL, cont’d.

u . =

  • wl:topObjectProperty .

r . = r . r− . = [ owl:inverseOf : r ] . A . = A . ⊤ . =

  • wl:Thing .

⊥ . =

  • wl:Nothing .

{a1, . . . , an} . = [ rdf:type owl:Class ; owl:oneOf (: a1 . . . : an) ] . ¬C . = [ rdf:type owl:Class ; owl:complementOf C ] . C1 ⊓ . . . ⊓ Cn . = [ rdf:type owl:Class ; owl:intersectionOf (C1 . . . Cn) ] . C1 ⊔ . . . ⊔ Cn . = [ rdf:type owl:Class ; owl:unionOf (C1 . . . Cn) ] .

19 / 33

slide-42
SLIDE 42

Modeling Description Logics and OWL

Translating DL Axioms into OWL ctd.

∃r.C . = [ rdf:type owl:Restriction ;

  • wl:onProperty r ; owl:someValuesFrom C ] .

∀r.C . = [ rdf:type owl:Restriction ;

  • wl:onProperty r ; owl:allValuesFrom C ] .

∃r.Self . = [ rdf:type owl:Restriction ;

  • wl:onProperty r ; owl:hasSelf ’’true’’ xsd:boolean ] .

≥ rn.C . = [ rdf:type owl:Restriction ;

  • wl:minQualifiedCardinality n xsd:nonNegativeInteger;
  • wl:onProperty r ; owl:onClass C ] .

≤ rn.C . = [ rdf:type owl:Restriction ;

  • wl:maxQualifiedCardinality n xsd:nonNegativeInteger;
  • wl:onProperty r ; owl:onClass C ] .

20 / 33

slide-43
SLIDE 43

Modeling Description Logics and OWL

Behind the Scenes: Cat Example

RBox R

  • wns

⊑ caresFor ”If somebody owns something, s/he cares for it.” TBox T Healthy ⊑ ¬Dead ”Healthy beings are not dead.” Cat ⊑ Dead ⊔ Alive ”Every cat is dead or alive.” HappyCatOwner ⊑ ∃owns.Cat ⊓ ∀caresFor.Healthy ”A happy cat owner owns a cat and all beings he cares for are healthy.” ABox A HappyCatOwner(schroedinger) ”Schr¨

  • dinger is a happy cat owner.”

21 / 33

slide-44
SLIDE 44

Modeling Description Logics and OWL

Behind the Scenes ctd.

:owns rdfs:SubPropertyOf :caresFor . :Healthy rdfs:subClassOf [ owl:complementOf :Dead ]. :Cat rdfs:subClassOf [ owl:unionOf (:Dead :Alive) ] . :HappyCatOwner rdfs:subClassOf [ owl:intersectionOf ( [ rdf:type owl:restriction ;

  • wl:onProperty :owns ; owl:someValuesFrom :Cat ]

[ rdf:type owl:Restriction ;

  • wl:onProperty :caresFor ; owl:allValuesFrom :Healthy ] )

] . :schroedinger rdf:type :HappyCatOwner .

22 / 33

slide-45
SLIDE 45

Modeling Description Logics and OWL

Behind the Scenes ctd.

:owns rdfs:SubPropertyOf :caresFor . :Healthy rdfs:subClassOf [ owl:complementOf :Dead ]. :Cat rdfs:subClassOf [ owl:unionOf (:Dead :Alive) ] . :HappyCatOwner rdfs:subClassOf [ owl:intersectionOf ( [ rdf:type owl:restriction ;

  • wl:onProperty :owns ; owl:someValuesFrom :Cat ]

[ rdf:type owl:Restriction ;

  • wl:onProperty :caresFor ; owl:allValuesFrom :Healthy ] )

] . :schroedinger rdf:type :HappyCatOwner .

22 / 33

slide-46
SLIDE 46

Modeling Description Logics and OWL

Paraphrasing OWL Axioms in DL

Axiom type Turtle notation DL paraphrase Class Equivalence C owl:equivalentClass D C ⊑ D, D ⊑ C Class Disjointness C owl:disjointWith D C ⊓ D ⊑ ⊥ Disjoint Classes [] rdf:type owl:AllDisjointClasses ; Ci ⊓ Cj ⊑ ⊥, for

  • wl:members (C1 . . . Cn) .

all 1 ≤ i < j ≤ n Disjoint Union C owl:disjointUnionOf (C1 . . . Cn) .

  • i<j Ci ⊑ C

Ci ⊓ Cj ⊑ ⊥, for all 1 ≤ i < j ≤ n Property Equivalence r owl:equivalentProperty s . r ⊑ s, s ⊑ r Disjoint Properties [] rdf:type owl:AllDisjointProperties . Dis(ri, rj), for

  • wl:members (r1 . . . rn) .

all 1 ≤ i < j ≤ n Inverse Properties r owl:inverseOf s . Inv(r) ⊑ s Property Domain r rdfs:domain C . ∃r.⊤ ⊑ C Property Range r rdfs:range C . ⊤ ⊑ ∀r.C

23 / 33

slide-47
SLIDE 47

Modeling Description Logics and OWL

Paraphrasing OWL Axioms in DL ctd.

Axiom type Turtle notation DL paraphrase Functional Property r rdf:type owl:FunctionalProperty . ⊤ ⊑ 1r.⊤ Inverse Functional r rdf:type Property

  • wl:InverseFunctionalProperty .

⊤ ⊑ 1Inv(r).⊤ Reflexive Property r rdf:type owl:ReflexiveProperty . ⊤ ⊑ ∃r.Self Irreflexive Property r rdf:type owl:IrreflexiveProperty . ∃r.Self ⊑ ⊥ Symmetric Property r rdf:type owl:SymmetricProperty . Inv(r) ⊑ r Asymmetric Property r rdf:type owl:AsymmetricProperty . Dis(Inv(r), r) Transitive Property r rdf:type owl:TransitiveProperty . r ◦ r ⊑ r Different Individuals [] rdf:type owl:AllDifferent ; ai ≈ aj, for all

  • wl:members(a1 . . . an) .

1 ≤ i < j ≤ n

24 / 33

slide-48
SLIDE 48

Modeling Description Logics and OWL

OWL Profiles

❼ OWL2 is highly intractable in general!

(standard reasoning is 2NEXPTIME-complete).

❼ Design principle for profiles: Identify maximal OWL sublanguages

that are still implementable in PTime.

❼ Main source of intractability: non-determinism

(reasoning requires guessing/backtracking)

❼ owl:unionOf, or owl:complementOf and owl:intersectionOf ❼ Max. cardinality restrictions ❼ Combining existentials (owl:someValuesFrom) and universals

(owl:allValuesFrom) in superclasses

❼ Non-unary finite class expressions (owl:oneOf) or datatype

expressions

→ features that are not allowed in any OWL profile. Many further features can lead to non-determinism - care needed!

25 / 33

slide-49
SLIDE 49

Modeling Description Logics and OWL

OWL2 EL

❼ OWL profile based on description logic EL++ ❼ Intuition: focus on terminological expressivity used for light-weight

  • ntologies

❼ Allow owl:someValuesFrom (existential) but not

  • wl:allValuesFrom (universal)

❼ Property domains, class/property hierarchies, class intersections,

disjoint classes/properties, property chains, owl:hasSelf,

  • wl:hasValue, and keys fully supported

❼ No inverse or symmetric properties ❼ rdfs:range allowed but with some restrictions ❼ No owl:unionOf or owl:complementOf ❼ Various restrictions on available datatypes

26 / 33

slide-50
SLIDE 50

Modeling Description Logics and OWL

OWL2 QL

❼ OWL profile that can be used to query data-rich applications

❼ often used for OBDA (ontology based data access)

❼ Intuition: use OWL concepts as light-weight queries, allow query

answering using rewriting in SQL on top of relational DBs

❼ Different restrictions on subclasses and superclasses of

rdfs:SubclassOf

❼ subclasses can only be class names or owl:someValuesFrom

(existential) with unrestricted (owl:Thing) filler

❼ superclasses can be class names, owl:someValuesFrom or

  • wl:intersectionOf with superclass filler (recursive), or
  • wl:complementOf with subclass filler

27 / 33

slide-51
SLIDE 51

Modeling Description Logics and OWL

OWL2 QL ctd.

❼ Property hierarchies, disjointness, inverses, (a)symmetry supported,

restrictions on range and domain

❼ Disjoint or equivalence of classes only for subclass-type expressions ❼ No owl:unionOf, owl:allValuesFrom, owl:hasSelf,

  • wl:hasKey, owl:hasValue, owl:oneOf, owl:sameAs,
  • wl:propertyChainAxiom, owl:TransitiveProperty,

cardinalities, functional properties

❼ Some restrictions on available datatypes

28 / 33

slide-52
SLIDE 52

Modeling Description Logics and OWL

OWL2 RL

❼ OWL profile that resembles an OWL-based rule language ❼ Intuition: subclass axioms in OWL RL can be understood as rule-like

implications with head (superclass) and body (subclass)

❼ Different restrictions on subclasses and superclasses of

rdfs:SubclassOf

❼ subclasses can only be class names, owl:oneOf, owl:hasValue,

  • wl:intersectionOf, owl:unionOf, owl:someValuesFrom if

applied only to subclass-type expressions

❼ superclasses can be class names, owl:allValuesFrom or

  • wl:hasValue; also max. cardinalities of 0 or 1 are allowed, all with

superclass-type filler expressions only

29 / 33

slide-53
SLIDE 53

Modeling Description Logics and OWL

OWL2 RL cdt.

❼ Property domains and ranges only for subclass-type expressions ❼ Full support of property hierarchies, disjointness, inverses,

(a)symmetry, transitivity, chains, (inverse)functionality, irreflexivity

❼ Disjoint classes and classes in keys need subclass-type expressions ❼ Equivalence only for expressions that are sub- and superclass-type,

no restrictions on owl:sameAs

❼ Some restrictions on available datatypes

Important feature: as in relational databases, only “named” individuals matter: Person ⊑ ∃ father Person(joe). intuitively, father of Joe is “unnamed”; axiom is not allowed in RL.

30 / 33

slide-54
SLIDE 54

Modeling Description Logics and OWL

Do We Really Need So Many OWLs?

Three new OWL profiles with somewhat complex descriptions... Why not just one?

❼ The union of any two of the profiles is no longer light-weight!

each of EL + RL, QL + EL, RL + EL is ExpTime-hard

❼ Restricting to fewer profiles: give up potentially useful feature

combinations

❼ Rationale:

❼ profiles are ”maximal” (well, not quite) well-behaved fragments of

OWL 2

❼ pick suitable feature set for applications

❼ In particular, nobody is forced to implement all of a profile

31 / 33

slide-55
SLIDE 55

Modeling Description Logics and OWL

OWL in Practice: Tools

❼ Most common editor: Prot´

eg´ e 4

❼ Other tools: TopBraid Composer, NeOn toolkit, etc. ❼ Special purpose apps, esp. for light-weight ontologies (e.g. FOAF

editors)

❼ Reasoners

❼ OWL DL: Pellet, HermiT, FaCT++, RacerPro ❼ OWL2 EL: CEL, SHER, snorocket, ELK ❼ OWL2 RL: OWLIM, Jena, Oracle Prime (part of O 11g) ❼ OWL2 QL: Owlgres, QuOnto, Quill

❼ Many tools use the OWL API library (Java) ❼ Note: many other Semantic Web tools are found online http://www.w3.org/2001/sw/wiki/OWL/Implementations http://semanticweb.org/wiki/Tools.html

32 / 33

slide-56
SLIDE 56

Modeling Description Logics and OWL

Summary

  • 1. Modeling

❼ Frequent modeling features ❼ Number restrictions ❼ Nominal concepts ❼ Self restruction

  • 2. Description Logics and OWL

❼ Relation between DLs and OWL ❼ Translating DLs into OWL ❼ OWL profiles ❼ Tools

33 / 33

slide-57
SLIDE 57

References I

Franz Baader, Diego Calvanese, Deborah McGuinness, Daniele Nardi, and Peter Patel-Schneider, editors. The Description Logic Handbook: Theory, Implementation and Applications. Cambridge University Press, 2007. Pascal Hitzler, Markus Kr¨

  • tzsch, and Sebastian Rudolph.

Foundations of Semantic Web Technologies. Chapman and Hall, 2010. Sebastian Rudolph. Foundations of description logics. In Axel Polleres, Claudia d’Amato, Marcelo Arenas, Siegfried Handschuh, Paula Kroner, Sascha Ossowski, and Peter Patel-Schneider, editors, Reasoning Web. Semantic Technologies for the Web of Data, volume 6848

  • f Lecture Notes in Computer Science, pages 76–136. Springer Berlin /

Heidelberg, 2011.