OpenHPI 5.3 - Tableaux Algorithm for ALC

783 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
783
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
76
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

OpenHPI 5.3 - Tableaux Algorithm for ALC

  1. 1. Semantic Web TechnologiesLecture 5: Knowledge Representations II 03: Tableaux Algorithm for ALC Dr. Harald Sack Hasso Plattner Institute for IT Systems Engineering University of Potsdam Spring 2013 This file is licensed under the Creative Commons Attribution-NonCommercial 3.0 (CC BY-NC 3.0)
  2. 2. 2 Lecture 5: Knowledge Representations II Open HPI - Course: Semantic Web Technologies Semantic Web Technologies , Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  3. 3. 3 03 Tableaux Algorithm for ALCOpen HPI - Course: SemanticHarald Sack, Hasso-Plattner-Institut, Universität Potsdam Semantic Web Technologies , Dr. Web Technologies - Lecture 5: Knowledge Representations II
  4. 4. Short Recapitulation: • Proof algorithm to check the consistency of a logical formula by inferring that its negation is a contradiction (proof by refutation).4 • Construct tree, where each node is marked with a logical formula. A path from the root to a leaf is the conjunction of all formulas represented within the nodes of the path; a branch of the path represents a disjunction. • The tree is created by successive application of the Tableaux Extension Rules. (q ∧ r) ∨ (p ∧ ¬ r) ∨ r (q ∧ r) (p ∧ ¬ r) ∨ r q (p ∧ ¬ r) r r p ¬r Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  5. 5. Tableaux Algorithm for Description Logics5 •Transformation to Negation normalform necessary •Let W be a knowledge base, •Substitute C≡D by C⊑D and D⊑C •Substitute C⊑D by ¬C⊔D. •Apply the NNF Transformations from the next page •Resulting knowledge base NNF(W) •Negation normalform of W. •Negation is placed directly in front of atomic classes. Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  6. 6. Tableaux Transformation in Negation Normalform6 • NNF Transformations NNF(C) = C, if C is atomic NNF(¬C) = ¬C, if C is atomic NNF(¬¬C) = NNF(C) NNF(C⊔D) = NNF(C) ⊔ NNF(D) NNF(C⊓D) = NNF(C) ⊓ NNF(D) NNF(¬(C⊔D)) = NNF(¬C) ⊓ NNF(¬D) NNF(¬(C⊓D)) = NNF(¬C) ⊔ NNF(¬D) NNF(∀R.C) = ∀R.NNF(C) NNF(∃R.C) = ∃R.NNF(C) NNF(¬∀R.C) = ∃R.NNF(¬C) NNF(¬∃R.C) = ∀R.NNF(¬C) • W and NNF(W) are logically equivalent. Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  7. 7. Tableaux Transformation in Negation Normalform7 • Example: P ⊑ (E⊓U)⊔¬(¬E⊔D) • In NNF: " ¬P ⊔ (E⊓U)⊔(E⊓¬D) C⊑D = ¬C⊔D ¬(C⊔D)= ¬C ⊓ ¬D Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  8. 8. Tableaux Extension Rules for DL Selection Action8 C(a)∈W (ABox) Add C(a) R(a,b)∈W (ABox) Add R(a,b) C∈W (TBox) Add C(a) for a known Individual a (C⊓D)(a)∈A Add C(a) and D(a) (C⊔D)(a)∈A Split the path. Add (1) C(a) and (2) D(a) (∃R.C)(a)∈A Add R(a,b) and C(b) for a new Individual b (∀R.C)(a)∈A if R(a,b)∈A, then add C(b) • If the resulting tableaux is closed, the original knowledge base is unsatisfiable. • Only select elements that lead to new elements within the tableaux. If this is not possible, then the algorithm terminates and the original knowledge base is satisfiable. Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  9. 9. Tableaux Algorithm (DL) Example(4):9 • P … Professor • E … Person • U … University Employee • D … Student • Knowledge Base: P ⊑ (E⊓U)⊔(E⊓¬D) • Is P ⊑ E a logical consequence? • Knowledge Base (with [negated] query) in NNF: {¬P⊔(E⊓U)⊔(E⊓¬D), (P⊓¬E)(a)} Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  10. 10. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  11. 11. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  12. 12. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  13. 13. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  14. 14. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  15. 15. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  16. 16. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  17. 17. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) (7|β from 6) (E⊓U)(a) | (8) (E⊓¬D)(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  18. 18. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) (7|β from 6) (E⊓U)(a) | (8) (E⊓¬D)(a) (9|α from 7) E(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  19. 19. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) (7|β from 6) (E⊓U)(a) | (8) (E⊓¬D)(a) (9|α from 7) E(a) (11|α from 7) U(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  20. 20. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) (7|β from 6) (E⊓U)(a) | (8) (E⊓¬D)(a) (9|α from 7) E(a) (10|α from 8) E(a) (11|α from 7) U(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  21. 21. Tableaux Algorithm (DL) Example(4):10 • Knowledge Base W:{¬P⊔(E⊓U)⊔(E⊓¬D),(P⊓¬E)(a)} • Tableaux A: (1) (P⊓¬E)(a) (from knowledge base) (2|α from 1) P(a) (3|α from 1) ¬E(a) (4) (¬P⊔(E⊓U)⊔(E⊓¬D))(a) (from knowledge base) (5|β from 4)) ¬P(a) | (6)((E⊓U)⊔(E⊓¬D))(a) (7|β from 6) (E⊓U)(a) | (8) (E⊓¬D)(a) (9|α from 7) E(a) (10|α from 8) E(a) (11|α from 7) U(a) (12|α from 8) ¬D(a) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  22. 22. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  23. 23. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  24. 24. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  25. 25. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  26. 26. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  27. 27. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  28. 28. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  29. 29. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  30. 30. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  31. 31. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  32. 32. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) (¬Person ⊔ ∃hasParent.Person)(x2) Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  33. 33. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) (¬Person ⊔ ∃hasParent.Person)(x2) ¬Person(x2) ∃hasParent.Person(x2) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  34. 34. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) (¬Person ⊔ ∃hasParent.Person)(x2) ¬Person(x2) ∃hasParent.Person(x2) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  35. 35. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) (¬Person ⊔ ∃hasParent.Person)(x2) ¬Person(x2) ∃hasParent.Person(x2) ⊔ Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  36. 36. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) Problem with existential (¬Person ⊔ ∃hasParent.Person)(x2) quantification ¬Person(x2) ∃hasParent.Person(x2) ⊔ also for OWL:minCardinality Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  37. 37. Tableaux Algorithm (DL) Example(5): • Knowledge Base: ¬Person ⊔ ∃hasParent.Person11 • infer: ¬Person(Bill) { ¬Person ⊔ ∃hasParent.Person, Person(Bill) } Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ hasParent(x1,x2) ∃ Person(x2) Problem with existential (¬Person ⊔ ∃hasParent.Person)(x2) quantification ¬Person(x2) ∃hasParent.Person(x2) ⊔ also for OWL:minCardinality no termination possible Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  38. 38. Idea of Blocking12 • the following had been constructed in the Tableaux: Person Person Person ∃hasParent.Person ∃hasParent.Person ∃hasParent.Person hasParent hasParent hasParent • Idea: reuse old nodes Person Person ∃hasParent.Person ∃hasParent.Person hasParent Blocking Correctness of this short cut hasParent must be proven! Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  39. 39. Tableaux Algorithm (DL) with Blocking • Knowledge Base: ¬Person ⊔ ∃hasParent.Person13 • infer: ¬Person(Bill) Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ Person Person σ(Βill) = {Person, ∃hasParent.Person ∃hasParent.Person ¬Person ⊔ ∃hasParent.Person, ∃hasParent.Person} hasParent σ(x1) = { Person, ¬Person ⊔ ∃hasParent.Person, hasParent ∃hasParent.Person} σ(x1) ⊆ σ(Bill), so Bill blocks x1 Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  40. 40. Tableaux Algorithm (DL) with Blocking • Knowledge Base: ¬Person ⊔ ∃hasParent.Person13 • infer: ¬Person(Bill) Person(Bill) (¬Person ⊔ ∃hasParent.Person)(Bill) ¬Person(Bill) ∃hasParent.Person(Bill) ⊔ hasParent(Bill,x1) ∃ Person(x1) (¬Person ⊔ ∃hasParent.Person)(x1) ¬Person(x1) ∃hasParent.Person(x1) ⊔ Person Person σ(Βill) = {Person, ∃hasParent.Person ∃hasParent.Person ¬Person ⊔ ∃hasParent.Person, ∃hasParent.Person} hasParent σ(x1) = { Person, ¬Person ⊔ ∃hasParent.Person, hasParent ∃hasParent.Person} σ(x1) ⊆ σ(Bill), so Bill blocks x1 termination Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  41. 41. Tableaux Algorithm (DL) with Blocking14 • The Selection of (∃R.C)(a) in the tableaux path A is blocked, if there is already an individual b with {C|C(a)∈A}⊆{C|C(b)∈A}. • Two possibilities of termination: 1. Closing the Tableaux. Knowledge Base is unsatisfiable. 2. All non blocked selections from the tableaux don‘t lead to an extension. Knowledge Base is satisfiable. Lecture: Semantic Web Technologies, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam, WS 2012/13
  42. 42. 15 04 Web Ontology Language - OWLOpen HPI - Course: SemanticHarald Sack, Hasso-Plattner-Institut, Universität Potsdam Semantic Web Technologies , Dr. Web Technologies - Lecture 5: Knowledge Representations II

×