Table of Contents

View page as slide show Export page to Open Document format

Description Logics and OWL in the Semantic Web

Weronika T. Furmańska wtf@agh.edu.pl, Grzegorz J. Nalepa gjn@agh.edu.pl


SW logo DL logo

Outline

Semantic Web

Semantic Web Layer Cake(s)

sw layer cakes

Resource Description Framework

RDF Schema

RDFS - difficulties

Desirable features identified for Web Ontology Language

Towards Web Ontology Language...

Ontology in Computer Science


Description Logics

Description Logics

History and Background

semantic network example

Examples of DL expressions

KR system based on DL

KRS

Relation to First Order Logic

DL and FOPL Compared


Description DL syntax FOL syntax Set algebra
A man is a male and an adult and a person  C_{1} \sqcap ... \sqcap C_{n}  C_{1}(x) \land ... \land C_{n}(x)  C_{1} \cap ... \cap C_{n}
A newspaper is a broadsheet or a tabloid  C_{1} \sqcup ... \sqcup C_{n}  C_{1}(x) \lor ... \lor C_{n}(x)  C_{1} \cup ... \cup C_{n}
Everything a vegetarian eats is not an animal   \neg C   \neg C(x)  C^c (complement of set)
EU countries are: Germany, France, …, Poland   \lbrace x_{1} \rbrace \sqcup ... \sqcup \lbrace x_{n} \rbrace   x=x_{1} \lor ... \lor x=x_{n}   \lbrace x_{1} \rbrace \cup ... \cup \lbrace x_{n} \rbrace
An old lady has only cats   \forall P.C   \forall y.P(x,y) \rightarrow C(y)  \pi_Y(P) \subseteq C
A dog owner has some dog(s)   \exists P.C   \exists y.P(x,y) \land C(y) \pi_Y(P) \cap C \neq \emptyset (Π - projection)
A reasonable man has maximum 1 woman ;-)   \leq nP   \exists^{\leq n}y.P(x,y)  card(P)\leq n (card - cardinality)
An animal lover has minimun 3 pets   \geq nP   \exists^{\geq n}y.P(x,y)   card(P) \geq n
A kid is the same as a young person   C \equiv D   \forall x.C(x) \leftrightarrow D(x)   C \equiv D
Every cat is an animal   C \sqsubseteq D   \forall x.C(x) \rightarrow D(x)  C \subseteq D

Applications of DL and DL-based systems


Basic DL

AL syntax

AL semantics

AL syntax and semantics table


Constructor Syntax Semantics
(atomic concept)   A        A^{\mathcal{I}} = A^{\mathcal{I}} \subseteq \Delta^{\mathcal{I}}
(atomic role)   R        R^{\mathcal{I}} = R^{\mathcal{I}} \subseteq \Delta^{\mathcal{I}} \times \Delta^{\mathcal{I}}
(universal concept)    \top    \top^{\mathcal{I}} = \Delta^{\mathcal{I}}
(bottom concept)    \bot    \bot^{\mathcal{I}} = \emptyset
(atomic negation)    \neg A   (\neg A)^{\mathcal{I}} = \Delta^{\mathcal{I}} \setminus A^{\mathcal{I}}
(intersection)    C \sqcap D      (C \sqcap D)^{\mathcal{I}} = C^{\mathcal{I}} \cap D^{\mathcal{I}}
(value restriction)    \forall R.C     (\forall R.C)^\mathcal{I} = \lbrace a \in \Delta^\mathcal{I} \vert \forall b, (a,b) \in R^\mathcal{I} \rightarrow b \in C^{\mathcal{I}} \rbrace
(limited existential quantification)   \exists R.\top    (\exists R.\top)^\mathcal{I} = \lbrace a \in \Delta^\mathcal{I} \vert \exists b, (a,b) \in R^\mathcal{I} } \rbrace

Examples

DL "families"

ALC

Terminologies (TBox)

Selected definitions...

TBox semantics

TBox Example

 
\\
Animal \sqsubseteq \exists eats. \top \\
\mathit{Giraffe}  \sqsubseteq  Animal\\
Giraffe  \sqsubseteq  \forall eats.Leaf\\


\\
Vegetarian \equiv (\forall eats.(\neg (\exists partOf.Animal))) \sqcap (\forall eats.(\neg Animal)) \sqcap Animal\\
Cow \sqsubseteq Vegetarian\\
MadCow \equiv \exists eats.(\exists partOf.Sheep \sqcap Brain) \sqcap Cow \\

 
\\
Elderly \sqsubseteq  Adult\\
OldLady \equiv Elderly \sqcap Female \sqcap Person \\

 
\\
OldLady \sqsubseteq  \exists hasPet.Animal \sqcap \forall hasPet.Cat \\ 
DogOwner \equiv Person \sqcap \exists hasPet.Dog \\
AnimalLover \equiv Person \sqcap \geq 3 hasPet \\

World Description (ABox)

ABox semantics

