Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr...

102
Semantic Web 2. Description logics (2/2) Gerd Gr¨ oner, Matthias Thimm {groener,thimm}@uni-koblenz.de Institute for Web Science and Technologies (WeST) University of Koblenz-Landau July 9, 2013 Gerd Gr¨ oner, Matthias Thimm Semantic Web 1 / 39

Transcript of Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr...

Page 1: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Semantic Web2. Description logics (2/2)

Gerd Groner, Matthias Thimm

{groener,thimm}@uni-koblenz.de

Institute for Web Science and Technologies (WeST)University of Koblenz-Landau

July 9, 2013

Gerd Groner, Matthias Thimm Semantic Web 1 / 39

Page 2: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Recap

I Ontologies: definition and applications

I Structure of an ontologyI The description logic ALC:

I Syntax: signature, concepts, relations, axiomsI Semantic: interpretations, modelsI Inference: entailmentI ALC and first-order logics

Home assignment:Consider K2 = (T2,A2) given via

T2 = { B v D }A2 = { d : B, (c , d) : S }

Is the entailment K2 |= c : ∀S .D valid? (Home assignment)

Gerd Groner, Matthias Thimm Semantic Web 2 / 39

Page 3: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Recap

I Ontologies: definition and applications

I Structure of an ontologyI The description logic ALC:

I Syntax: signature, concepts, relations, axiomsI Semantic: interpretations, modelsI Inference: entailmentI ALC and first-order logics

Home assignment:Consider K2 = (T2,A2) given via

T2 = { B v D }A2 = { d : B, (c , d) : S }

Is the entailment K2 |= c : ∀S .D valid? (Home assignment)

Gerd Groner, Matthias Thimm Semantic Web 2 / 39

Page 4: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Overview

I Formal syntax and semantics provide the basis forunderstanding description logics

I Implementing the semantics of e. g. ALC is intractable forobtaining a proof procedure

I Generate all interpretationsI Check whether an interpretation satisfies a potential

conclusions

I Today we have a look at a very simple proof procedure fordeciding consistency: the Tableau Algorithm

I We also take another look at ontology languages in generaland applications

Gerd Groner, Matthias Thimm Semantic Web 3 / 39

Page 5: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Overview

I Formal syntax and semantics provide the basis forunderstanding description logics

I Implementing the semantics of e. g. ALC is intractable forobtaining a proof procedure

I Generate all interpretationsI Check whether an interpretation satisfies a potential

conclusions

I Today we have a look at a very simple proof procedure fordeciding consistency: the Tableau Algorithm

I We also take another look at ontology languages in generaland applications

Gerd Groner, Matthias Thimm Semantic Web 3 / 39

Page 6: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Overview

I Formal syntax and semantics provide the basis forunderstanding description logics

I Implementing the semantics of e. g. ALC is intractable forobtaining a proof procedure

I Generate all interpretationsI Check whether an interpretation satisfies a potential

conclusions

I Today we have a look at a very simple proof procedure fordeciding consistency: the Tableau Algorithm

I We also take another look at ontology languages in generaland applications

Gerd Groner, Matthias Thimm Semantic Web 3 / 39

Page 7: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Overview

I Formal syntax and semantics provide the basis forunderstanding description logics

I Implementing the semantics of e. g. ALC is intractable forobtaining a proof procedure

I Generate all interpretationsI Check whether an interpretation satisfies a potential

conclusions

I Today we have a look at a very simple proof procedure fordeciding consistency: the Tableau Algorithm

I We also take another look at ontology languages in generaland applications

Gerd Groner, Matthias Thimm Semantic Web 3 / 39

Page 8: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Outline

1 Reasoning with Description Logics

2 Ontology languages revisited

3 Tools

4 Summary and Exercises

Gerd Groner, Matthias Thimm Semantic Web 4 / 39

Page 9: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Outline

1 Reasoning with Description Logics

2 Ontology languages revisited

3 Tools

4 Summary and Exercises

Gerd Groner, Matthias Thimm Semantic Web 5 / 39

Page 10: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Inference tasks 1/2

In description logics one usually distinguishes the followinginference tasks:

I Subsumption problem: Given concepts C1,C2 does K entailC1 v C2?

I Instance checking problem: Given concept C and individual tdoes K entail t : C?

I Relation checking problem: Given relation R and individualst, t ′ does K entail (t, t ′) : R?

I Consistency problem: Is there I with I |= K?

Gerd Groner, Matthias Thimm Semantic Web 6 / 39

Page 11: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Inference tasks 2/2

The subsumption and the consistency problem are closely related:

I C2 subsumes C1 if C1 and ¬C2 are inconsistent:

K |= C1 v C2 if and only if ¬∃I : I |= K ∪ {t : (C1 u ¬C2)}

→ it suffices to investigate algorithms for checking consistency.

Gerd Groner, Matthias Thimm Semantic Web 7 / 39

Page 12: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Inference tasks 2/2

The subsumption and the consistency problem are closely related:

I C2 subsumes C1 if C1 and ¬C2 are inconsistent:

K |= C1 v C2 if and only if ¬∃I : I |= K ∪ {t : (C1 u ¬C2)}

→ it suffices to investigate algorithms for checking consistency.

Gerd Groner, Matthias Thimm Semantic Web 7 / 39

Page 13: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm

Let K = (T ,A) be a knowledge base and consider the question

∃I : I |= K ?

The tableau algorithm tries to construct a model I of K:

I If this is successful, K is consistent

I otherwise it is inconsistent

It works on a set S of ABoxes and iteratively expands on it:

I S is initialized with the singleton S = {A}I Apply different rules on the elements of S depending on the

axioms in TI If no more rules are applicable, K is consistent if there is an

ABox A′ in S that is consistent (contains no axioms t : C ,t : ¬C )

Gerd Groner, Matthias Thimm Semantic Web 8 / 39

Page 14: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm

Let K = (T ,A) be a knowledge base and consider the question

∃I : I |= K ?

The tableau algorithm tries to construct a model I of K:

I If this is successful, K is consistent

I otherwise it is inconsistent

It works on a set S of ABoxes and iteratively expands on it:

I S is initialized with the singleton S = {A}I Apply different rules on the elements of S depending on the

axioms in TI If no more rules are applicable, K is consistent if there is an

ABox A′ in S that is consistent (contains no axioms t : C ,t : ¬C )

Gerd Groner, Matthias Thimm Semantic Web 8 / 39

Page 15: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm

Let K = (T ,A) be a knowledge base and consider the question

∃I : I |= K ?

The tableau algorithm tries to construct a model I of K:

I If this is successful, K is consistent

I otherwise it is inconsistent

It works on a set S of ABoxes and iteratively expands on it:

I S is initialized with the singleton S = {A}I Apply different rules on the elements of S depending on the

axioms in TI If no more rules are applicable, K is consistent if there is an

ABox A′ in S that is consistent (contains no axioms t : C ,t : ¬C )

Gerd Groner, Matthias Thimm Semantic Web 8 / 39

Page 16: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm

Let K = (T ,A) be a knowledge base and consider the question

∃I : I |= K ?

The tableau algorithm tries to construct a model I of K:

I If this is successful, K is consistent

I otherwise it is inconsistent

It works on a set S of ABoxes and iteratively expands on it:

I S is initialized with the singleton S = {A}I Apply different rules on the elements of S depending on the

axioms in TI If no more rules are applicable, K is consistent if there is an

ABox A′ in S that is consistent (contains no axioms t : C ,t : ¬C )

Gerd Groner, Matthias Thimm Semantic Web 8 / 39

Page 17: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm

Let K = (T ,A) be a knowledge base and consider the question

∃I : I |= K ?

The tableau algorithm tries to construct a model I of K:

I If this is successful, K is consistent

I otherwise it is inconsistent

It works on a set S of ABoxes and iteratively expands on it:

I S is initialized with the singleton S = {A}I Apply different rules on the elements of S depending on the

axioms in TI If no more rules are applicable, K is consistent if there is an

ABox A′ in S that is consistent (contains no axioms t : C ,t : ¬C )

Gerd Groner, Matthias Thimm Semantic Web 8 / 39

Page 18: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Negation Normal Form

In order to apply the tableau algorithm we have to assume that Kis in negation normal form:

I ¬(C1 t C2) −→ ¬C1 u ¬C2

I ¬(C1 u C2) −→ ¬C1 t ¬C2

I ¬∃R.C −→ ∀R.(¬C )

I ¬∀R.C −→ ∃R.(¬C )

From now on, we assume that every concept appearing in anaxiom in K is in negation normal form. For example

¬(C1 u C2) v ¬∃R.¬(C3 t C4) −→ ¬C1 t ¬C2 v ∀R.(C3 t C4)

Gerd Groner, Matthias Thimm Semantic Web 9 / 39

Page 19: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Negation Normal Form

In order to apply the tableau algorithm we have to assume that Kis in negation normal form:

I ¬(C1 t C2) −→ ¬C1 u ¬C2

I ¬(C1 u C2) −→ ¬C1 t ¬C2

I ¬∃R.C −→ ∀R.(¬C )

I ¬∀R.C −→ ∃R.(¬C )

From now on, we assume that every concept appearing in anaxiom in K is in negation normal form. For example

¬(C1 u C2) v ¬∃R.¬(C3 t C4) −→ ¬C1 t ¬C2 v ∀R.(C3 t C4)

Gerd Groner, Matthias Thimm Semantic Web 9 / 39

Page 20: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Negation Normal Form

In order to apply the tableau algorithm we have to assume that Kis in negation normal form:

I ¬(C1 t C2) −→ ¬C1 u ¬C2

I ¬(C1 u C2) −→ ¬C1 t ¬C2

I ¬∃R.C −→ ∀R.(¬C )

I ¬∀R.C −→ ∃R.(¬C )

From now on, we assume that every concept appearing in anaxiom in K is in negation normal form. For example

¬(C1 u C2) v ¬∃R.¬(C3 t C4) −→ ¬C1 t ¬C2 v ∀R.(C3 t C4)

Gerd Groner, Matthias Thimm Semantic Web 9 / 39

Page 21: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 1/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I u-rule: if t : C1 u C2 ∈ A′ and {t : C1, t : C2} * A′ thenremove A′ from S and add A′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} andA′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

Gerd Groner, Matthias Thimm Semantic Web 10 / 39

Page 22: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 1/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I u-rule: if t : C1 u C2 ∈ A′ and {t : C1, t : C2} * A′ thenremove A′ from S and add A′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} andA′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

Gerd Groner, Matthias Thimm Semantic Web 10 / 39

Page 23: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 1/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I u-rule: if t : C1 u C2 ∈ A′ and {t : C1, t : C2} * A′ thenremove A′ from S and add A′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} andA′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

Gerd Groner, Matthias Thimm Semantic Web 10 / 39

Page 24: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 1/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I u-rule: if t : C1 u C2 ∈ A′ and {t : C1, t : C2} * A′ thenremove A′ from S and add A′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} andA′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

Gerd Groner, Matthias Thimm Semantic Web 10 / 39

Page 25: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 1/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I u-rule: if t : C1 u C2 ∈ A′ and {t : C1, t : C2} * A′ thenremove A′ from S and add A′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} andA′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

Gerd Groner, Matthias Thimm Semantic Web 10 / 39

Page 26: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 2/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I ∀-rule: if {t : ∀R.C , (t, t ′) : R} ⊆ A′ and {t ′ : C} /∈ A′ thenremove A′ from S and add A′ ∪ {t ′ : C} to S.

I v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for tappearing in A′ then remove A′ from S and addA′ ∪ {t : (¬C1 t C2)} to S.

Gerd Groner, Matthias Thimm Semantic Web 11 / 39

Page 27: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 2/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I ∀-rule: if {t : ∀R.C , (t, t ′) : R} ⊆ A′ and {t ′ : C} /∈ A′ thenremove A′ from S and add A′ ∪ {t ′ : C} to S.

I v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for tappearing in A′ then remove A′ from S and addA′ ∪ {t : (¬C1 t C2)} to S.

Gerd Groner, Matthias Thimm Semantic Web 11 / 39

Page 28: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 2/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I ∀-rule: if {t : ∀R.C , (t, t ′) : R} ⊆ A′ and {t ′ : C} /∈ A′ thenremove A′ from S and add A′ ∪ {t ′ : C} to S.

I v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for tappearing in A′ then remove A′ from S and addA′ ∪ {t : (¬C1 t C2)} to S.

Gerd Groner, Matthias Thimm Semantic Web 11 / 39

Page 29: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Rules 2/2

Let S be a set of ABoxes (initialized with S = {A}).

Let A′ ∈ S.

I ∀-rule: if {t : ∀R.C , (t, t ′) : R} ⊆ A′ and {t ′ : C} /∈ A′ thenremove A′ from S and add A′ ∪ {t ′ : C} to S.

I v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for tappearing in A′ then remove A′ from S and addA′ ∪ {t : (¬C1 t C2)} to S.

Gerd Groner, Matthias Thimm Semantic Web 11 / 39

Page 30: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Approach

Let K = (T ,A) and A be consistent.

The tableau algorithm:

1. Set S = {A}2. Is some rule applicable?

I yes: goto 3I no: K is consistent; exit

