11 Regeln mit SWR und RIF -- Semantic Web Technolopgien WS 2010/11
Upcoming SlideShare
Loading in...5
×
 

11 Regeln mit SWR und RIF -- Semantic Web Technolopgien WS 2010/11

on

  • 1,144 views

 

Statistics

Views

Total Views
1,144
Views on SlideShare
1,137
Embed Views
7

Actions

Likes
2
Downloads
51
Comments
0

2 Embeds 7

http://yovisto.de 6
http://www.yovisto.com 1

Accessibility

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

11 Regeln mit SWR und RIF -- Semantic Web Technolopgien WS 2010/11 11 Regeln mit SWR und RIF -- Semantic Web Technolopgien WS 2010/11 Presentation Transcript

  • Semantic Web Technologien Vorlesung Dr. Harald SackHasso-Plattner-Institut für Softwaresystemtechnik Universität Potsdam Wintersemester 2010/11Blog zur Vorlesung: http://web-flakes.blogspot.com/Die nichtkommerzielle Vervielfältigung, Verbreitung und Bearbeitung dieser Folien ist zulässig(Lizenzbestimmungen CC-BY-NC).
  • OWL 2 Wiederholung:2 OWL SHOIN(D) SHROIQ(D) Erweiterung Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.6 OWL 2 / 3.6.2 Von SHOIN(D) zu SHROIQ(D)3 Überblick über SHROIQ(D) Klassenausdrücke Tbox (Klassenaxiome) • Klassennamen A,B • Inklusion C ⊑ D • Konjunktion C ⊓ D • Äquivalenz C ≣ 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 • Ungleichheit a≠b Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentationen 3.6 OWL 2 / 3.6.5 OWL 2 Profile4 OWL 2 Profile • Ansatz: • 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 Via http:// lifeinbonet own.blog spot.com /2010_08 _01_arch ive.html Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 5 Können wir wirklich alles Wissen mit OWL modellieren....? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 26 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik Die Sprachen des Semantic Web - Teil 27 Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • Semantic Web Technologien Vorlesungsinhalt8 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. Linked Data und Semantic Web Anwendungen Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • Semantic Web Technologien Vorlesungsinhalt9 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. OWL 2 3.7. Regeln mit RIF/SWRL Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • Nächste Vorlesung:10 & c s ti l e u R ema n e S b th W e Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF11 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.1 Anfragesprache für OWL Wissensbasen12 Wissensrepräsentation mit OWL • 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.1 Anfragesprache für OWL Wissensbasen13 Wissensrepräsentation mit OWL • Aber: OWL-Konzepte sind 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.1 Anfragesprache für OWL Wissensbasen14 Ausdrucksstarke Anfragen für OWL • SPARQL ist 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 • 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.1 Anfragesprache für OWL Wissensbasen15 Ausdrucksstarke Anfragen 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF16 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL17 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL18 Syntax und Intuition konjunktiver Anfragen •Hauptelemente (Atome): •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) ∧ Autor(x, y) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL19 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. 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL20 Unbenannte Elemente •Variablen traten bisher als Platzhalter 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL21 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 (non-distinguished variables) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL22 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 (distinguished Variable) - Ja unbestimmte Variable (non-distinguished variable) Ja - SPARQL Variable Ja Ja leerer Knoten in SPARQL Ja - nicht ausgewählte SPARQL Variable Ja - •SPARQL für OWL: Leere Knoten der Ontologie: Individuen oder unbenannte Elemente? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL23 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL24 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 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL25 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 (noch) nicht bekannt! •...konjunktive Anfragen für OWL sind also äußerst kompliziert... Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.2 konjunktive Anfragen für OWL DL26 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF27 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web28 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web29 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web30 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web31 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web32 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web33 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, 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web34 Arten von Regeln •Disjunktive Regeln •Disjunktion von mehreren nicht-negierten Atomen A1 ∧ A2 ∧ . . . ∧ An → H1 ∨ H2 ∨ . . . ∨ Hm Rumpf Kopf Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web35 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web36 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web37 Datalog •logische Regelsprache, bestehend aus 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 •entscheidbar •effizient für große Datenmengen, Komplexität entspricht OWL Lite, d.h. ExpTime Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web38 Datalog •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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web39 Datalog - Beispiel (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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web40 Datalog Semantik • Interpretation I mit Domäne ΔI • 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF / 3.7.3 Regelsprachen und Semantic Web41 Aber wie lässt sich Datalog mit OWL kombinieren? Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF42 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL43 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 formuliert als Implikation eines Antezedents (Body) und einer Konsequenz (Head) •SWRL ist unentscheidbar Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL44 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 Klassenbeschreibung und P(x,y) ein OWL Property. Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL45 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL46 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL47 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL48 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL49 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 seien Datentypvariablen mit VDX → 2 ΔD Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL50 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL51 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL52 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL53 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL54 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL55 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL56 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL57 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL58 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL59 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;organization”> <ruleml:var> person </ruleml:var> <ruleml:var> company </ruleml:var> </swrlx:individualPropertyAtom> Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL60 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL61 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL62 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL63 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL64 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL65 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? (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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL66 (1) Description Logics Rules •Einfache Regeln in OWL 2 Class1 ⊑ Class2 Property1 ⊑ Property2 •entsprechen Class1(x) → Class2(x) Property1(x,y) → Property2(x,y) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL67 (1) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL68 (1) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL69 (1) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL70 (1) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL71 (1) 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL72 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? (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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL73 (2) 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 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL74 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL75 Erzwingen von DL-Safety •Beispiel: „Wer seinen Bruder hasst, ist böse“ Wissensbasis: vater(Kain, Adam) hasst(Kain, Abel) vater(Abel, Adam) hasst(Romulus, Remus) ∃vater.vater—{Remus}(Romulus) 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(Abel), böse(Romulus), böse(Remus) •Es folgt (safe): bösesafe(Kain), bösesafe(Abel), ABER NICHT: bösesafe(Romulus) Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL76 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-Practice für Regeln noch nicht vorhanden Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und OWL 3.7 Regeln mit SWRL/RIF / 3.7.4 Regeln für OWL mit SWRL77 Tool Support für SWRL •Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro, •Jess, SWRLTab, SWRLQueryTab Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF78 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentationen 3.7 Regeln mit SWRL/RIF / 3.7.5 Regeln austauschen mit RIF79 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL/RIF80 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • Nächste Vorlesung: l81 c a g i g o l o i n n t e e r O i n n g E Michelangelo vs. The Flying Spaghetti Monster... Vorlesung Semantic Web Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL / RIF82 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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
  • 3. Wissensrepräsentation und Logik 3.7 Regeln mit SWRL / RIF83 Materialien □Blog http://web-flakes.blogspot.com/ □Materialien-Webseite http://www.hpi.uni-potsdam.de/meinel/lehre/lectures_classes/ semanticweb_ws1011.html □bibsonomy - Bookmarks http://www.bibsonomy.org/user/lysander07/swt1011_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 Technologien, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam