Semantic Web                                                Technologien                                                  ...
Semantic Web TechnologienWiederholung                                                                                     ...
Semantic Web TechnologienWiederholung      Überblick über SHROIQ(D)                                                       ...
Semantic Web TechnologienWiederholung                                                                                     ...
Semantic Web Technologien    Vorlesungsinhalt5       1. Einführung       2. Semantic Web Basisarchitektur                D...
Semantic Web Technologien    Vorlesungsinhalt6     3. Wissensrepräsentation und Logik        Die Sprachen des Semantic Web...
Können wir wirklich alles7                                       Wissen mit OWL                                       mode...
8                                       & c                                    s ti                                l e    ...
9          3.7 Regeln mit SWRL/RIF              3.7.1 Anfragesprache für OWL Wissensbasen              3.7.2 Konjunktive A...
Wissensrepräsentation mit OWL10                                  •OWL-Konzepte können auch als Abfrage an eine            ...
Wissensrepräsentation mit OWL                                  •OWL-Konzepte sind als Anfragesprache ungenügend11         ...
Ausdrucksstarke Anfragen für OWL                                  •SPARQL ist Anfragesprache für RDF12                    ...
Ausdrucksstarke Anfragen für OWL                                 •Anfrageformalismus für OWL DL: konjunktive Anfragen13   ...
14          3.7 Regeln mit SWRL/RIF              3.7.1 Anfragesprache für OWL Wissensbasen              3.7.2 Konjunktive ...
Syntax und Intuition konjunktiver Anfragen15                                 •Konjunktive Anfragen sind (ziemlich) einfach...
Syntax und Intuition konjunktiver Anfragen                                  •Hauptelemente (Atome):16                     ...
Semantik konjunktiver Anfragen                                 •Konjunktive Anfragen ähneln logischen Formeln17           ...
Unbenannte Elemente                                     •Variablen traten bisher als Platzhalter für (benannte)18         ...
Unbestimmte Variablen                                  •Wie können in Anfragen auch unbenannte Elemente19                 ...
Vergleich: SPARQL vs. konjunktive Anfragen20                SPARQL                                                        ...
Vergleich: SPARQL und konjunktive Anfragen                                   •SPARQL für OWL ist möglich:21               ...
Komplexität und Entscheidbarkeit22                                 •Das Ziehen von Schlussfolgerungen mit OWL DL ist sehr ...
Implementationen konjunktiver Anfragen                                •KAON2: konjunktive Anfragen ohne unbestimmte Variab...
24          3.7 Regeln mit SWRL/RIF              3.7.1 Anfragesprache für OWL Wissensbasen              3.7.2 Konjunktive ...
Was sind Regeln?                                             IF A .... THEN                          B ....25             ...
Was sind Regeln?26                                 •Logische Regeln (Implikationen in Prädikatenlogik):                   ...
Was sind Regeln?27                                  •Logikprogrammierung (z.B. Prolog, F-Logik):                          ...
Welche Regelsprache ist für uns geeignet?                                 •verschiedene Regelsprachen sind untereinander m...
Welche Regelsprache ist für uns geeignet?                                 •Logische Regeln (Implikationen in Prädikatenlog...
Welche Regelsprache ist geeignet?30                                 •Logikprogrammierung (z.B. Prolog, F-Logik):          ...
Prädikatenlogik als Regelsprache                                 •Regeln als Implikationsformeln der Prädikatenlogik      ...
Prädikatenlogik als Regelsprache                                 •Regeln als Implikationsformeln der Prädikatenlogik      ...
Arten von prädikatenlogischen Regeln                                •Disjunktive Regeln33                                 ...
Arten von prädikatenlogischen Regeln                                •Bezeichnungen für „Regeln“ in der Prädikatenlogik34  ...
Arten von prädikatenlogischen Regeln                                   •Beispiele35                                       ...
DATALOG                                 • logische Regelsprache, bestehend aus36                                • Hornklau...
DATALOG37                               •Datalog Term: 	                       	             Konstante c oder Variable v  ...
DATALOG                                 Beispiele38                                     (1) Vegetarian(x) ⋀ FishProduct(y)...
DATALOG Semantik                                   • Interpretation I mit Domäne ΔI39                                   • ...
40                                      Aber wie lässt sich                                       Datalog mit OWL         ...
41             Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12...
42      3.7 Regeln mit SWRL/RIF          3.7.1 Anfragesprache für OWL Wissensbasen          3.7.2 Konjunktive Anfragen für...
SWRL SemanticWeb Rule Language                                 •W3C Submission (bereits im Mai 2004)                      ...
SWRL SemanticWeb Rule Language44                                                     Antezedenz → Konsequenz              ...
SWRL - Abstract Language Definition                                •SWRL-Regel45                                      a ← b...
SWRL - Semantik                                 •OWL DL (Beschreibungslogik) und Datalog verwenden die46                  ...
SWRL - Semantik                                •Sei I = (ΔI, ΔD, .I , .D) eine Interpretation mit,47                      ...
SWRL - Semantik                                 •SWRL-Atome werden folgendermaßen interpretiert:48                        ...
SWRL - Semantik                               •SWRL Antezedenz wird genau dann erfüllt,49                                 ...
SWRL - Beispiel                                   hatOnkel (?x, ?z) ← hatVater (?x, ?y) Λ hatBruder (?y, ?z)50            ...
Komplexität von SWRL                                •Logisches Schlussfolgern in OWL DL ist51                             ...
SWRL ist unentscheidbar                                • Es existiert kein bekannter Algorithmus, mit dem alle            ...
Entscheidbare Fragmente von SWRL                                •Welche SWRL-Wissensbasen erlauben vollständige53         ...
(1) Description Logics Rules54                                •Generelle Idee:                                  Finde hera...
(1) Description Logics Rules55                               •Einige Klassen können in Regeln zerlegt werden              ...
(1) Description Logics Rules                                 •Allgemeine Rolleninklusion (Property Chains) können auch56  ...
(1) Description Logics Rules                                 •Probleme:57                                   •Wenn auf beid...
(1) Description Logics Rules                                      Bsp.:            Man(x) ∧ hasChild(x,y) → fatherOf(x,y)5...
(1) Description Logics Rules                                •Probleme:59                                     Bsp.:        ...
(1) Description Logics Rules                                •Probleme:60                                      Bsp.:       ...
Entscheidbare Fragmente von SWRL                                •Welche SWRL-Wissensbasen erlauben vollständige61         ...
(2) DL-Safe Rules                                •Idee:62                                   •SWRL soweit einschränken, das...
Erzwingen von DL-Safety                               •Beispiel:63                                         onkel(x, y) ← b...
Erzwingen von DL-Safety                                •Beispiel: „Wer seinen Bruder hasst, ist böse“64       Wissensbasis...
Zusammenfassung                                •SWRL („OWL + Datalog“) ist unentscheidbar65                              •...
Tool Support für SWRL                                •Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro,                      ...
67          3.7 Regeln mit SWRL/RIF              3.7.1 Anfragesprache für OWL Wissensbasen              3.7.2 Konjunktive ...
RIF - Rule Interchange Format                                 •W3C Standard (Oktober 2009)68                              ...
RIF - Rule Interchange Format                                 •Bestandteile:69                                     •RIF BL...
RIF - CORE                                 •RIF-Core ist70                                  •eingeschränkte Variante des R...
RIF-CORE Dialect                                 •Bsp.:               onkel(x, y) ← bruder(x, z) ⋀ vater(z, y)71          ...
RIF-CORE Dialect                                 •Property-Werte lassen sich komfortabel mit Hilfe72                      ...
RIF-CORE XML Syntax                                       <Document>73                                         <payload>  ...
RIF-CORE XML Syntax                           RIF presentation Syntax                                          RIF XML Syn...
RIF-CORE XML Syntax                             RIF presentation Syntax                                         RIF XML Sy...
RIF-CORE XML Syntax76                       RIF presentation Syntax                                       RIF XML Syntax  ...
RIF-CORE XML Syntax                         RIF presentation Syntax                                       RIF XML Syntax77...
RIF-CORE XML Syntax                         RIF presentation Syntax                                         RIF XML Syntax...
79          3.7 Regeln mit SWRL/RIF              3.7.1 Anfragesprache für OWL Wissensbasen              3.7.2 Konjunktive ...
Semantic Web Technologien     Vorlesungsinhalt80     3. Wissensrepräsentation und Logik        Die Sprachen des Semantic W...
Nächste Vorlesung:81                                             a l                                         i c          ...
3. Wissensrepräsentation und Logik     3.7 Regeln mit SWRL / RIF82                               • P. Hitzler, S. Roschke,...
3. Wissensrepräsentation und Logik     3.7 Regeln mit SWRL / RIF83          Materialien                                   ...
Upcoming SlideShare
Loading in...5
×

10 - Regeln mit SWRL und RIF - Semantic Web TEchnologien WS 2011/12

2,632

Published on

Präsentation zur Vorlesung 'Regeln mit SWRL un d RIF' aus der Reihe 'Semantic Web Technologien', WS 2011/12 am Hasso-Plattner Institut Potsdam, vom 03.01.2012

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

  • Be the first to like this

No Downloads
Views
Total Views
2,632
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
68
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

10 - Regeln mit SWRL und RIF - Semantic Web TEchnologien WS 2011/12

  1. 1. Semantic Web Technologien Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2011/12 Blog zur Vorlesung: http://wwwsoup2011.blogspot.com/Mittwoch, 4. Januar 12
  2. 2. Semantic Web TechnologienWiederholung OWL 22 OWL SHROIQ(D) SHOIN(D) Erweiterung Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  3. 3. Semantic Web TechnologienWiederholung Überblick über SHROIQ(D) OWL 23 OWL Klassenausdrücke Tbox (Klassenaxiome) SHROIQ(D) • Klassennamen A,B • Inklusion C ⊑ D • Konjunktion C ⊓ D • Äquivalenz C ≣ D SHOIN(D) • Disjunktion C ⊔ D • Negation ¬C Rbox (Rollenaxiome) • Exist. Rollenrestriktion ∃R.C • Inklusion R1 ⊑ R2 • Univ Rollenrestriktion ∀R.C • Allgemeine Inklusion R(-)1 º R (-) 2 º ..... º R (-) n ⊑ R • Self ∃S.Self • Transitivität • Größer-als ≥n S.C • Symmetrie • Kleiner-als ≤ S • Reflexivität • Nominale {a} • Irreflexivität • Disjunktheit Rollen • Rollennamen R,S,T Abox (Fakten) • Einfache Rollen S,T • Klassenzugehörigkeit C(a) • Inverse Rollen R- • Rollenbeziehung R(a,b) • Universelle Rolle U • Negierte Rollenbeziehung ¬S(a,b) • Gleichheit a=b Erweiterung • Ungleichheit a≠b Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  4. 4. Semantic Web TechnologienWiederholung OWL 24 OWL OWL 2 Profile SHROIQ(D) • Ansatz: SHOIN(D) • Identifiziere maximale OWL 2 Subsprachen (Fragmente), die noch in Polynomialzeit entscheidbar sind • Praktische Überlegungen • Einfache Implementierungen und praktische Nutzbarkeit • Definition von 3 OWL Profilen: • OWL 2 EL • OWL 2 QL • OWL 2 RL Erweiterung Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  5. 5. Semantic Web Technologien Vorlesungsinhalt5 1. Einführung 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 1 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 4. Semantic Web Anwendungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  6. 6. Semantic Web Technologien Vorlesungsinhalt6 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 3.1. Exkurs: Ontologien in Philosophie und Informatik 3.2. Wiederholung: Aussagenlogik und Prädikatenlogik 3.3. Beschreibungslogiken (Description Logics) 3.4. RDF(S)-Semantik 3.5. OWL und OWL-Semantik 3.6. OWL 2 3.7. Regeln mit SWRL/RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  7. 7. Können wir wirklich alles7 Wissen mit OWL modellieren....? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  8. 8. 8 & c s ti l e u R ema n e S b t h W e Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  9. 9. 9 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  10. 10. Wissensrepräsentation mit OWL10 •OWL-Konzepte können auch als Abfrage an eine Wissensbasis aufgefasst werden •Bsp.: •Eine Waise ist eine Person, deren Eltern verstorben sind. •Orphan ⊑ Person ⊓ ¬∃hasParent.Alive •Entspricht der Abfrage: •Suche alle Personen, deren Eltern nicht mehr am Leben sind Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  11. 11. Wissensrepräsentation mit OWL •OWL-Konzepte sind als Anfragesprache ungenügend11 •Bsp.: •Gegeben sei eine Wissensbasis gegeben mit den Rollen istKindVon und lebtZusammenMit •Folgende Fragen können nicht über die Konstruktion einfacher OWL-Klassen beantwortet werden: •Welche Paare von Personen haben ein gemeinsames Elternteil? •Welche Personen wohnen bei einem ihrer Eltern? •Welche Paare gibt es, bei denen ein Partner (direkter oder indirekter) Nachkommen des anderen ist? •Die ersten beiden Fragen könnten mit SPARQL-Anfragen formuliert werden •...die letzte Anfrage nicht Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  12. 12. Ausdrucksstarke Anfragen für OWL •SPARQL ist Anfragesprache für RDF12 •besitzt keine direkte Unterstützung für OWL •SPARQL ist Abfragesprache für RDF-Graphen •Komplexe (OWL) Ontologien beschreiben aber keine Graphen, sondern vielmehr eine Vielzahl möglicher Interpretationen •Anders als bei RDF gibt es keine „möglichst ausführliche“ (most specific) Interpretation als Grundlage für einen Graphen •OWL DL Interpretationen können potenziell unendlich viele Elemente enthalten •Es ist noch nicht genau klar, wie eine SPARQL-Erweiterung für OWL genau aussehen könnte.... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  13. 13. Ausdrucksstarke Anfragen für OWL •Anfrageformalismus für OWL DL: konjunktive Anfragen13 •keine offizielle Spezifikation, keine normative Syntax, (uns reichen hier Kurzschreibweisen anstelle von vollen URIs) •Ziel: ausdrucksstärkere Anfragen nach Individuen •keine Betrachtung von Formatierung oder Nachbearbeitung der Ergebnisse •praktische Bedeutung für Anwendungen •verschiedene Implementationen verfügbar Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  14. 14. 14 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  15. 15. Syntax und Intuition konjunktiver Anfragen15 •Konjunktive Anfragen sind (ziemlich) einfach! •Beispiel: •„Welche Bücher sind bei Springer erschienen und wer hat sie geschrieben?“ Buch(x) ∧ verlegtBei(x, Springer) ∧ hatAutor(x, y) •Syntax angelehnt an Prädikatenlogik •Hauptelemente: Bezeichner von Rollen/Klassen/Individuen, Variablen, Konjunktion ∧ Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  16. 16. Syntax und Intuition konjunktiver Anfragen •Hauptelemente (Atome):16 •C(e) oder ¬C(e) , C ist Klassenname, e ist Variable oder Name eines Individuums •R(e,f), R Rollenname, e und f jeweils Variablen oder Namen von Individuen •Beispiel: Buch(x) ∧ verlegtBei(x, Springer) ∧ hatAutor(x, y) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  17. 17. Semantik konjunktiver Anfragen •Konjunktive Anfragen ähneln logischen Formeln17 •Anfragen ohne Variablen können aus einer Ontologie folgen •Variablen dienen als Platzhalter für Bezeichner von Individuen (bestimmte Variablen, distinguished variables) •Funktion μ ist Lösung einer konjunktiven Anfrage q für eine OWL DL Ontologie O, falls gilt: (1) Domäne von μ ist Menge der freien Variablen in q (2) Wertebereich von μ ist Menge der Individuenbezeichner in O (3) O ⊨ μ(q), d.h. konjunktive Anfrage q mit dieser Variablenbelegung folgt aus O •keine partielle Funktion – alle Variablen müssen belegt sein •Literale (Datentypen) hier zur Vereinfachung nicht betrachtet Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  18. 18. Unbenannte Elemente •Variablen traten bisher als Platzhalter für (benannte)18 Individuen auf •OWL-Ontologien können aber auch die Existenz unbenannter Elemente implizieren •Beispiel: Buch(a) (a ist ein Buch) Buch ⊑ ∃hatAutor.⊤ (jedes Buch hat einen Autor) Anfrage: Buch(x) ∧ hatAutor(x,y) → keine Lösung möglich! Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  19. 19. Unbestimmte Variablen •Wie können in Anfragen auch unbenannte Elemente19 berücksichtigt werden? •Ausgabe unbenannter Elemente als Teil der Lösung problematisch •Existenzaussage möglich über Unbestimmte Variablen (non-distinguished variables) (durch Existenzquantoren gebundene Variablen) Buch(a) (a ist ein Buch) Buch ⊑ ∃hatAutor.⊤ (jedes Buch hat einen Autor) Anfrage: ∃y.(Buch(x) ∧ hatAutor(x,y)) Lösung {x ↦ a}, aber y ist nicht Teil der Lösung Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  20. 20. Vergleich: SPARQL vs. konjunktive Anfragen20 SPARQL konjunktive Anfragen Muster in Graphen logische Konjunktionen kanonisches Modell viele mögliche Modelle Optionen, Alternativen, Filter - nur Abfrage von Instanzen Abfrage beliebiger Elemente (strikte Typisierung) Variablen für beliebige Elemente bestimmte und unbestimmte Variablen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  21. 21. Vergleich: SPARQL und konjunktive Anfragen •SPARQL für OWL ist möglich:21 •Darstellung einer logischen Konsequenz als Graph •Typisierung wie bei OWL DL, ev. Erweiterung um in OWL übliche Anfragen (z.B. Klassenhierarchie) •Inkompatibilitäten bzgl. der Variablensemantik bleiben bestehen •Aber: •OWL unterscheidet nicht zwischen Blank Nodes und irgendwelchen unbenannten, hergeleiteten Elementen •Daher müsste eine SPARQL Erweiterung für OWL DL auch alle herleitbaren Ergebniselemente auf eine Abfrage mit zurückliefern (...dies könnten aber unendlich viele sein) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  22. 22. Komplexität und Entscheidbarkeit22 •Das Ziehen von Schlussfolgerungen mit OWL DL ist sehr komplex (NEXPTIME-vollständig) •Wie komplex sind konjunktive Anfragen? •Bisher noch nicht abschließend geklärt! •Konjunktive Anfragen für SHIQ (und für OWL Lite): 2EXPTIME-vollständig! •Konjunktive Anfragen für SHOQ: entscheidbar in 2EXPTIME •Konjunktive Anfragen für SHROIQ (und für OWL DL): Entscheidbarkeit (noch) nicht bekannt! ...konjunktive Anfragen für OWL sind also sehr sehr kompliziert... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  23. 23. Implementationen konjunktiver Anfragen •KAON2: konjunktive Anfragen ohne unbestimmte Variablen,23 eingeschränkte Negation zulässig •Pellet: konjunktive Anfragen mit unbestimmten Variablen und Negationen, nicht vollständig für OWL DL •weitere Systeme mit speziellen Anfragesprachen (RacerPro) oder Beschränkung auf einfachere DLs (QuOnto für OWL QL) • siehe auch http://www.cs.man.ac.uk/~sattler/reasoners.html Einschränkung des Problems erleichtert (stets) die Implementierung Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  24. 24. 24 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  25. 25. Was sind Regeln? IF A .... THEN B ....25 A → B •Interpretation einer Regel ist abhängig vom Kontext • allgemeine Schlussfolgerung: Prämisse → Konklusion • Hypothese: Ursache → Wirkung • Produktion: Bedingung → Aktion Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  26. 26. Was sind Regeln?26 •Logische Regeln (Implikationen in Prädikatenlogik): •F → G (≡ ¬F ∨ G) •Logische Erweiterung der Wissensbasis (statisch) •Open World, Deklarativ (beschreibend) •Prozedurale Regeln (z.B. Production Rules): •If X then Y else Z •Ausführbare Maschinen-Anweisungen (dynamisch) •Operational (Bedeutung = Effekt bei Ausführung) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  27. 27. Was sind Regeln?27 •Logikprogrammierung (z.B. Prolog, F-Logik): •„frau(X) <- person(X) AND NOT mann(X)“ •Approximation logischer Semantik mit operationalen Aspekten, •typischerweise Closed World, Semi-deklarativ •Deduktionsregeln eines Kalküls (z.B. Regeln zur RDF-Semantik) •Regeln zum Definieren neuer Regeln („Meta-Regeln“) •Ableitungsregeln selbst sind nicht Teil der Wissensbasis •(nicht Thema dieser Vorlesung) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  28. 28. Welche Regelsprache ist für uns geeignet? •verschiedene Regelsprachen sind untereinander meist kaum28 kompatibel! •Daher ist die Wahl der geeigneten Regelsprache sehr wichtig •Mögliche Kriterien: •Klare Spezifikation von Syntax und Semantik? •Unterstützung durch Software-Tools? •Welche Ausdrucksmittel werden benötigt? •Komplexität der Implementierung? Komplexität? •Kompatibilität mit bestehenden Formaten, wie z.B. OWL? •Deklarativ (Beschreiben) oder operational (Programmieren)? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  29. 29. Welche Regelsprache ist für uns geeignet? •Logische Regeln (Implikationen in Prädikatenlogik):29 •klar definiert, umfassend erforscht, gut verstanden •sehr gut kompatibel mit OWL DL und RDF •ohne Einschränkungen nicht entscheidbar •Prozedurale Regeln (z.B. Production Rules): •viele unabhängige Ansätze, oft nur vage formalisiert •Verwendung oft wie Programmiersprachen •Beziehung zu OWL und RDF unklar •effiziente Abarbeitung möglich Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  30. 30. Welche Regelsprache ist geeignet?30 •Logikprogrammierung (z.B. Prolog, F-Logik): •klar definiert, aber viele unterschiedliche Ansätze •teilweise kompatibel mit OWL und RDF •Entscheidbarkeit/Komplexität stark vom gewählten Ansatz abhängig •Wir betrachten prädikatenlogische Regeln (die gleichzeitig die Grundlage der Logikprogrammierung sind) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  31. 31. Prädikatenlogik als Regelsprache •Regeln als Implikationsformeln der Prädikatenlogik (Horn-Klauseln)31 A1 ∧ A2 ∧ . . . ∧ An → H Rumpf → Kopf •semantisch äquivalent zu ¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H •Konstanten, Variablen, Prädikate und Funktionssymbole erlaubt •Quantoren für Variablen werden oft weggelassen, freie Variablen werden als universell quantifiziert verstanden •d.h. Regel gilt für alle Belegungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  32. 32. Prädikatenlogik als Regelsprache •Regeln als Implikationsformeln der Prädikatenlogik (Horn-Klauseln)32 H ← A1 ∧ A2 ∧ . . . ∧ An Kopf ← Rumpf •semantisch äquivalent zu ¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H •Konstanten, Variablen, Prädikate und Funktionssymbole erlaubt •Quantoren für Variablen werden oft weggelassen, freie Variablen werden als universell quantifiziert verstanden •d.h. Regel gilt für alle Belegungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  33. 33. Arten von prädikatenlogischen Regeln •Disjunktive Regeln33 •Disjunktion von mehreren nicht-negierten Atomen A1 ∧ A2 ∧ . . . ∧ An → H1 ∨ H2 ∨ . . . ∨ Hm Rumpf Kopf •umgekehrte Schlussfolgerung, z.B. „wenn ich etwas sehe, dann ist das Licht an oder die Sonne scheint.“ Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  34. 34. Arten von prädikatenlogischen Regeln •Bezeichnungen für „Regeln“ in der Prädikatenlogik34 •Klausel: Disjunktion von atomaren Aussagen oder negierten atomaren Aussagen •Hornklausel: Klausel mit max. einem nicht-negierten Atom ¬p ∨ ¬q ∨ . . . ∨ ¬t ∨ u kann geschrieben werden als p∧ q∧...∧ t→u •Definite Klausel: Klausel mit genau einem nicht-negierten Atom •Fakt: Klausel aus einem einzigen nicht-negierten Atom Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  35. 35. Arten von prädikatenlogischen Regeln •Beispiele35 Person(x) → Frau(x) ∨ Mann(x) (Klausel) Mann(x) ∧ hatKind(x, y) → Vater(x) (definite Klausel) hatBruder(mutter(x), y) → istOnkelVon(x, y) (Funktionsymbole) Mann(x) ∧ Frau(x) → (Hornklausel) Frau(katarina) (Fakt) •Semantik von Regeln entspricht der Standardsemantik der Prädikatenlogik Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  36. 36. DATALOG • logische Regelsprache, bestehend aus36 • Hornklauseln ohne Funktionssymbole • Konjunktion, Konstanten, universell quantifizierte Variablen, Prädikatsymbol • keine Disjunktion, keine Negation, keinen Existenzquantor, keine Funktionssymbole • ursprünglich entwickelt als Grundlage deduktiver Datenbanken • Wissensbasen (Datalog-Programme) sind Mengen von Hornklauseln (ohne Funktionssymbole) • DATALOG ist entscheidbar • DATALOG ist berechnungseffizient für große Datenmengen, Komplexität entspricht OWL Lite, d.h. ExpTime Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  37. 37. DATALOG37 •Datalog Term: Konstante c oder Variable v •Datalog Atom: p(t1,...,tn) mit Prädikat p, Terme t1,...,tn •Datalog Regel: ∀x1,...,∀xn (B1 ⋀ ... ⋀ Bn → H) mit B1,...,Bn,H Atome und x1,...,xn Variablen der Atome •Datalog Programm: Menge von Datalog Regeln Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  38. 38. DATALOG Beispiele38 (1) Vegetarian(x) ⋀ FishProduct(y) → dislikes(x,y) (2) orderedDish(x,y) ⋀ dislikes(x,y) → Unhappy(x) (3) orderedDish(x,y) → Dish(y) (4) dislikes(x,z) ⋀ Dish(y) ⋀ contains(y,z) → dislikes(x,y) (5) → Vegetarian(Matthias) (6) Happy(x) ⋀ Unhappy(x) → Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  39. 39. DATALOG Semantik • Interpretation I mit Domäne ΔI39 • Auswertung von Variablen: Variablenzuweisung Z (Abbildung von Variablen auf ΔI) • Interpretation von Regeln und Termen unter I (und Z): • Interpretation einer Konstante: aI,Z = aI ∈ ΔI • Interpretation einer Variable: xI,Z = Z(x) ∈ ΔI • Interpretation eines n-stelligen Prädikats: pI ∈ ΔI n • I,Z ⊨ p(t1,...,tn) genau dann, wenn (tI,Z1,...,tI,Zn ) ∈ pI, • I ⊨ B → H genau dann, wenn für jede Variablenzuweisung Z gilt: entweder I,Z ⊨ H oder I,Z ⊭ B. • I ist ein Modell für eine Regelmenge, wenn gilt: I ⊨ B → H für alle Regeln B → H dieser Menge Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  40. 40. 40 Aber wie lässt sich Datalog mit OWL kombinieren? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  41. 41. 41 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  42. 42. 42 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  43. 43. SWRL SemanticWeb Rule Language •W3C Submission (bereits im Mai 2004) (developed by the Joint US/EU ad hoc43 Agent Markup Language Committee (JC), in collaboration with RuleML Initiative) •basiert auf Kombination aus Teilen von OWL und RuleML/ Datalog •hier OWL DL und Unary/Binary Datalog RuleML •Idee: Datalog Regeln, die sich auf OWL Ontologien beziehen •Symbole in Regeln können OWL-Bezeichner sein (oder neue Datalog Bezeichner) •Syntax: XML Concrete Syntax (erweitert OWL XML Presentation Language), RDF Concrete Syntax und abstrakte Syntax •Regeln werden formuliert als Implikation eines Antezedenz (Body) und einer Konsequenz (Head) •SWRL ist unentscheidbar Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  44. 44. SWRL SemanticWeb Rule Language44 Antezedenz → Konsequenz • Einschränkung: • Antezedenz und Konsequenz sind Konjunktionen von Ausdrücken (Atomen) der Form • C(x) oder P(x,y) • sameAs(x,y), differentFrom(x,y) • wobei x,y Variablen, OWL-Individuen oder Elemente einer OWL concrete domain sind, • C(x) eine OWL Klassenbeschreibung und P(x,y) ein OWL Property. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  45. 45. SWRL - Abstract Language Definition •SWRL-Regel45 a ← b1,...,bn wobei, a: head (ein Atom) b1,...,bn: body (alle Atome) •SWRL Wissensbasis k=(Σ,P) wobei, Σ ist eine OWL Wissensbasis P ist eine endliche Regelmenge •Atome sind definiert als Atom ← C(i) | D(v) | R(i, j) | U(i,v) | builtIn(p, v1, ..., vn) | i = j | i ≠ j • C ... Klasse, D ... Datentyp • v,v1,...vn ... Datentyp Variablen/Werte- Namen • R ... abstrakte Rolle (Object Property) • U ... konkrete Rolle (Datatype Property) • p ... Name der BuiltIn-Funktion • i,j ... Variablen/Individuen-Name Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  46. 46. SWRL - Semantik •OWL DL (Beschreibungslogik) und Datalog verwenden die46 gleichen Interpretationen •OWL-Individuen sind Datalog Konstanten •OWL-Klassen sind einstellige Datalog-Prädikate •OWL-Rollen sind zweistellige Datalog-Prädikate •Interpretation kann gleichzeitig Modell sein für OWL-Ontologie und eine Menge von Datalog-Regeln Schlussfolgerungen über OWL-Datalog Kombination möglich Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  47. 47. SWRL - Semantik •Sei I = (ΔI, ΔD, .I , .D) eine Interpretation mit,47 •ΔI = Object Interpretation domain •ΔD = Datatype Interpretation domain •.I = Object Interpretation function • .D = Datatype Interpretation function • mit ΔI ∩ ΔD =⊥ •VIX seien Objektvariablen mit VIX → 2 ΔI •VDX seien Datentypvariablen mit VDX → 2 ΔD Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  48. 48. SWRL - Semantik •SWRL-Atome werden folgendermaßen interpretiert:48 SWRL-Atome Interpretation C(i) iI∈CI R(i,j) (iI,jI)∈RI U(i,v) (iI,vD)∈UI D(v) vD∈DD builtIn(p,v1,...,vn) v1D,...,vnD∈pD i=j iI=jI i≠j iI≠jI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  49. 49. SWRL - Semantik •SWRL Antezedenz wird genau dann erfüllt,49 •wenn das Antezedenz leer ist (trivial) •wenn alle Atome des Antezedenz erfüllt sind •SWRL Konsequenz ist genau dann erfüllt, •wenn es nicht leer ist und •wenn das Atom der Konsequenz erfüllt ist •Eine Regel wird von einer Interpretation I erfüllt, gdw. •die Interpretation I, die das Antezedenz erfüllt ebenso die Konsequenz erfüllt. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  50. 50. SWRL - Beispiel hatOnkel (?x, ?z) ← hatVater (?x, ?y) Λ hatBruder (?y, ?z)50 <ruleml:imp> <ruleml:_rlab ruleml:href="#onkel"/> <owlx:Annotation> <owlx:Documentation>Bruder des Vaters</owlx:Documentation> </owlx:Annotation> <ruleml:_body> <swrlx:individualPropertyAtom swrlx:property=“&family;hatVater"> <ruleml:var>x</ruleml:var> <ruleml:var>y</ruleml:var> </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property=“&family;hatBruder"> <ruleml:var>y</ruleml:var> <ruleml:var>z</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_body> <ruleml:_head> <swrlx:individualPropertyAtom swrlx:property=“&family;hatOnkel"> <ruleml:var>x</ruleml:var> <ruleml:var>z</ruleml:var> </swrlx:individualPropertyAtom> </ruleml:_head> </ruleml:imp> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  51. 51. Komplexität von SWRL •Logisches Schlussfolgern in OWL DL ist51 NEXPTIME-vollständig •Logisches Schlussfolgern in OWL 2 DL ist N2EXPTIME-vollständig •Logisches Schlussfolgern in Datalog ist EXPTIME-vollständig •Wie schwer ist logisches Schließen in OWL+SWRL? •Logisches Schlussfolgern in OWL+SWRL ist unentscheidbar (selbst für OWL 2 EL) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  52. 52. SWRL ist unentscheidbar • Es existiert kein bekannter Algorithmus, mit dem alle logischen Schlussfolgerungen aus allen SWRL Wissensbasen52 gezogen werden können, selbst bei unbegrenzten Ressourcen und in unbeschränkter Zeit. • Praktisch aber möglich: • Algorithmen, die alle Schlussfolgerungen für einige SWRL Wissensbasen ziehen können • Algorithmen, die einige Schlussfolgerungen für alle SWRL- Wissensbasen ziehen können Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  53. 53. Entscheidbare Fragmente von SWRL •Welche SWRL-Wissensbasen erlauben vollständige53 Inferenzalgorithmen? •Alle SWRL Wissensbasen, die nur aus OWL/OWL 2 Axiomen bestehen •Alle SWRL Wissensbasen, die nur aus Mengen von Datalog-Programmen bestehen •Jede statische finite Klasse von SWRL Wissensbasen •Gibt es noch mehr interessante entscheidbare SWRL Fragmente? (1) Description Logics Rules SWRL-Regeln, die bereits in OWL 2 ausgedrückt werden können (2) DL-safe Rules Beschränkung der SWRL-Regeln durch Einschränkung der möglichen Variablenzuweisungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  54. 54. (1) Description Logics Rules54 •Generelle Idee: Finde heraus, welche Regeln bereits mit Hilfe von OWL 2 DL ausgedrückt werden können. •Einfache Regeln in OWL 2 Class1 ⊑ Class2 Property1 ⊑ Property2 •entsprechen Class1(x) → Class2(x) Property1(x,y) → Property2(x,y) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  55. 55. (1) Description Logics Rules55 •Einige Klassen können in Regeln zerlegt werden Happy ⊓ Unhappy ⊑ ⊥ ∃livesIn.∃locatedIn.EUCountry ⊑ EUCitizen •entspricht Happy(x) ∧ Unhappy(x) → livesIn(x,y) ∧ locatedIn(y,z) ∧ EUCountry(z) → EUCitizen(x) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  56. 56. (1) Description Logics Rules •Allgemeine Rolleninklusion (Property Chains) können auch56 als Regeln dargestellt werden: hasParent ∘ hasBrother ⊑ hasUncle •entspricht hasParent(x,y) ∧ hasBrother(y,z) → hasUncle(x,z) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  57. 57. (1) Description Logics Rules •Probleme:57 •Wenn auf beiden Seiten der Regel nicht nur Klassen oder nur Rollen auftauchen Bsp.: Man(x) ∧ hasChild(x,y) → fatherOf(x,y) •Wie könnte man das in OWL 2 ausdrücken? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  58. 58. (1) Description Logics Rules Bsp.: Man(x) ∧ hasChild(x,y) → fatherOf(x,y)58 •Wie könnte man das in OWL 2 ausdrücken? •Idee: •ersetze Man(x) durch eine Rolle, um die Regel als Rolleninklusion auszudrücken •Nutze „Self“ um Klassen in Rollen umzuwandeln •Hilfsrolle PMan •Hilfsaxiom Man ≣ ∃PMan.Self •Damit: PMan ∘ hasChild ⊑ fatherOf Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  59. 59. (1) Description Logics Rules •Probleme:59 Bsp.: Vegetarian(x) ∧ Fishproduct(y) → dislikes(x,y) •Wie könnte man das in OWL 2 ausdrücken? •Idee: •Nutze universelle Rolle U, um unverbundene Teile des Body zu verknüpfen •Hilfsrollen: PVegetarian und PFishproduct Vegetarian ≣ ∃PVegetarian.Self Fishproduct ≣ ∃PFishproduct.Self PVegetarian ∘ U ∘ PFishproduct ⊑ dislikes Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  60. 60. (1) Description Logics Rules •Probleme:60 Bsp.: orderedDish(x,y) ∧ dislikes(x,y) → Unhappy(x) •Wie könnte man das in OWL 2 ausdrücken? •Kann man die Variable y eliminieren, um eine Klasseninklusion in OWL2 zu formen? Unhappy ⊑ ∃orderedDish.⊤ ⊓ ∃dislikes.⊤ ? Unhappy ⊑ ∃orderedDish.∃dislikes–.⊤ ? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  61. 61. Entscheidbare Fragmente von SWRL •Welche SWRL-Wissensbasen erlauben vollständige61 Inferenzalgorithmen? •Alle SWRL Wissensbasen, die nur aus OWL/OWL 2 Axiomen bestehen •Alle SWRL Wissensbasen, die nur aus Mengen von Datalog-Programmen bestehen •Jede statische finite Klasse von SWRL Wissensbasen •Gibt es noch mehr interessante entscheidbare SWRL Fragmente? (1) Description Logics Rules SWRL-Regeln, die bereits in OWL 2 ausgedrückt werden können (2) DL-safe Rules Beschränkung der SWRL-Regeln durch Einschränkung der möglichen Variablenzuweisungen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  62. 62. (2) DL-Safe Rules •Idee:62 •SWRL soweit einschränken, dass Entscheidbarkeit garantiert ist durch Einschränkung der möglichen Variablenbelegungen •Beliebige Datalog-Regeln erlaubt, wobei OWL-Klassen und - Rollennamen eingebaut werden dürfen •Regeln müssen DL-safe sein: Jede Variable muss auch in einem Ausdruck im Rumpf auftreten, der keine OWL-Klasse oder -Rolle verwendet (= Datalog Atom) •Semantik übernommen von OWL+SWRL (Prädikatenlogik). DL-safety schränkt die Anwendbarkeit von Regeln auf benannte Individuen (=Konstanten) ein Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  63. 63. Erzwingen von DL-Safety •Beispiel:63 onkel(x, y) ← bruder(x, z) ⋀ vater(z, y) •nicht DL-safe, wenn „bruder“ und „vater“ OWL-Rollen sind •Erzwingen von DL-Safeness durch Einschränken der Regeln auf bekannte Individuen: onkel(x, y) ← bruder(x, z) ⋀ vater(z, y) ⋀ O(x) ⋀ O(y) ⋀ O(z) •wobei der Fakt O(a) für alle OWL-Individuen a angelegt wird. •Regel nur noch auf bekannte OWL-Individuen (Named Individuals) anwendbar Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12 Turmbau zu Babel, Pieter Brueghel, 1563
  64. 64. Erzwingen von DL-Safety •Beispiel: „Wer seinen Bruder hasst, ist böse“64 Wissensbasis: vater(Kain, Adam) vater(Abel, Adam) hasst(Kain, Abel) ∃vater.vater—{Remus}(Romulus) hasst(Romulus, Remus) böse(x) ← vater(x, z) ⋀ vater(y, z) ⋀ hasst(x,y) bösesafe(x) ← vater(x, z) ⋀ vater(y, z) ⋀ hasst(x,y) ⋀ O(x) ⋀ O(y) ⋀ O(z) O(Kain), O(Abel), O(Adam), O(Romulus), O(Remus) •Es folgt: böse(Kain), böse(Romulus) •Es folgt (safe): bösesafe(Kain), ABER NICHT: bösesafe(Romulus) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  65. 65. Zusammenfassung •SWRL („OWL + Datalog“) ist unentscheidbar65 •Description Logic Rules •SWRL Fragment, das mit OWL 2 ausgedrückt werden kann •wird indirekt durch OWL 2 Reasoner unterstützt •DL-safe Rules •SWRL Fragment in dem Variablen nur konkrete Werte (Konstanten) annehmen können •Unterstützung durch OWL Reasoner •DL-safety lässt sich erzwingen •Standard und Best-Practice für Regeln noch nicht vorhanden Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  66. 66. Tool Support für SWRL •Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro, •Jess, SWRLTab, SWRLQueryTab66 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  67. 67. 67 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  68. 68. RIF - Rule Interchange Format •W3C Standard (Oktober 2009)68 •Ziel: Definition eines Standards zum Austausch von Regeln (speziell für Web-basierte Rule Engines) Rule Engine A Semantik-erhaltendes Mapping RIF dialect X Semantik-erhaltendes Mapping Rule Engine B Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  69. 69. RIF - Rule Interchange Format •Bestandteile:69 •RIF BLD (Basic Logic Dialect) - Sprachstandard •RIF-RDF / RIF-OWL - Interoperable Semantik mit bestehenden Wissensrepräsentationssprachen des Semantic Web •RIF-PRD (Production Rules Dialect) - Standard für Produktionsregeln •RIF-DTB (Data Types and Builtins) •RIF-FLD (Framework of Logic Dialects) •W3C RIF Working Group http://www.w3.org/2001/sw/wiki/RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  70. 70. RIF - CORE •RIF-Core ist70 •eingeschränkte Variante des RIF BLD (definite Hornregeln ohne Funktionssymbole, d.h. eng verwandt mit Datalog) •bzw. Teil des RIF PRD (Production Rule Dialect) •W3C Recommendation seit 2010 •Syntaxvarianten: •anschauliche (lesbare) BLD Presentation Syntax •XML-basierte Variante Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  71. 71. RIF-CORE Dialect •Bsp.: onkel(x, y) ← bruder(x, z) ⋀ vater(z, y)71 bruder(Martin, Johannes) vater(Johannes, Max) Document ( Prefix(ex:http://example.com/) Group( Forall ?x ?y ?z( ex:onkel(?x,?y) :- And (ex:bruder(?x,?z) ex:vater(?z,?y)) ) ex:bruder(ex:Martin ex:Johannes) ex:vater(ex:Johannes ex:Max) ) ) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  72. 72. RIF-CORE Dialect •Property-Werte lassen sich komfortabel mit Hilfe72 von ,Frames‘ zuweisen subject [ property -> object ] •Bsp.: ex:book[ex:authoredBy -> ex:Harald ex:title ->“Internetworking“^^xsd:string ex:publishedBy -> ex:Springer] Forall ?person ?book ( ?person[ex:authorOf -> ?book :- ?book [ex:hasAuthor -> ?person]] ) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  73. 73. RIF-CORE XML Syntax <Document>73 <payload> <Group> <sentence>(regel1)/sentence ... sentence(regeln)/sentence /Group /payload /Document = Mappingfunktion zur Abbildung von Presentation Syntax auf XML Syntax Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  74. 74. RIF-CORE XML Syntax RIF presentation Syntax RIF XML Syntax74 Forall declare(?x1)/declare) ... declare(?xn)/declare) Forall ?x1...?xn (content) formula (content) /formula /Forall = Mappingfunktion zur Abbildung von Presentation Syntax auf XML Syntax Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  75. 75. RIF-CORE XML Syntax RIF presentation Syntax RIF XML Syntax75 Implies if(body)/if) head :- body then(head)/then /Implies And formula (content1) /formula And(content1...contentn) ... formula (contentn) /formula /And Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  76. 76. RIF-CORE XML Syntax76 RIF presentation Syntax RIF XML Syntax Atom op(predicate)/op) args ordered=“yes“ (t1) predicate(t1...tn) ... (tn) /args /Atom Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  77. 77. RIF-CORE XML Syntax RIF presentation Syntax RIF XML Syntax77 Frame object(subject)/object) slot ordered=“yes“ (o1) (p1) subject(p1- o1 ... pn- on) /slot ... slot ordered=“yes“ (on) (pn) /slot /Frame Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  78. 78. RIF-CORE XML Syntax RIF presentation Syntax RIF XML Syntax78 Const type=“datatype“ “literal“^^datatype literal /Const Var variablenname ?variablenname /Var Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  79. 79. 79 3.7 Regeln mit SWRL/RIF 3.7.1 Anfragesprache für OWL Wissensbasen 3.7.2 Konjunktive Anfragen für OWL DL 3.7.3 Regelsprachen und das Semantic Web 3.7.4 Regeln für OWL mit SWRL 3.7.5 Regeln austauschen mit RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  80. 80. Semantic Web Technologien Vorlesungsinhalt80 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 3.1. Exkurs: Ontologien in Philosophie und Informatik 3.2. Wiederholung: Aussagenlogik und Prädikatenlogik 3.3. Beschreibungslogiken (Description Logics) 3.4. RDF(S)-Semantik 3.5. OWL und OWL-Semantik 3.6. OWL 2 3.7. Regeln mit SWRL/RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  81. 81. Nächste Vorlesung:81 a l i c o g n g t o l r i O n e e i n n g E Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  82. 82. 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL / RIF82 • P. Hitzler, S. Roschke, Y. Sure: Semantic Web Grundlagen, Springer, 2007. • P. Hitzler, M. Krötzsch, S. Rudolph: Foundations of Semantic Web Technologies, CRC Press, 2009. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  83. 83. 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL / RIF83 Materialien □Blog http://wwwsoup2011.blogspot.com/ □Webseite http://www.hpi.uni-potsdam.de/studium/lehrangebot/veranstaltung/ semantic_web_technologien.html □bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/swt1112_11 Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamMittwoch, 4. Januar 12
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×