Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantification

465 views

Published on

Since the development of Notation3 Logic, several years have
passed in which the theory has been refined and used in practice by different reasoning engines such as cwm, FuXi or EYE. Nevertheless, a clear model-theoretic definition of its semantics is still missing. This leaves room for individual interpretations and renders it difficult to make clear
statements about its relation to other logics such as DL or FOL or even about such basic concepts as correctness. In this paper we address one of the main open challenges: the formalization of implicit quantification.
We point out how the interpretation of implicit quantifiers differs in two of the above mentioned reasoning engines and how the specification, proposed in the W3C team submission, could be formalized. Our formalization is then put into context by integrating it into a model-theoretic definition of the whole language. We finish our contribution by arguing why universal quantification should be handled differently than currently
prescribed.

Published in: Science
  • D0WNL0AD FULL ▶ ▶ ▶ ▶ http://1url.pw/9ZUFW ◀ ◀ ◀ ◀
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

RuleML 2015: Semantics of Notation3 Logic: A Solution for Implicit Quantification

  1. 1. ELIS – Multimedia Lab Semantics of Notation3 Logic: A solution for implicit quantification Dörthe Arndt, Ruben Verborgh, Jos De Roo, Hong Sun, Erik Mannens, and Rik Van De Walle Multimedia Lab, Ghent University - iMinds, Belgium Agfa Healthcare - Ghent, Belgium RuleML 2015, Berlin, August 04, 2015 1 / 28
  2. 2. ELIS – Multimedia Lab Outline Notation3 Logic Implicit Quantification Formal Semantics 2 / 28
  3. 3. ELIS – Multimedia Lab Notation3 Logic Notation3 Logic What is Notation3 Logic? Syntax Semantics Implicit Quantification Formal Semantics 3 / 28
  4. 4. ELIS – Multimedia Lab What is Notation3 Logic? A rule logic for the Semantic Web 4 / 28
  5. 5. ELIS – Multimedia Lab What is Notation3 Logic? A rule logic for the Semantic Web Invented by Tim Berners-Lee and Dan Connolly (∼2005) 4 / 28
  6. 6. ELIS – Multimedia Lab What is Notation3 Logic? A rule logic for the Semantic Web Invented by Tim Berners-Lee and Dan Connolly (∼2005) Superset of RDF/Turtle 4 / 28
  7. 7. ELIS – Multimedia Lab Syntax 5 / 28
  8. 8. ELIS – Multimedia Lab Syntax Simple Turtle triples: 5 / 28
  9. 9. ELIS – Multimedia Lab Syntax Simple Turtle triples: :Socrates a :Man. 5 / 28
  10. 10. ELIS – Multimedia Lab Syntax Simple Turtle triples: :Socrates a :Man. Rules: 5 / 28
  11. 11. ELIS – Multimedia Lab Syntax Simple Turtle triples: :Socrates a :Man. Rules: {:Socrates a :Man.} => {:Socrates a :Mortal.}. 5 / 28
  12. 12. ELIS – Multimedia Lab Syntax Statements about formulas: 6 / 28
  13. 13. ELIS – Multimedia Lab Syntax Statements about formulas: :Plato :says {:Socrates a Mortal.}. 6 / 28
  14. 14. ELIS – Multimedia Lab Syntax Statements about formulas: :Plato :says {:Socrates a Mortal.}. Use of (quantified) variables: 6 / 28
  15. 15. ELIS – Multimedia Lab Syntax Statements about formulas: :Plato :says {:Socrates a Mortal.}. Use of (quantified) variables: :Plato :knows _:x. _:x a :Man. 6 / 28
  16. 16. ELIS – Multimedia Lab Syntax Statements about formulas: :Plato :says {:Socrates a Mortal.}. Use of (quantified) variables: :Plato :knows _:x. _:x a :Man. {?x a :Man.}=>{?x a :Mortal.}. 6 / 28
  17. 17. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined 7 / 28
  18. 18. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) 7 / 28
  19. 19. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! 7 / 28
  20. 20. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: 7 / 28
  21. 21. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: Documents like the W3C Team Submission describe the desired semantics 7 / 28
  22. 22. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: Documents like the W3C Team Submission describe the desired semantics Implementations such as reasoners can also be helpful. In particular: 7 / 28
  23. 23. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: Documents like the W3C Team Submission describe the desired semantics Implementations such as reasoners can also be helpful. In particular: Cwm 7 / 28
  24. 24. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: Documents like the W3C Team Submission describe the desired semantics Implementations such as reasoners can also be helpful. In particular: Cwm EYE 7 / 28
  25. 25. ELIS – Multimedia Lab What about Semantics? The formal semantics of N3 is not defined(yet) Some implementations even differ! But: Documents like the W3C Team Submission describe the desired semantics Implementations such as reasoners can also be helpful. In particular: Cwm EYE   We use all these as sources to define N3’s formal semantics 7 / 28
  26. 26. ELIS – Multimedia Lab Implicit Quantification Notation3 Logic Implicit Quantification Existentials Universals Formal Semantics 8 / 28
  27. 27. ELIS – Multimedia Lab What is implicit quantification? In N3 quantified variables can be expressed without explicitly stating the quantifier 9 / 28
  28. 28. ELIS – Multimedia Lab What is implicit quantification? In N3 quantified variables can be expressed without explicitly stating the quantifier Blank nodes _:x are existentially quantified variables 9 / 28
  29. 29. ELIS – Multimedia Lab What is implicit quantification? In N3 quantified variables can be expressed without explicitly stating the quantifier Blank nodes _:x are existentially quantified variables Variables beginning with a question mark ?x are universally quantified 9 / 28
  30. 30. ELIS – Multimedia Lab What is implicit quantification? In N3 quantified variables can be expressed without explicitly stating the quantifier Blank nodes _:x are existentially quantified variables Variables beginning with a question mark ?x are universally quantified But: What is the scope? 9 / 28
  31. 31. ELIS – Multimedia Lab Simple Examples _:x :knows :Socrates. 10 / 28
  32. 32. ELIS – Multimedia Lab Simple Examples _:x :knows :Socrates. → ∃x : knows(x, Socrates) 10 / 28
  33. 33. ELIS – Multimedia Lab Simple Examples _:x :knows :Socrates. → ∃x : knows(x, Socrates) ?x :knows :Socrates. 10 / 28
  34. 34. ELIS – Multimedia Lab Simple Examples _:x :knows :Socrates. → ∃x : knows(x, Socrates) ?x :knows :Socrates. → ∀x : knows(x, Socrates) 10 / 28
  35. 35. ELIS – Multimedia Lab Both types of variables ?x :loves _:y. 11 / 28
  36. 36. ELIS – Multimedia Lab Both types of variables ?x :loves _:y. ∀x∃y : loves(x, y) "Everybody loves someone." 11 / 28
  37. 37. ELIS – Multimedia Lab Both types of variables ?x :loves _:y. ∀x∃y : loves(x, y) "Everybody loves someone." or ∃y∀x : loves(x, y) "There is someone who is loved by everyone." 11 / 28
  38. 38. ELIS – Multimedia Lab Both types of variables ?x :loves _:y. ∀x∃y : loves(x, y) "Everybody loves someone." or ∃y∀x : loves(x, y) "There is someone who is loved by everyone." 11 / 28
  39. 39. ELIS – Multimedia Lab Both types of variables “If both universal and existential quantification are specified for the same formula, then the scope of the universal quantification is outside the scope of the existentials”. Source: W3C Team submission; cwm and EYE give the same result. 12 / 28
  40. 40. ELIS – Multimedia Lab Existentials _:x :says {_:x a :Mortal}. 13 / 28
  41. 41. ELIS – Multimedia Lab Existentials _:x :says {_:x a :Mortal}. ∃x : says(x, Mortal(x)) There is someone who says about himself that he is mortal. 13 / 28
  42. 42. ELIS – Multimedia Lab Existentials _:x :says {_:x a :Mortal}. ∃x : says(x, Mortal(x)) There is someone who says about himself that he is mortal. or ∃x1 : says(x, (∃x2 : Mortal(x2))) There is someone who says that someone is mortal. 13 / 28
  43. 43. ELIS – Multimedia Lab Existentials _:x :says {_:x a :Mortal}. ∃x : says(x, Mortal(x)) There is someone who says about himself that he is mortal. or ∃x1 : says(x, (∃x2 : Mortal(x2))) There is someone who says that someone is mortal. 13 / 28
  44. 44. ELIS – Multimedia Lab Existentials “When formulae are nested, _: blank nodes syntax [is] used to only identify blank node in the formula it occurs directly in. It is an arbitrary temporary name for a symbol which is existentially quantified within the current formula (not the whole file). They can only be used within a single formula, and not within nested formulae.” Source: W3C Team submission; cwm and EYE give the same result. 14 / 28
  45. 45. ELIS – Multimedia Lab Universals {{?x :p :a.} = {?x :q :b.}.} = {{?x :r :c.} = {?x :s :d.}.}. 15 / 28
  46. 46. ELIS – Multimedia Lab Universals {{?x :p :a.} = {?x :q :b.}.} = {{?x :r :c.} = {?x :s :d.}.}. (∀x1 : p(x1, a) → q(x1, b)) → (∀x2 : r(x2, c) → s(x2, d)) 15 / 28
  47. 47. ELIS – Multimedia Lab Universals {{?x :p :a.} = {?x :q :b.}.} = {{?x :r :c.} = {?x :s :d.}.}. (∀x1 : p(x1, a) → q(x1, b)) → (∀x2 : r(x2, c) → s(x2, d)) or ∀x : ((p(x, a) → q(x, b)) → (r(x, c) → s(x, d))) 15 / 28
  48. 48. ELIS – Multimedia Lab Universals {{?x :p :a.} = {?x :q :b.}.} = {{?x :r :c.} = {?x :s :d.}.}. (∀x1 : p(x1, a) → q(x1, b)) → (∀x2 : r(x2, c) → s(x2, d)) or ∀x : ((p(x, a) → q(x, b)) → (r(x, c) → s(x, d))) Here the reasoning results differ! EYECwm 15 / 28
  49. 49. ELIS – Multimedia Lab Who is right? 16 / 28
  50. 50. ELIS – Multimedia Lab Universals The team submission states: “Apart from the set of statements, a formula also has a set of URIs of symbols which are universally quantified, and a set of URIs of symbols which are existentially quantified. Variables are then in general symbols which have been quantified. There is a also a shorthand syntax ?x which is the same as :x except that it implies that x is universally quantified not in the formula but in its parent formula.” 17 / 28
  51. 51. ELIS – Multimedia Lab Universals Which is the parent? 18 / 28
  52. 52. ELIS – Multimedia Lab Universals Which is the parent? :Plato :says { :Socrates a Mortal. Formula }. Parent formula 18 / 28
  53. 53. ELIS – Multimedia Lab Universals Which is the parent? :Plato :says { :Socrates a Mortal. Formula }. Parent formula  The parent formula p of a formula f is the formula containing {f } as a component. 18 / 28
  54. 54. ELIS – Multimedia Lab Universals But: Universal quantification also counts for descendants 19 / 28
  55. 55. ELIS – Multimedia Lab Universals But: Universal quantification also counts for descendants {?x :p :a.}={ :s :q { ?x :r :b. Formula }. Parent formula }. Grandparent formula 19 / 28
  56. 56. ELIS – Multimedia Lab Universals But: Universal quantification also counts for descendants {?x :p :a.}={ :s :q { ?x :r :b. Formula }. Parent formula }. Grandparent formula Is interpreted as: ∀x : p(x, a) → q(s, r(x, b)) 19 / 28
  57. 57. ELIS – Multimedia Lab Universals But: Universal quantification also counts for descendants {?x :p :a.}={ :s :q { ?x :r :b. Formula }. Parent formula }. Grandparent formula Is interpreted as: ∀x : p(x, a) → q(s, r(x, b)) And not as ∀x1 : p(x1, a) → (∀x2 : q(s, r(x2, b))) 19 / 28
  58. 58. ELIS – Multimedia Lab Universals But: Universal quantification also counts for descendants {?x :p :a.}={ :s :q { ?x :r :b. Formula }. Parent formula }. Grandparent formula Is interpreted as: ∀x : p(x, a) → q(s, r(x, b)) And not as ∀x1 : p(x1, a) → (∀x2 : q(s, r(x2, b))) ((((((((((((((((((hhhhhhhhhhhhhhhhhh 19 / 28
  59. 59. ELIS – Multimedia Lab Formal Semantics Notation3 Logic Implicit Quantification Formal Semantics Handling variables N3 context 20 / 28
  60. 60. ELIS – Multimedia Lab Handling variables The scope of an existential variable is always only the formula it occurs in, not its descendant 21 / 28
  61. 61. ELIS – Multimedia Lab Handling variables The scope of an existential variable is always only the formula it occurs in, not its descendant The scope of a universal variable depends on its context, scoping is also valid on the descendants of a quantified formula 21 / 28
  62. 62. ELIS – Multimedia Lab Handling variables We define two ways to apply a substitution σ: 22 / 28
  63. 63. ELIS – Multimedia Lab Handling variables We define two ways to apply a substitution σ: 1. Component wise application σc: replace only direct components of a formula 22 / 28
  64. 64. ELIS – Multimedia Lab Handling variables We define two ways to apply a substitution σ: 1. Component wise application σc: replace only direct components of a formula 2. Total application σt: replace all direct components and nested components 22 / 28
  65. 65. ELIS – Multimedia Lab Handling variables For f = ?x :says {?x a :Mortal.}. and σ = {?x/:Socrates} 23 / 28
  66. 66. ELIS – Multimedia Lab Handling variables For f = ?x :says {?x a :Mortal.}. and σ = {?x/:Socrates} we obtain: f σc = :Socrates :says {?x a :Mortal.}. 23 / 28
  67. 67. ELIS – Multimedia Lab Handling variables For f = ?x :says {?x a :Mortal.}. and σ = {?x/:Socrates} we obtain: f σc = :Socrates :says {?x a :Mortal.}. and f σt = :Socrates :says {:Socrates a :Mortal.}. 23 / 28
  68. 68. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: 24 / 28
  69. 69. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. 24 / 28
  70. 70. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 24 / 28
  71. 71. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. 24 / 28
  72. 72. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 24 / 28
  73. 73. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 f = ?y :p1 {?x :p2 :o2}. 24 / 28
  74. 74. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 f = ?y :p1 {?x :p2 :o2}. → nf (?x) = 2 24 / 28
  75. 75. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 f = ?y :p1 {?x :p2 :o2}. → nf (?x) = 2 f = ?y :p1 {?y :p2 {?x :p3 :o3}}. 24 / 28
  76. 76. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 f = ?y :p1 {?x :p2 :o2}. → nf (?x) = 2 f = ?y :p1 {?y :p2 {?x :p3 :o3}}. → nf (?x) = 3 24 / 28
  77. 77. ELIS – Multimedia Lab Handling variables To cope with the behavior of universal quantification we define the nesting level nf(?x) of a variable ?x in a formula f as the lowest level, counted from above, where ?x can be found: f = ?x :p :o. → nf (?x) = 1 f = ?x :p1 {?x :p2 :o2}. → nf (?x) = 1 f = ?y :p1 {?x :p2 :o2}. → nf (?x) = 2 f = ?y :p1 {?y :p2 {?x :p3 :o3}}. → nf (?x) = 3 We call a universal variable accessible in a formula f iff 0 nf(?x) ≤ 2 . 24 / 28
  78. 78. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 25 / 28
  79. 79. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 25 / 28
  80. 80. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 → ?x is not accessible in f0 25 / 28
  81. 81. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 → ?x is not accessible in f0 nf11 (?x) = 2 and nf12 (?x) = 2 25 / 28
  82. 82. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 → ?x is not accessible in f0 nf11 (?x) = 2 and nf12 (?x) = 2 → ?x is accessible in f11 and f12 25 / 28
  83. 83. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 → ?x is not accessible in f0 nf11 (?x) = 2 and nf12 (?x) = 2 → ?x is accessible in f11 and f12 Those are exactly the formulas where the two ?x are quantified: 25 / 28
  84. 84. ELIS – Multimedia Lab Handling variables Consider { {?x :p :a.} = {?x :q :b.}. f11 } = {{?x :r :c.} = {?x :s :d.}. f12 }. f0 nf0 (?x) = 3 → ?x is not accessible in f0 nf11 (?x) = 2 and nf12 (?x) = 2 → ?x is accessible in f11 and f12 Those are exactly the formulas where the two ?x are quantified: { {?x :p :a.} = {?x :q :b.}. }= { {?x :q :c.} = {?x :r :d.}. } (∀x1 : (p(x1, a) → q(x1, b))) → (∀x2 : (r(x2, c) → s(x2, d))) 25 / 28
  85. 85. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: 26 / 28
  86. 86. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: Ground implications have the usual first order meaning 26 / 28
  87. 87. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: Ground implications have the usual first order meaning Except if they occur in implications, graphs are handled as simple URIs 26 / 28
  88. 88. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: Ground implications have the usual first order meaning Except if they occur in implications, graphs are handled as simple URIs We add grounding steps for any formula f in the following order: 26 / 28
  89. 89. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: Ground implications have the usual first order meaning Except if they occur in implications, graphs are handled as simple URIs We add grounding steps for any formula f in the following order: 1. If f contains accessible universal variables, it is valid iff f σt is valid for every ground substitution σ for those variables. 26 / 28
  90. 90. ELIS – Multimedia Lab N3 context Our model definition is oriented on the RDF semantics with the following additions: Ground implications have the usual first order meaning Except if they occur in implications, graphs are handled as simple URIs We add grounding steps for any formula f in the following order: 1. If f contains accessible universal variables, it is valid iff f σt is valid for every ground substitution σ for those variables. 2. If f contains existentials on top level it is valid iff there exists a ground substitution σ for those variables such that f σc is valid. 26 / 28
  91. 91. ELIS – Multimedia Lab Notation3 Logic Implicit Quantification Formal Semantics 27 / 28
  92. 92. ELIS – Multimedia Lab Conclusion It is possible to define the semantics as in the team submission 28 / 28
  93. 93. ELIS – Multimedia Lab Conclusion It is possible to define the semantics as in the team submission It is difficult and rather unusual to define the scope of universals as it is proposed in the team submission 28 / 28
  94. 94. ELIS – Multimedia Lab Conclusion It is possible to define the semantics as in the team submission It is difficult and rather unusual to define the scope of universals as it is proposed in the team submission Implicit universal quantification could be handled easier, for example on formula level 28 / 28
  95. 95. ELIS – Multimedia Lab Conclusion It is possible to define the semantics as in the team submission It is difficult and rather unusual to define the scope of universals as it is proposed in the team submission Implicit universal quantification could be handled easier, for example on formula level Let’s simplify this! 28 / 28
  96. 96. ELIS – Multimedia Lab Example: Explicit quantification @forAll #x. @forSome #y. #x #loves #y . @forSome #y. @forAll #x. #x #loves #y . 29 / 28
  97. 97. ELIS – Multimedia Lab Example: Explicit quantification @forAll #x. @forSome #y. #x #loves #y . @forSome #y. @forAll #x. #x #loves #y . Have the same meaning: ∀x∃y : loves(x, y). 29 / 28
  98. 98. ELIS – Multimedia Lab Example: Variable of not? @forSome :y. :x :p :y. @forAll :x. :x :q :o. 30 / 28
  99. 99. ELIS – Multimedia Lab Example: Variable of not? @forSome :y. :x :p :y. @forAll :x. :x :q :o. Is the first :x quantified? 30 / 28

×