Your SlideShare is downloading. ×
26.01.2010 - 11 - Regeln mit SWRL und RIF
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

26.01.2010 - 11 - Regeln mit SWRL und RIF

2,254

Published on

Nicht alles Wissen lässt sich mit Ontologiebeschreibungssprachen wie OWL ausdrücken, da diese nur auf einer eingeschränkt ausdrucksmächtigen Beschreibungslogik aufbauen. Regeln erweitern OWL …

Nicht alles Wissen lässt sich mit Ontologiebeschreibungssprachen wie OWL ausdrücken, da diese nur auf einer eingeschränkt ausdrucksmächtigen Beschreibungslogik aufbauen. Regeln erweitern OWL Wissensbasen, wobei wir Kriterien wie Entscheidbarkeit und semantische Ausdrucksstärke im Auge behalten...

Published in: Technology, Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,254
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
73
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Semantic Web Vorlesung Dr. Harald Sack Hasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2009/10 Blog zur Vorlesung: http://sewe0910.blogspot.com/ Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig (Lizenzbestimmungen CC-BY-NC).
  • 2. Semantic Web - Vorlesungsinhalt 2 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. Ontology Engineering 5. Semantic Web Applications Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. 3. Wissensrepräsentation und Logik 3 Semantic Web Architektur Interface & Application Trust Proof Ontology-Level Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 4. 3. Wissensrepräsentation und Logik 4 Semantic Web Architektur Interface & Application Trust Proof Unifying Logic Query: Ontology: OWL Rule: RIF Crypto SPARQL RDFS Data Interchange: RDF XML / XSD URI / IRI Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 5. Semantic Web - Vorlesungsinhalt 5 1 2 3 4 5 6 7 8 9 10 26.01.2010 – Vorlesung Nr. 11 12 13 14 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 3.1.Ontologien in der Philosophie und der Informatik 3.2.Wiederholung Aussagenlogik und Prädikatenlogik 3.3.RDFS-Semantik 3.4.Beschreibungslogiken 3.5.OWL und OWL-Semantik 3.6.OWL2 3.7.Regeln mit SWRL/RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 6. 6 Können wir wirklich alles Wissen mit OWL modellieren....? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 7. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 7 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 8. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.1 Motivation 8 Reicht OWL zur Wissensmodellierung aus? • OWL-Konzepte als Anfragesprache ungenügend • Bsp.: • 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 (direkter oder indirekter) Nachkommen gibt es? • 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 Potsdam
  • 9. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.1 Motivation 9 Ausdruckstarke Anfragen für OWL • SPARQL als Anfragesprache für RDF • 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 • Zwar könnte man folgende Intepretation wählen: • Rollen R(a,b) können als (binäre) Relationen zwischen Instanzen (Knoten) modelliert werden • Klassen C(a) könnten als zusätzliches Label an einen Knoten notiert werden • Aber.... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 10. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.1 Motivation 10 Ausdruckstarke Anfragen für OWL • SPARQL als Anfragesprache für RDF • Besitzt keine direkte Unterstützung für OWL • Jede OWL DL Ontologie beschreibt nicht nur eine, sondern viele mögliche 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 Potsdam
  • 11. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.1 Motivation 11 Ausdruckstarke Anfragen für OWL • SPARQL als Anfragesprache für RDF • Besitzt keine direkte Unterstützung für OWL • Anfrageformalismus für OWL DL: konjunktive Anfragen • 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 Potsdam
  • 12. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 12 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 13. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 13 Syntax und Intuition konjunktiver Anfragen •Konjunktive Anfragen sind recht einfach! •Beispiel: •„Welche Bücher sind bei Springer erschienen und wer hat sie geschrieben?“ Buch(x) ∧ VerlegtBei(x, Springer) ∧ Autor(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 Potsdam
  • 14. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 14 Syntax und Intuition konjunktiver Anfragen •Hauptelemente (Atome): •C(e) oder ¬C(e) , mit C ist Klassenname, e ist Variable oder Name eines Individuums •R(e,f), mit R Rollenname, e und f jeweils Variablen oder Namen von Individuen •Beispiel: Buch(x) ∧ VerlegtBei(x, Springer) ∧ Autor(x, y) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 15. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 15 Semantik konjunktiver Anfragen •Konjunktive Anfragen ähneln logischen Formeln •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 die Menge der freien Variablen in q (2)Wertebereich von µ ist die Menge der Individuenbezeichner in O (3)O ⊨ µ(q), d.h. 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 Potsdam
  • 16. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 16 Unbenannte Elemente •Variablen traten bisher als Platzhalten für (benannte) Individuen auf •OWL-Ontologien können aber auch die Existenz unbenannter Elemente implizieren •Beispiel: Buch(a) (a ist ein Buch) Buch ⊑ ∃Autor.⊤ (jedes Buch hat einen Autor) Anfrage: Buch(x) ∧ Autor(x,y) --> keine Lösung möglich! Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 17. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 17 Unbestimmte Variablen •Wie können in Anfragen auch unbenannte Elemente berücksichtigt werden? •Ausgabe unbenannter Elemente als Teil der Lösung problematisch •Aber Existenzaussage wäre sinnvoll! Unbestimmte Variablen werden durch Existenzquantoren gebunden Buch(a) (a ist ein Buch) Buch ⊑ ∃Autor.⊤ (jedes Buch hat einen Autor) Anfrage: ∃y.(Buch(x) ∧ Autor(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 Potsdam
  • 18. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 18 Variablen in SPARQL und konjunktiven Anfragen •Kennzeichen verschiedener Arten von Anfragevariablen: •Unbenannte Werte: Sind Werte möglich, die keine Bezeichner (URI/Literal) haben? •Ausgabe: Erscheint die Variable in Lösungen der Anfrage? •Unterschiedliche Formen von Variablen: unbenannte Werte Ausgabe bestimmte Variable - Ja unbestimmte Variable Ja - SPARQL Variable Ja Ja leerer Knoten in SPARQL Ja - nicht ausgewählte SPARQL Variable Ja - Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 19. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 19 Vergleich mit SPARQL 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 Typung) Variablen für beliebige Elemente bestimmte und unbestimmte Variablen Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 20. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 20 Vergleich mit SPARQL •SPARQL für OWL ist möglich: •Darstellung einer logischen Konsequenz als Graph •Typung wie bei OWL DL, ev. Erweiterung um in OWL übliche Anfragen (z.B. Klassenhierarchie) •Inkompatibilitäten bgl. 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 Potsdam
  • 21. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 21 Erweiterungen konjunktiver Anfragen •Mögliche Erweiterungen konjunktiver Anfragen: •Filter, Modifikatoren, Ergebnisformate: Definition wie in SPARQL möglich, unabhängig von Anfrage (Filter unproblematisch wenn kein OPTIONAL) •Negation: Zulassen von ¬ vor Anfrageausdrücken •Disjunktionen: Zulassen von ∨, entspricht UNION in SPARQL, „disjunktive Anfragen“ •Komplexe Pfadausdrücke: Reguläre Ausdrücke zur Beschreibung von Mustern aus Rollen, z.B. Anfrage nach allen Vorfahren einer Person (enthält beliebig lange Kette aus Rolle „KindVon“) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 22. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 22 Komplexität und Entscheidbarkeit •Schlussfolgern mit OWL DL ist sehr komplex (NEXPTIME-vollständig) •Wie schwierig sind dann 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 nicht bekannt! (29.01.2009) • konjunktive Anfragen für OWL sind also äußerst kompliziert... Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 23. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL 23 Implementationen •KAON2: konjunktive Anfragen ohne unbestimmte Variablen, eingeschränkte Negation zulässig •Pellet: konjunktive Anfragen mit unbestimmten Variablen und Negationen, nicht vollständig für OWL DL •HermiT: konjunktive Anfragen ohne unbestimmte Variablen werden unterstützt •weitere Systeme mit speziellen Anfragesprachen (RacerPro) oder Beschränkung auf einfachere DLs (QuOnto für OWL QL) Einschränkung des Problems für bessere Implementierbarkeit Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 24. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 24 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 25. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 25 Was sind Regeln? •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 Potsdam
  • 26. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 26 Was sind Regeln? •Logikprogrammierung (z.B. Prolog, F-Logik): • „mann(X) <- person(X) AND NOT frau(X)“ • Approximation logischer Semantik mit operationalen Aspekten, • typischerweise Closed World, Semi-deklarativ •Ableitungsregeln 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 Potsdam
  • 27. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 27 Welches ist die geeignete Regelsprache? •Regelsprachen sind untereinander kaum kompatibel! •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? Performanz? •Kompatibilität mit bestehenden Formaten wie OWL? •Deklarativ (Beschreiben) oder operational (Programmieren)? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 28. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 28 Welches ist die geeignete Regelsprache? •Logische Regeln (Implikationen in Prädikatenlogik): •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 definiert •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 Potsdam
  • 29. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 29 Welches ist die geeignete Regelsprache? •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 aber auch die Grundlage der Logikprogrammierung sind) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 30. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 30 Prädikatenlogik als Regelsprache •Regeln als Implikationsformeln der Prädikatenlogik (Horn-Klauseln) A1 ∧ A2 ∧ . . . ∧ An → H Rumpf → Kopf •semantisch äquivalent zu ¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H •Konstanten, Variablen 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 Potsdam
  • 31. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 31 Arten von Regeln •Disjunktive Regeln •Disjunktion von mehreren nicht-negierten Atomen A1 ∧ A2 ∧ . . . ∧ An → H1 ∨ H2 ∨ . . . ∨ Hm Rumpf Kopf Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 32. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 32 Arten von Regeln •Bezeichnungen für „Regeln“ in der Prädikatenlogik •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 Potsdam
  • 33. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 33 Arten von Regeln •Beispiele Person(x) → Frau(x) ∨ Mann(x) (Klausel) Mann(x) ∧ hatKind(x, y) → Vater(x) (definite Klausel) hatBruder(mutter(x), y) → OnkelVon(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 Potsdam
  • 34. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 34 Datalog •logische Regelsprache, bestehend aus Hornklauseln ohne Funktionssymbole •ursprünglich entwickelt als Grundlage deduktiver Datenbanken •Wissensbasen (Datalog-Programme) sind Mengen von Hornklauseln ohne Funktionssymbole •entscheidbar •effizient für große Datenmengen, Komplexität entspricht OWL Lite, d.h. ExpTime Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 35. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 35 Datalog Semantik •Interpretation I mit Domäne ΔI •Auswertung von Variablen: Variablenzuweisung Z (Abbildung von Variablen auf ΔI) •Interpretation von Formeln 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 (t 1,...,tI,Zn I,Z ) ∈ 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 Potsdam
  • 36. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web 36 Aber wie lässt sich Datalog mit OWL kombinieren? Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 37. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 37 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 38. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 38 SWRL SemanticWeb Rule Language •W3C Submission (bereits im Mai 2004) (developed by the Joint US/EU ad hoc Agent Markup Language Committee (JC), in collaboration with RuleML Initiative) •basiert auf Kombination aus Teilen von OWL und RuleML/Datalog •hier OWL DL/OWL Lite 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 als Implikation eines Antecedents (Body) und einer Konsequenz (Head) formuliert •SWRL ist unentscheidbar Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 39. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 39 SWRL Semantic Web Rule Language antecedent → consequent •Einschränkung: •antecedent und consequent 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 Beschreibung und P(x,y) ein OWL Property. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 40. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 40 SWRL Semantic Web Rule Language •leeres antecedent ⊥ → consequent •consequent ist trivialerweise für jede Belegung wahr •leeres consequent antecedent → ⊥ •antecedent ist trivialerweise für jede Belegung falsch Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 41. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 41 SWRL Beispiele •Person(?p) Λ hatGeschwister(?p,?s) Λ männlich(?s) → hatBruder(?p, ?s) •hatVater (?x, ?y) Λ hatBruder (?y, ?z) → hatOnkel (?x, ?z) •Person (?x) Λ hatVater (?y, ?x) Λ männlich (?y) → hatSohn (?x, ?y) •Person (?x) Λ (≤1 hatKind) (?x) → (≤1 hatSohn) (?x) •Inheriting trauma from body parts (often needed in medical ontologies). •Location(?x) Λ Trauma(?y) Λ isLocationOf(?x, ?y) Λ isPartOf(?x,?z) → isLocationOf(?z, ?y) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 42. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 42 SWRL - Abstract Language Definition •SWRL-Regel a ← b1,...,bn wobei, a: head (ein Atom) b1,...,bn: body (alle Atome) •SWRL Wissensbasis k=(Σ,P) wobei, Σ ist eine SHOIN(D) 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 • R ... abstrakte Rolle (Object Property) • v1,...vn ... Datentyp Variablen/Werte- • U ... konkrete Rolle (Datatype Property) Namen • i,j ... Variablen/Individuen-Name • p ... Name der BuiltIn-Funktion Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 43. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 43 SWRL -Semantik •OWL DL (Beschreibungslogik) und Datalog verwenden die 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 Potsdam
  • 44. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 44 SWRL - Semantik •Sei I = (ΔI, ΔD, .I , .D) eine Interpretation mit, •Δ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 seinen Datentypvariablen mit VDX → 2 ΔD Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 45. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 45 SWRL - Semantik •SWRL-Atome werden folgendermaßen interpretiert: 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 Potsdam
  • 46. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 46 SWRL - Semantik •SWRL Antecedent wird genau dann erfüllt, •wenn das Antecedent leer ist (trivial) •wenn alle Atome des Antecedents erfüllt sind •SWRL Consequent ist genau dann erfüllt, •wenn es nicht leer ist und •wenn das Atom des Consequent erfüllt ist •Eine Regel wird von einer Interpretation I erfüllt, gdw. •die Interpretation I, die das Antecedent erfüllt ebenso das Consequent erfüllt. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 47. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 47 SWRL - Abstract Language Definition rule ::= 'Implies(' { annotation } antecedent consequent ')' antecedent ::= 'Antecedent(' { atom } ')' consequent ::= 'Consequent(' { atom } ')' atom ::= description '(' i-object ')' atom ::= individualvaluedPropertyID '(' i-object i-object ')' atom ::= datavaluedPropertyID '(' i-object d-object ')' atom ::= sameAs '(' i-object i-object ')' atom ::= differentFrom '(' i-object i-object ')' i-object ::= 'I-variable(' URIreference ')' | individualID d-object ::= 'D-variable(' URIreference ')' | dataLiteral •All variables in a rule must occur (at least) in the antecedent. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 48. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 48 SWRL -XML Concrete Syntax •extends owlx:Ontology <swrlx:Ontology swrlx:name = xsd:anyURI > Content: (owlx:VersionInfo | owlx:PriorVersion | owlx:BackwardCompatibleWith | owlx:IncompatibleWith | owlx:Imports | owlx:Annotation | owlx:Class | owlx:EnumeratedClass | owlx:SubClassOf | owlx:EquivalentClasses | owlx:DisjointClasses | owlx:DatatypeProperty | owlx:ObjectProperty | owlx:SubPropertyOf | owlx:EquivalentProperties | owlx:Individual | owlx:SameIndividual | owlx:DifferentIndividuals | ruleml:imp | ruleml:var)* </swrlx:Ontology> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 49. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 49 SWRL - XML Concrete Syntax •SWRL Rule <ruleml:imp> Content: ( _rlab?, owlx:Annotation*, _body, _head ) </ruleml:imp> <ruleml:_rlab ruleml:href = xsd:anyURI (required) > Content: ( ) </ruleml:_rlab> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 50. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 50 SWRL - XML Concrete Syntax •SWRL Rule - Antecedent <ruleml:_body> Both _body and _head are lists Content: ( swrlx:atom* ) of atoms and are read as the </ruleml:_body> conjunction of the component atoms. •SWRL Rule - Consequent <ruleml:_head> Content: ( swrlx:atom* ) </ruleml:_head> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 51. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 51 SWRL - XML Concrete Syntax •Rule _head und _body bestehen aus einer Menge von SWRL Atomen • swrlx:classAtom • swrlx:datarangeAtom • swrlx:individualPropertyAtom • swrlx:datavaluedPropertyAtom • swrlx:sameIndividualAtom • swrlx:differentIndividualsAtom • swrlx:builtinAtom Atoms can be formed from unary predicates (classes), binary predicates (properties), equalities or inequalities. Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 52. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 52 SWRL - XML Concrete Syntax •swrlx:classAtom •Tests or asserts that the instance is of the specified class •Can use a named class or class expression <swrlx:classAtom> Content: ( owlx:description, swrlx:iObject ) </swrlx:classAtom> <swrlx:classAtom> <owlx:Class owlx:name=“&foaf;Person”/> <ruleml:var> person </ruleml:var> </swrlx:classAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 53. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 53 SWRL - XML Concrete Syntax •swrlx:datarangeAtom •Tests or asserts that the literal value or variable is of the specified datatype <swrlx:datarangeAtom> Content: ( owlx:datarange, swrlx:dObject ) </swrlx:datarangeAtom> <swrlx:datarangeAtom> <owlx:Datatype owlx:name=“&xsd;int”/> <ruleml:var> age </ruleml:var> </swrlx:datarangeAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 54. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 54 SWRL - XML Concrete Syntax •swrlx:individualPropertyAtom •Tests or asserts value of an owl:ObjectProperty <swrlx:individualPropertyAtom swrlx:property = xsd:anyURI {required}> Content: ( swrlx:iObject, swrlx:iObject ) </swrlx:individualPropertyAtom> <swrlx:individualPropertyAtom swrlx:property=“&foaf;orangization”> <ruleml:var> person </ruleml:var> <ruleml:var> company </ruleml:var> </swrlx:individualPropertyAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 55. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 55 SWRL - XML Concrete Syntax •swrlx:datavaluedPropertyAtom •Tests or asserts value of an owl:DatatypeProperty <swrlx:datavaluedPropertyAtom swrlx:property = xsd:anyURI {required}> Content: ( swrlx:iObject, swrlx:dObject ) </swrlx:datavaluedPropertyAtom> <swrlx:datavaluedPropertyAtom swrlx:property=“&foaf;organization”> <ruleml:var> person </ruleml:var> <ruleml:var> name </ruleml:var> </swrlx:datavaluedPropertyAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 56. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 56 SWRL - Beispiel hatVater (?x, ?y) Λ hatBruder (?y, ?z) → hatOnkel (?x, ?z) <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 Potsdam
  • 57. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 57 SWRL - XML Concrete Syntax •swrlx:sameIndividualAtom <swrlx:sameIndividualAtom> Content: ( swrlx:iObject* ) </swrlx:sameIndividualAtom> •swrlx:differentIndividualAtom <swrlx:differentIndividualAtom> Content: ( swrlx:iObject* ) </swrlx:differentIndividualAtom> <swrlx:sameIndividualAtom> <owlx:Individual owlx:name=“President_Obama" /> <owlx:Individual owlx:name=“Barack_Obama" /> </swrlx:sameIndividualAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 58. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 58 SWRL - XML Concrete Syntax •swrlx:builtinAtom •provides access to builtin functions <swrlx:builtinAtom swrlx:builtin = xsd:anyURI {required}> Content: ( swrlx:dObject* ) </swrlx:builtinAtom> <swrlx:builtinAtom swrlx:builtin=“&swrlb;multiply”> <ruleml:var>zentimeter</ruleml:var> <ruleml:var>meter</ruleml:var> <owlx:DataValue owlx:datatype=“&xsd;int”>100</owlx:DataValue> </swrlx:builtinAtom> Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 59. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 59 Komplexität von SWRL •Logisches Schlussfolgern in OWL DL ist 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 Potsdam
  • 60. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 60 SWRL ist unentscheidbar •Es existiert kein bekannter Algorithmus, mit dem alle logischen Schlussfolgerungen aus allen SWRL Wissensbasen 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 Potsdam
  • 61. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 61 Entscheidbare Fragmente von SWRL •Welche SWRL-Wissensbasen erlauben vollständige 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? •Description Logics Rules SWRL-Regeln, die bereits in OWL 2 ausgedrückt werden können •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 Potsdam
  • 62. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 62 Description Logics Rules •Einfache Regeln in OWL 2 Class1 ⊑ Class2 Property1 ⊑ Property2 •entspricht Class1(x) → Class2(x) Property1(x,y) → Property2(x,y) Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 63. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 63 Description Logics Rules •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 Potsdam
  • 64. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 64 Description Logics Rules •Allgemeine Rolleninklusion (Property Chains) können auch 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 Potsdam
  • 65. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 65 Description Logics Rules •Probleme: •Wenn auf beiden Seiten der Regel nicht nur Klassen oder Rollen auftauchen •Head mit zwei Variablen: nicht als Subklassenaxiom darstellbar •Body mit Klassenausdruck: nicht darstellbar als Subpropertyaxiom 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 Potsdam
  • 66. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 66 Description Logics Rules Bsp.: Man(x) ∧ hasChild(x,y) → fatherOf(x,y) •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 Potsdam
  • 67. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 67 Description Logics Rules •Probleme: 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 Potsdam
  • 68. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 68 Entscheidbare Fragmente von SWRL •Welche SWRL-Wissensbasen erlauben vollständige 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? •Description Logics Rules SWRL-Regeln, die bereits in OWL 2 ausgedrückt werden können •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 Potsdam
  • 69. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 69 DL-Safe Rules •Idee: •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 im Head 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 Potsdam
  • 70. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 70 Erzwingen von DL-Safety •Beispiel: 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 Potsdam
  • 71. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 71 Zusammenfassung •SWRL („OWL + Datalog“) ist unentscheidbar •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-Practise für Regeln noch nicht vorhanden Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 72. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL 72 Tool Support für SWRL •Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro, •Jess, SWRLTab, SWRLQueryTab Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 73. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 73 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 74. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.5 Regeln austauschen mit RIF 74 RIF - Rule Interchange Format •W3C Standard (Oktober 2009) •Ziel: Definition eines Standards zum Austausch von Regeln (speziell für Web-basierte Rule Engines) •Bestandteile: •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 Potsdam
  • 75. 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF 75 3.7 Regeln mit SWRL/RIF 3.7.1 Motivation 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 Potsdam
  • 76. Semantic Web - Vorlesungsinhalt 76 1 2 3 4 5 6 7 8 9 10 26.01.2010 – Vorlesung Nr. 11 12 13 14 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 3.1.Ontologien in der Philosophie und der Informatik 3.2.Wiederholung Aussagenlogik und Prädikatenlogik 3.3.RDFS-Semantik 3.4.Beschreibungslogiken 3.5.OWL und OWL-Semantik 3.6.OWL2 3.7.Regeln mit SWRL/RIF Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 77. Semantic Web - Vorlesungsinhalt 77 1. Einführung 2. Semantic Web Basisarchitektur Die Sprachen des Semantic Web - Teil 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 2 4. Ontology Engineering 5. Semantic Web Applications Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 78. Semantic Web 78 Nächste Vorlesung: Ontological Engineering Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 79. 3. Wissensrepräsentation und Logik 79 Literatur » P. Hitzler, M. Krötzsch, S. Rudolph, Y. Sure Semantic Web Grundlagen, Springer, 2008. » 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 Potsdam
  • 80. 3. Wissensrepräsentation und Logik 80 Literatur •Blog http://sewe0910.blogspot.com/ •Materialien-Webseite http://www.hpi.uni-potsdam.de/meinel/teaching/lectures_classes/semanticweb_ws0910.html • bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/sw0910_11 Besten Dank auch an Pascal Hitzler, Sebastian Rudolph und Markus Krötzsch für die Vorlesungsunterlagen auf semantic-web-grundlagen.de Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam

×