3. Apply the rule to S4. Remove all A′ ∈ S with t : C , t : ¬C ∈ A′ (for some t,C )

5. S = ∅?I yes: K is inconsistent; exitI no: goto 2

Gerd Groner, Matthias Thimm Semantic Web 12 / 39

Page 31: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Approach

Let K = (T ,A) and A be consistent.

The tableau algorithm:

1. Set S = {A}2. Is some rule applicable?

I yes: goto 3I no: K is consistent; exit

3. Apply the rule to S4. Remove all A′ ∈ S with t : C , t : ¬C ∈ A′ (for some t,C )

5. S = ∅?I yes: K is inconsistent; exitI no: goto 2

Gerd Groner, Matthias Thimm Semantic Web 12 / 39

Page 32: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example

Let K = (T ,A) be given via

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }

Observe:

I K is in negation normal form

I A is consistent

Initialize S = {{a : A, b : D, (a, b) : R}}.

Gerd Groner, Matthias Thimm Semantic Web 13 / 39

Page 33: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example

Let K = (T ,A) be given via

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }

Observe:

I K is in negation normal form

I A is consistent

Initialize S = {{a : A, b : D, (a, b) : R}}.

Gerd Groner, Matthias Thimm Semantic Web 13 / 39

Page 34: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example

Let K = (T ,A) be given via

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }

Observe:

I K is in negation normal form

I A is consistent

Initialize S = {{a : A, b : D, (a, b) : R}}.

Gerd Groner, Matthias Thimm Semantic Web 13 / 39

Page 35: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 14 / 39

Page 36: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 14 / 39

Page 37: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 14 / 39

Page 38: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 15 / 39

Page 39: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 15 / 39

Page 40: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 15 / 39