ABox Example

 
\\Cat(Tibbs)\\
Dog(Fido)\\
Cow(Flossie)\\
\\
Person(Fred)\\
Person(Joe)\\
\leq 1 hasPet(Joe)\\
Female(Minnie)\\
Male(Mick)\\
\\
hasPet(Joe, Fido)\\
hasPet(Fred,Tibbs)\\
isPetOf(Rex,Mick)\\
\\
reads(Mick, DailyMirror)\\
drives(Mick, Q123ABC)\\
\\
Van(Q123ABC)\\
WhiteThing(Q123ABC)\\

Nominals in TBox


Constructor Semantics
 \lbrace a_{1}, ..., a_{n} \rbrace  \lbrace a_{1}, ..., a_{n} \rbrace^{\mathcal{I}} = \lbrace a_{1}^{\mathcal{I}}, ..., a_{n}^{\mathcal{I}} \rbrace
 R : a (R : a)^{\mathcal{I}} = \lbrace d \in \Delta^{\mathcal{I}} \vert (d,a)^{\mathcal{I}} \in R^{\mathcal{I}}

DL Inference

Reasoning tasks for TBox

Reasoning tasks for ABox

Reduction of reasoning tasks

Open World semantics

Rules

Structural subsumption algorithms

but

Tableau algorithms

  1. use of the fact that: C is subsumed by D ⇔ C \sqcap \neg D is unsatisfiable
  2. start from ground facts (ABox axioms)
  3. syntactic decomposition using tableaux expansion rules
    • Tableau rules correspond to constructors in logic ( \sqcap, \sqcup, ...)
    • Some rules are nondeterministic (e.g.,   \sqcup, \leq ) (In practice, this means search)
  4. Inferring constraints on (elements of) model
  5. Stop when no more rules applicable or clash occurs
    • Cycle check (blocking) often needed to ensure termination

Inference Example

Language extensions

DL family vs. reasoning complexity


OWL - Web Ontology Language

OWL

DL and OWL

3 species of OWL

  1. OWL Full is union of OWL syntax and RDF
    • RDF semantics extended with relevant semantic conditions and axiomatic triples
  2. OWL DL is restricted to FOL fragment (≈ DAML+OIL)
    • Has standard (First Order) model theoretic semantics
    • Equivalent to SHOIN(D)
  3. OWL Lite is “simpler” subset of OWL DL
    • Equivalent to SHIF(D)

OWL and DL Syntax Compared


OWL Constructor DL syntax OWL Axiom DL syntax
Thing  \top equivalentClass   C \equiv D
Nothing  \bot suClassOf  C \sqsubseteq D
complementOf  (\neg) equivalentProperty  S \equiv R
intersectionOf  (C \sqcap D) subPropertyOf  S \sqsubseteq R
unionOf  (C \sqcup D) inverseOf  S \equiv R^-
allValuesFrom  (\forall R.C) transitiveProperty  R^+ \sqsubseteq R
someValuesFrom  (\exists R.C) functionalProperty  \top \sqsubseteq \leq 1 R
minCardinality  (\geq n R) sameIndividualAs  a = b
maxCardinality  (\leq n R) differentFrom  a \neq b
oneOf  \lbrace a_1, ..., a_n \rbrace

OWL - Abstract syntax

Ontology(
 Class(pp:male partial)
 Class(pp:adult partial)
 Class(pp:elderly partial pp:adult)

 Class(pp:pet complete restriction(pp:is_pet_of someValuesFrom(owl:Thing)))

 Class(pp:animal partial restriction(pp:eats someValuesFrom(owl:Thing)))

 /* Vegetarians do not eat animals or parts of animals */

 Class(pp:vegetarian complete 
    intersectionOf(pp:animal
      restriction(pp:eats allValuesFrom(complementOf(pp:animal)))
      restriction(pp:eats 
	 allValuesFrom(complementOf(restriction(pp:part_of 
					        someValuesFrom(pp:animal)))))))

 DisjointClasses(pp:dog pp:cat)

 ObjectProperty(pp:eaten_by)
 ObjectProperty(pp:eats inverseOf(pp:eaten_by) domain(pp:animal)) 

 SubPropertyOf(pp:has_pet pp:likes)

 Individual(pp:Tom type(owl:Thing))
 Individual(pp:Tibbs type(pp:cat))

OWL - XML syntax

<owl:Class>
  <owl:intersectionOf rdf:parseType="collection">
    <owl:Class rdf:about="#Person"/>
    <owl:Restriction>
      <owl:onProperty rdf:resource="#hasChild"/>
      <owl:toClass>
        <owl:unionOf rdf:parseType="collection">
          <owl:Class rdf:about="#Doctor"/>
          <owl:Restriction>
            <owl:onProperty rdf:resource="#hasChild"/>
            <owl:hasClass rdf:resource="#Doctor"/>
          </owl:Restriction>
        </owl:unionOf>
      </owl:toClass>
    </owl:Restriction>
  </owl:intersectionOf>
</owl:Class>

Increased Expressive Power - Datatypes and Nominals

Reasoning in OWL DL

Future challenges

Rule languages over OWL

If you want to know more

References

Thank you



SW logo DL logo