Page 41: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ¬A},←{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 16 / 39

Page 42: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {((((((((((((((((((((((

{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 17 / 39

Page 43: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C ,

(a, t ′′) : R, t ′′ : C}}

Gerd Groner, Matthias Thimm Semantic Web 18 / 39

Page 44: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C}}

∃-rule: if t : ∃R.C ∈ A′ and there is no t ′ with{(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, create a newindividual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C ,

(a, t ′′) : R, t ′′ : C}}

Gerd Groner, Matthias Thimm Semantic Web 18 / 39

Page 45: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C ,

(a, t ′′) : R, t ′′ : C}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 19 / 39

Page 46: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C ,

(a, t ′′) : R, t ′′ : C}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 19 / 39

Page 47: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C ,

(a, t ′′) : R, t ′′ : C}}

v-rule: if C1 v C2 ∈ T and t : (¬C1 t C2) /∈ A′ for t appearing inA′ then remove A′ from S and add A′ ∪ {t : (¬C1 t C2)} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 19 / 39

Page 48: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 20 / 39

Page 49: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 20 / 39

Page 50: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C}}

t-rule: if t : C1 t C2 ∈ A′ and {t : C1, t : C2} ∩ A′ = ∅ thenremove A′ from S and add both A′ ∪ {t : C1} and A′ ∪ {t : C2} toS.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t ′′) : R, t ′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

Gerd Groner, Matthias Thimm Semantic Web 20 / 39

Page 51: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

∃-rule: if t : ∃R.C ∈ A′ and there is no t′ with {(t, t′) : R, t′ : C} ⊆ A′ thenremove A′ from S, create a new individual t′′, and addA′ ∪ {(t, t′′) : R, t′′ : C} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Gerd Groner, Matthias Thimm Semantic Web 21 / 39

Page 52: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

∃-rule: if t : ∃R.C ∈ A′ and there is no t′ with {(t, t′) : R, t′ : C} ⊆ A′ thenremove A′ from S, create a new individual t′′, and addA′ ∪ {(t, t′′) : R, t′′ : C} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Gerd Groner, Matthias Thimm Semantic Web 21 / 39

Page 53: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C}}

∃-rule: if t : ∃R.C ∈ A′ and there is no t′ with {(t, t′) : R, t′ : C} ⊆ A′ thenremove A′ from S, create a new individual t′′, and addA′ ∪ {(t, t′′) : R, t′′ : C} to S.

S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Gerd Groner, Matthias Thimm Semantic Web 21 / 39

Page 54: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Observations:

I No more rules applicable

I All ABoxes in S are consistent

→ The knowledge base K is consistent.

Gerd Groner, Matthias Thimm Semantic Web 22 / 39

Page 55: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Observations:

I No more rules applicable

I All ABoxes in S are consistent

→ The knowledge base K is consistent.

Gerd Groner, Matthias Thimm Semantic Web 22 / 39

Page 56: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Observations:

I No more rules applicable

I All ABoxes in S are consistent

→ The knowledge base K is consistent.

Gerd Groner, Matthias Thimm Semantic Web 22 / 39

Page 57: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Example cont’d

T = { A v ∃R.C }A = { a : A, b : D, (a, b) : R }S = {{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ¬A},{a : A, b : D, (a, b) : R, a : ¬A t ∃R.C , a : ∃R.C , (a, t′′) : R, t′′ : C ,

b : ¬A t ∃R.C , b : ∃R.C , (b, t′′′) : R, t′′′ : C}}

Observations:

I No more rules applicable

I All ABoxes in S are consistent

→ The knowledge base K is consistent.

Gerd Groner, Matthias Thimm Semantic Web 22 / 39

Page 58: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Observations

I If a rule has been applied to an ABox in S it will never beapplied again (with the same parameters)

I Only the t-rule adds a new ABox to SI If A′ replaces A then A ⊆ A′

Theorem

I If the tableau algorithm terminates with S = ∅ then K isinconsistent

I If the tableau algorithm terminates with S 6= ∅ then K isconsistent

What about termination?

Gerd Groner, Matthias Thimm Semantic Web 23 / 39

Page 59: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Observations

I If a rule has been applied to an ABox in S it will never beapplied again (with the same parameters)

I Only the t-rule adds a new ABox to SI If A′ replaces A then A ⊆ A′

Theorem

I If the tableau algorithm terminates with S = ∅ then K isinconsistent

I If the tableau algorithm terminates with S 6= ∅ then K isconsistent

What about termination?

Gerd Groner, Matthias Thimm Semantic Web 23 / 39

Page 60: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Observations

I If a rule has been applied to an ABox in S it will never beapplied again (with the same parameters)

I Only the t-rule adds a new ABox to SI If A′ replaces A then A ⊆ A′

Theorem

I If the tableau algorithm terminates with S = ∅ then K isinconsistent

I If the tableau algorithm terminates with S 6= ∅ then K isconsistent

What about termination?

Gerd Groner, Matthias Thimm Semantic Web 23 / 39

Page 61: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Observations

I If a rule has been applied to an ABox in S it will never beapplied again (with the same parameters)

I Only the t-rule adds a new ABox to SI If A′ replaces A then A ⊆ A′

Theorem

I If the tableau algorithm terminates with S = ∅ then K isinconsistent

I If the tableau algorithm terminates with S 6= ∅ then K isconsistent

What about termination?

Gerd Groner, Matthias Thimm Semantic Web 23 / 39

Page 62: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Observations

I If a rule has been applied to an ABox in S it will never beapplied again (with the same parameters)

I Only the t-rule adds a new ABox to SI If A′ replaces A then A ⊆ A′

Theorem

I If the tableau algorithm terminates with S = ∅ then K isinconsistent

I If the tableau algorithm terminates with S 6= ∅ then K isconsistent

What about termination?

Gerd Groner, Matthias Thimm Semantic Web 23 / 39

Page 63: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules

What happens when applying the tableau algorithm to

T = { A v ∃R.A }A = { a : A } ?

→ Infinite application of the v- and t- and ∃-rules.

To ensure termination we introduce the notion of block. If

I t is an individual created by application of a rule andI there is an individual t ′ with

1. {C | t : C ∈ A} ⊆ {C | t ′ : C ∈ A} and2. t ′ has been created before t

then t is blocked (by t ′).

Gerd Groner, Matthias Thimm Semantic Web 24 / 39

Page 64: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules

What happens when applying the tableau algorithm to

T = { A v ∃R.A }A = { a : A } ?

→ Infinite application of the v- and t- and ∃-rules.

To ensure termination we introduce the notion of block. If

I t is an individual created by application of a rule andI there is an individual t ′ with

1. {C | t : C ∈ A} ⊆ {C | t ′ : C ∈ A} and2. t ′ has been created before t

then t is blocked (by t ′).

Gerd Groner, Matthias Thimm Semantic Web 24 / 39

Page 65: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules

What happens when applying the tableau algorithm to

T = { A v ∃R.A }A = { a : A } ?

→ Infinite application of the v- and t- and ∃-rules.

To ensure termination we introduce the notion of block. If

I t is an individual created by application of a rule andI there is an individual t ′ with

1. {C | t : C ∈ A} ⊆ {C | t ′ : C ∈ A} and2. t ′ has been created before t

then t is blocked (by t ′).

Gerd Groner, Matthias Thimm Semantic Web 24 / 39

Page 66: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

I u-rule: if t : C1 u C2 ∈ A′, t is not blocked, and{t : C1, t : C2} * A′ then remove A′ from S and addA′ ∪ {t : C1, t : C2} to S.

I t-rule: if t : C1 t C2 ∈ A′, t is not blocked, and{t : C1, t : C2} ∩A′ = ∅ then remove A′ from S and add bothA′ ∪ {t : C1} and A′ ∪ {t : C2} to S.

I ∃-rule: if t : ∃R.C ∈ A′, t is not blocked, and there is no t ′

with {(t, t ′) : R, t ′ : C} ⊆ A′ then remove A′ from S, createa new individual t ′′, and add A′ ∪ {(t, t ′′) : R, t ′′ : C} to S.

I ∀-rule: if {t : ∀R.C , (t, t ′) : R} ⊆ A′, t is not blocked, and{t ′ : C} /∈ A′ then remove A′ from S and add A′ ∪ {t ′ : C}to S.

I v-rule: if C1 v C2 ∈ T , t is not blocked, andt : (¬C1 t C2) /∈ A′ for t appearing in A′ then remove A′

from S and add A′ ∪ {t : (¬C1 t C2)} to S.

Gerd Groner, Matthias Thimm Semantic Web 25 / 39

Page 67: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

What happens now to

T = { A v ∃R.A }A = { a : A } ?

Theorem

I When the tableau algorithm with blocking terminates withS = ∅ then K is inconsistent

I When the tableau algorithm with blocking terminates withS 6= ∅ then K is consistent

I The tableau algorithm with blocking always terminates onALC.

I The tableau algorithm with blocking runs in EXPSPACE(worst case).

Gerd Groner, Matthias Thimm Semantic Web 26 / 39

Page 68: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

What happens now to

T = { A v ∃R.A }A = { a : A } ?

Theorem

I When the tableau algorithm with blocking terminates withS = ∅ then K is inconsistent

I When the tableau algorithm with blocking terminates withS 6= ∅ then K is consistent

I The tableau algorithm with blocking always terminates onALC.

I The tableau algorithm with blocking runs in EXPSPACE(worst case).

Gerd Groner, Matthias Thimm Semantic Web 26 / 39

Page 69: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

What happens now to

T = { A v ∃R.A }A = { a : A } ?

Theorem

I When the tableau algorithm with blocking terminates withS = ∅ then K is inconsistent

I When the tableau algorithm with blocking terminates withS 6= ∅ then K is consistent

I The tableau algorithm with blocking always terminates onALC.

I The tableau algorithm with blocking runs in EXPSPACE(worst case).

Gerd Groner, Matthias Thimm Semantic Web 26 / 39

Page 70: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

What happens now to

T = { A v ∃R.A }A = { a : A } ?

Theorem

I When the tableau algorithm with blocking terminates withS = ∅ then K is inconsistent

I When the tableau algorithm with blocking terminates withS 6= ∅ then K is consistent

I The tableau algorithm with blocking always terminates onALC.

I The tableau algorithm with blocking runs in EXPSPACE(worst case).

Gerd Groner, Matthias Thimm Semantic Web 26 / 39

Page 71: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

The Tableau Algorithm - Blocking Rules cont’d

What happens now to

T = { A v ∃R.A }A = { a : A } ?

Theorem

I When the tableau algorithm with blocking terminates withS = ∅ then K is inconsistent

I When the tableau algorithm with blocking terminates withS 6= ∅ then K is consistent

I The tableau algorithm with blocking always terminates onALC.

I The tableau algorithm with blocking runs in EXPSPACE(worst case).

Gerd Groner, Matthias Thimm Semantic Web 26 / 39

Page 72: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Outline

1 Reasoning with Description Logics

2 Ontology languages revisited

3 Tools

4 Summary and Exercises

Gerd Groner, Matthias Thimm Semantic Web 27 / 39

Page 73: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I ALC is just one example of a description logicI Over the years a lot of different description logics have been

proposed that differ inI complexityI expressiveness

I The search for the right description logic is ongoing

I There is always the issue of balancing between complexity andexpressiveness

Gerd Groner, Matthias Thimm Semantic Web 28 / 39

Page 74: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I ALC is just one example of a description logicI Over the years a lot of different description logics have been

proposed that differ inI complexityI expressiveness

I The search for the right description logic is ongoing

I There is always the issue of balancing between complexity andexpressiveness

Gerd Groner, Matthias Thimm Semantic Web 28 / 39

Page 75: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I ALC is just one example of a description logicI Over the years a lot of different description logics have been

proposed that differ inI complexityI expressiveness

I The search for the right description logic is ongoing

I There is always the issue of balancing between complexity andexpressiveness

Gerd Groner, Matthias Thimm Semantic Web 28 / 39

Page 76: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I ALC is just one example of a description logicI Over the years a lot of different description logics have been

proposed that differ inI complexityI expressiveness

I The search for the right description logic is ongoing

I There is always the issue of balancing between complexity andexpressiveness

Gerd Groner, Matthias Thimm Semantic Web 28 / 39

Page 77: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 78: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 79: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 80: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 81: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 82: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 83: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 84: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

The base description logic is ALC (Attributive Language withComplements).

Further features include

I N : unqualified number restrictions: (≥3 hasChild)

I Qualified number restrictions: (≥2 hasChild .Female)

I One-of (nominals): {t1, . . . , tn}I Functionality: (≤ hasFather)I Role operators:

I I: role inverse: hasChild− ≡ hasParentI S: Transitive roles tr(R) (tr(hasParent) ≡ hasAncestor)I H: role hierarchies: R ◦ R ′ ⊆ R ′′

(hasParent ◦ hasParent ≡ hasGrandparent)I . . .

Gerd Groner, Matthias Thimm Semantic Web 29 / 39

Page 85: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I Other description logic types can be described by their names:

I ALCQIO: ALC with qualified number restrictions, inverseroles, and nominals.

I SHOIN : ALC with transitive roles, role hierarchies, roleinverse, nominals, unqualified number restrictions (this is thesame as OWL-DL)

I Some description languages with further restrictions:I EL: Only C1 u C2 and ∃R.> allowedI EL+ +: EL with nominals and some additional role operators

Gerd Groner, Matthias Thimm Semantic Web 30 / 39

Page 86: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I Other description logic types can be described by their names:

I ALCQIO: ALC with qualified number restrictions, inverseroles, and nominals.

I SHOIN : ALC with transitive roles, role hierarchies, roleinverse, nominals, unqualified number restrictions (this is thesame as OWL-DL)

I Some description languages with further restrictions:I EL: Only C1 u C2 and ∃R.> allowedI EL+ +: EL with nominals and some additional role operators

Gerd Groner, Matthias Thimm Semantic Web 30 / 39

Page 87: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I Other description logic types can be described by their names:

I ALCQIO: ALC with qualified number restrictions, inverseroles, and nominals.

I SHOIN : ALC with transitive roles, role hierarchies, roleinverse, nominals, unqualified number restrictions (this is thesame as OWL-DL)

I Some description languages with further restrictions:I EL: Only C1 u C2 and ∃R.> allowedI EL+ +: EL with nominals and some additional role operators

Gerd Groner, Matthias Thimm Semantic Web 30 / 39

Page 88: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Ontology languages revisited

I Other description logic types can be described by their names:

I ALCQIO: ALC with qualified number restrictions, inverseroles, and nominals.

I SHOIN : ALC with transitive roles, role hierarchies, roleinverse, nominals, unqualified number restrictions (this is thesame as OWL-DL)

I Some description languages with further restrictions:I EL: Only C1 u C2 and ∃R.> allowedI EL+ +: EL with nominals and some additional role operators

Gerd Groner, Matthias Thimm Semantic Web 30 / 39

Page 89: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Outline

1 Reasoning with Description Logics

2 Ontology languages revisited

3 Tools

4 Summary and Exercises

Gerd Groner, Matthias Thimm Semantic Web 31 / 39

Page 90: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Tools

I In contrast to many other KR languages (propositional logic,default logic, . . . ) description logics have been developed outof the need to apply them

I Therefore, a lot of tools are around that enable ontologyengineering using description logics

Gerd Groner, Matthias Thimm Semantic Web 32 / 39

Page 91: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Tools

I In contrast to many other KR languages (propositional logic,default logic, . . . ) description logics have been developed outof the need to apply them

I Therefore, a lot of tools are around that enable ontologyengineering using description logics

Gerd Groner, Matthias Thimm Semantic Web 32 / 39

Page 92: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Tools: Protege

I Free open-source ontology editor

I Webpage: http://protege.stanford.edu

Gerd Groner, Matthias Thimm Semantic Web 33 / 39

Page 93: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Tools: RacerPro

I Commercial description logic reasonerI Webpage: http://www.franz.com/agraph/racer

Gerd Groner, Matthias Thimm Semantic Web 34 / 39

Page 94: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Further Tools

HermiT

I Free open-source description logic reasoner (OWL)

I Webpage: http://hermit-reasoner.com

FacT++

I Free open-source description logic reasoner

I Webpage: http://owl.man.ac.uk/factplusplus/

OWL API

I Official open source JAVA interfaces for programming DLapplications

I Webpage: http://owlapi.sourceforge.net

Gerd Groner, Matthias Thimm Semantic Web 35 / 39

Page 95: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Further Tools

HermiT

I Free open-source description logic reasoner (OWL)

I Webpage: http://hermit-reasoner.com

FacT++

I Free open-source description logic reasoner

I Webpage: http://owl.man.ac.uk/factplusplus/

OWL API

I Official open source JAVA interfaces for programming DLapplications

I Webpage: http://owlapi.sourceforge.net

Gerd Groner, Matthias Thimm Semantic Web 35 / 39

Page 96: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Further Tools

HermiT

I Free open-source description logic reasoner (OWL)

I Webpage: http://hermit-reasoner.com

FacT++

I Free open-source description logic reasoner

I Webpage: http://owl.man.ac.uk/factplusplus/

OWL API

I Official open source JAVA interfaces for programming DLapplications

I Webpage: http://owlapi.sourceforge.net

Gerd Groner, Matthias Thimm Semantic Web 35 / 39

Page 97: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Outline

1 Reasoning with Description Logics

2 Ontology languages revisited

3 Tools

4 Summary and Exercises

Gerd Groner, Matthias Thimm Semantic Web 36 / 39

Page 98: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Summary

I The tableau algorithm for ALC:I checks consistency of a knowledge baseI sound and completeI terminates always when using blocks

I Ontology languages revisitedI Nomenclature of description logicsI expressivity vs. complexity

I Tools for working with description logics

Gerd Groner, Matthias Thimm Semantic Web 37 / 39

Page 99: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Pointers to further reading

I The Description Logic Complexity Navigatorhttp://www.cs.man.ac.uk/~ezolin/dl/

I Franz Baader. Tableau Algorithms for Description Logics.http://lat.inf.tu-dresden.de/~baader/Talks/

Tableaux2000.pdf

I Franz Baader, Ulrike Sattler. An Overview of TableauAlgorithms for Description Logics. http:

//www.eecs.yorku.ca/course_archive/2010-11/F/

6390A/DLmaterial/BaaderSattler-tableauxForDL.pdf

Gerd Groner, Matthias Thimm Semantic Web 38 / 39

Page 100: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Exercises

I Apply the tableau algorithm to check whether the knowledgebase K = (T ,A) is consistent:

T = { A v C ,B v ¬C }A = { a : A, a : B }

I Download Protege (http://protege.stanford.edu) andplay around with it (Home assignment)

I Apply the tableau algorithm with blocking to check whetherthe knowledge base K = (T ,A) is consistent:

T = { A v ∃R.B, B v A u ∀S .C }A = { a : A }

(Home assignment)

Gerd Groner, Matthias Thimm Semantic Web 39 / 39

Page 101: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Exercises

I Apply the tableau algorithm to check whether the knowledgebase K = (T ,A) is consistent:

T = { A v C ,B v ¬C }A = { a : A, a : B }

I Download Protege (http://protege.stanford.edu) andplay around with it (Home assignment)

I Apply the tableau algorithm with blocking to check whetherthe knowledge base K = (T ,A) is consistent:

T = { A v ∃R.B, B v A u ∀S .C }A = { a : A }

(Home assignment)

Gerd Groner, Matthias Thimm Semantic Web 39 / 39

Page 102: Semantic Web - 2. Description logics (2/2) fileSemantic Web 2. Description logics (2/2) Gerd Gr oner, Matthias Thimm fgroener,thimmg@uni-koblenz.de Institute for Web Science and Technologies

Exercises

I Apply the tableau algorithm to check whether the knowledgebase K = (T ,A) is consistent:

T = { A v C ,B v ¬C }A = { a : A, a : B }

I Download Protege (http://protege.stanford.edu) andplay around with it (Home assignment)

I Apply the tableau algorithm with blocking to check whetherthe knowledge base K = (T ,A) is consistent:

T = { A v ∃R.B, B v A u ∀S .C }A = { a : A }

(Home assignment)

Gerd Groner, Matthias Thimm Semantic Web 39 / 39