Post on 05-Dec-2014
description
transcript
VorlesungDr. Harald Sack
Hasso-Plattner-Institut für SoftwaresystemtechnikUniversität Potsdam
Wintersemester 2011/12
Semantic Web Technologien
Blog zur Vorlesung: http://wwwsoup2011.blogspot.com/
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
2 OWLOWL 2
Erweiterung
SHROIQ(D)
SHOIN(D)
Semantic Web Technologien Wiederholung
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
3 OWLOWL 2
Erweiterung
SHROIQ(D)
SHOIN(D)
Semantic Web Technologien Wiederholung
Überblick über SHROIQ(D)Klassenausdrücke• Klassennamen A,B• Konjunktion C ⊓ D• Disjunktion C ⊔ D• Negation ¬C• Exist. Rollenrestriktion ∃R.C• Univ Rollenrestriktion ∀R.C• Self ∃S.Self• Größer-als ≥n S.C• Kleiner-als ≤ S• Nominale {a}
Rollen• Rollennamen R,S,T• Einfache Rollen S,T• Inverse Rollen R-
• Universelle Rolle U
Tbox (Klassenaxiome)• Inklusion C ⊑ D• Äquivalenz C ≣ D
Rbox (Rollenaxiome)• Inklusion R1 ⊑ R2
• Allgemeine Inklusion R(-)1 º R (-) 2 º ..... º R (-) n ⊑ R• Transitivität• Symmetrie• Reflexivität• Irreflexivität• Disjunktheit
Abox (Fakten)• Klassenzugehörigkeit C(a)• Rollenbeziehung R(a,b)• Negierte Rollenbeziehung ¬S(a,b)• Gleichheit a=b• Ungleichheit a≠b
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
4 OWLOWL 2
Erweiterung
SHROIQ(D)
SHOIN(D)
Semantic Web Technologien Wiederholung
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
1. Einführung 2. Semantic Web Basisarchitektur
Die Sprachen des Semantic Web - Teil 1
3. Wissensrepräsentation und LogikDie Sprachen des Semantic Web - Teil 2
4. Semantic Web Anwendungen
5
Semantic Web Technologien Vorlesungsinhalt
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
3. Wissensrepräsentation und LogikDie 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)-Semantik3.5.OWL und OWL-Semantik3.6.OWL 2 3.7.Regeln mit SWRL/RIF
Semantic Web Technologien Vorlesungsinhalt
6
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
7 Können wir wirklich alles Wissen mit OWL modellieren....?
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
8
Rules
&
the Se
mantic
Web
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
9
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
10
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
11
Wissensrepräsentation mit OWL
•OWL-Konzepte sind als Anfragesprache ungenügend•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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
12
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....
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
13
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
14
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
15 •Konjunktive Anfragen sind (ziemlich) einfach!•Beispiel:
•„Welche Bücher sind bei Springer erschienen und wer hat sie geschrieben?“
•Syntax angelehnt an Prädikatenlogik
•Hauptelemente: Bezeichner von Rollen/Klassen/Individuen, Variablen, Konjunktion ∧
Buch(x) ∧ verlegtBei(x, Springer) ∧ hatAutor(x, y)
Syntax und Intuition konjunktiver Anfragen
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
16
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) ∧ hatAutor(x, y)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
17
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 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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
18
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 ⊑ ∃hatAutor.⊤ (jedes Buch hat einen Autor)
Anfrage:Buch(x) ∧ hatAutor(x,y)
→ keine Lösung möglich!
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
19
Unbestimmte Variablen
•Wie können in Anfragen auch unbenannte Elemente berücksichtigt werden?•Ausgabe unbenannter Elemente als Teil der Lösung problematisch
•Existenzaussage möglich überUnbestimmte 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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
20
Vergleich: SPARQL vs. konjunktive Anfragen
SPARQL konjunktive Anfragen
Muster in Graphen logische Konjunktionen
kanonisches Modell viele mögliche Modelle
Optionen, Alternativen, Filter -
Abfrage beliebiger Elementenur Abfrage von Instanzen (strikte Typisierung)
Variablen für beliebige Elemente bestimmte und unbestimmte Variablen
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
21
Vergleich: SPARQL und konjunktive Anfragen
•SPARQL für OWL ist möglich:•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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
22
Komplexität und Entscheidbarkeit
•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...
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
23•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
•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
Implementationen konjunktiver Anfragen
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
24
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
25IF A .... THEN B .... A → B
Was sind Regeln?
•Interpretation einer Regel ist abhängig vom Kontext• allgemeine Schlussfolgerung:
Prämisse → Konklusion• Hypothese:
Ursache → Wirkung• Produktion:
Bedingung → Aktion
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
26
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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
27
Was sind Regeln?
•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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
28
Welche Regelsprache ist für uns geeignet?
•verschiedene Regelsprachen sind untereinander meist kaum 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)?
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
29
Welche Regelsprache ist für uns geeignet?
•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 formalisiert
•Verwendung oft wie Programmiersprachen
•Beziehung zu OWL und RDF unklar•effiziente Abarbeitung möglich
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
30
Welche Regelsprache ist geeignet?
•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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
31
Prädikatenlogik als Regelsprache•Regeln als Implikationsformeln der Prädikatenlogik (Horn-Klauseln)
•semantisch äquivalent zu
•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
A1 ∧ A2 ∧ . . . ∧ An → H
⎧ | |
|
| ⎨ |
|
|
| ⎩
Rumpf
¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H
→
⎧ ⎨ ⎩
Kopf
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
32
Prädikatenlogik als Regelsprache•Regeln als Implikationsformeln der Prädikatenlogik (Horn-Klauseln)
•semantisch äquivalent zu
•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
H ← A1 ∧ A2 ∧ . . . ∧ An
⎧ | |
|
| ⎨ |
|
|
| ⎩
Rumpf
¬A1 ∨ ¬A2 ∨ . . . ∨ ¬An ∨ H
←
⎧ ⎨ ⎩
Kopf
Mittwoch, 4. Januar 12
•Disjunktive Regeln•Disjunktion von mehreren nicht-negierten Atomen
•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 PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
33
Arten von prädikatenlogischen Regeln
⎧ | |
|
| ⎨ |
|
|
| ⎩⎧ |
|
|
| ⎨ |
|
|
| ⎩
A1 ∧ A2 ∧ . . . ∧ An → H1 ∨ H2 ∨ . . . ∨ Hm
Rumpf Kopf
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
34
Arten von prädikatenlogischen 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
•Definite Klausel: Klausel mit genau einem nicht-negierten Atom
•Fakt: Klausel aus einem einzigen nicht-negierten Atom
¬p ∨ ¬q ∨ . . . ∨ ¬t ∨ u kann geschrieben werden als p ∧ q ∧ . . . ∧ t → u
Mittwoch, 4. Januar 12
•Beispiele
•Semantik von Regeln entspricht der Standardsemantik der Prädikatenlogik
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
35
Arten von prädikatenlogischen Regeln
Person(x) → Frau(x) ∨ Mann(x)
Mann(x) ∧ hatKind(x, y) → Vater(x)
hatBruder(mutter(x), y) → istOnkelVon(x, y)
Mann(x) ∧ Frau(x) →
Frau(katarina)
(Klausel)
(definite Klausel)
(Funktionsymbole)
(Hornklausel)
(Fakt)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
36
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)
•DATALOG ist entscheidbar
•DATALOG ist berechnungseffizient für große Datenmengen, Komplexität entspricht OWL Lite, d.h. ExpTime
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
37
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
38
DATALOG
Beispiele
(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) →
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
39
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
40
Aber wie lässt sich Datalog mit OWL
kombinieren?
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
41
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
42
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
43
•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 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
SWRL SemanticWeb Rule Language
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
44
SWRL SemanticWeb Rule Language
•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.
Antezedenz → Konsequenz
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
45
SWRL - Abstract Language Definition
•SWRL-Regel
•SWRL Wissensbasis
•Atome sind definiert als
•C ... Klasse, D ... Datentyp
•R ... abstrakte Rolle (Object Property)
•U ... konkrete Rolle (Datatype Property)
• i,j ... Variablen/Individuen-Name
a ← b1,...,bn wobei, a: head (ein Atom) b1,...,bn: body (alle Atome)
Atom ← C(i) | D(v) | R(i, j) | U(i,v) | builtIn(p, v1, ..., vn) | i = j | i ≠ j
•v,v1,...vn ... Datentyp Variablen/Werte- Namen
•p ... Name der BuiltIn-Funktion
k=(Σ,P) wobei, Σ ist eine OWL Wissensbasis P ist eine endliche Regelmenge
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
46
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
47
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
48
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
49
SWRL - Semantik
•SWRL Antezedenz wird genau dann erfüllt,•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.
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
50
SWRL - Beispiel
hatOnkel (?x, ?z) ← hatVater (?x, ?y) Λ hatBruder (?y, ?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>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
51
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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
52
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
53
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 RulesSWRL-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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
54
(1) Description Logics Rules
•Generelle Idee:Finde heraus, welche Regeln bereits mit Hilfe von OWL 2 DL ausgedrückt werden können.
•Einfache Regeln in OWL 2
•entsprechen
Class1 ⊑ Class2Property1 ⊑ Property2
Class1(x) → Class2(x)Property1(x,y) → Property2(x,y)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
55
(1) Description Logics Rules
•Einige Klassen können in Regeln zerlegt werden
•entspricht
Happy ⊓ Unhappy ⊑ ⊥∃livesIn.∃locatedIn.EUCountry ⊑ EUCitizen
Happy(x) ∧ Unhappy(x) → livesIn(x,y) ∧ locatedIn(y,z) ∧ EUCountry(z) → EUCitizen(x)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
56
(1) Description Logics Rules
•Allgemeine Rolleninklusion (Property Chains) können auch als Regeln dargestellt werden:
•entspricht
hasParent ∘ hasBrother ⊑ hasUncle
hasParent(x,y) ∧ hasBrother(y,z) → hasUncle(x,z)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
57
(1) Description Logics Rules
•Probleme:•Wenn auf beiden Seiten der Regel nicht nur Klassen oder nur Rollen auftauchen
•Wie könnte man das in OWL 2 ausdrücken?
Bsp.: Man(x) ∧ hasChild(x,y) → fatherOf(x,y)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
58
(1) Description Logics Rules
•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:
Bsp.: Man(x) ∧ hasChild(x,y) → fatherOf(x,y)
PMan ∘ hasChild ⊑ fatherOf
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
59
(1) Description Logics Rules
•Probleme:
•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
Bsp.: Vegetarian(x) ∧ Fishproduct(y) → dislikes(x,y)
Vegetarian ≣ ∃PVegetarian.SelfFishproduct ≣ ∃PFishproduct.SelfPVegetarian ∘ U ∘ PFishproduct ⊑ dislikes
Mittwoch, 4. Januar 12
•Probleme:
•Wie könnte man das in OWL 2 ausdrücken?
•Kann man die Variable y eliminieren, um eine Klasseninklusion in OWL2 zu formen?
?
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
60
(1) Description Logics Rules
Bsp.: orderedDish(x,y) ∧ dislikes(x,y) → Unhappy(x)
Unhappy ⊑ ∃orderedDish.⊤ ⊓ ∃dislikes.⊤
Unhappy ⊑ ∃orderedDish.∃dislikes–.⊤ ?
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
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?
(1)Description Logics RulesSWRL-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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
62
(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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität PotsdamTurmbau zu Babel, Pieter Brueghel, 1563
63
Erzwingen von DL-Safety
•Beispiel:
•nicht DL-safe, wenn „bruder“ und „vater“ OWL-Rollen sind•Erzwingen von DL-Safeness durch Einschränken der Regeln auf bekannte Individuen:
•wobei der Fakt O(a) für alle OWL-Individuen a angelegt wird.
•Regel nur noch auf bekannte OWL-Individuen (Named Individuals) anwendbar
onkel(x, y) ← bruder(x, z) ⋀ vater(z, y)
onkel(x, y) ← bruder(x, z) ⋀ vater(z, y) ⋀ O(x) ⋀ O(y) ⋀ O(z)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
64
Erzwingen von DL-Safety
•Beispiel: „Wer seinen Bruder hasst, ist böse“
•Es folgt: böse(Kain), böse(Romulus)•Es folgt (safe): bösesafe(Kain), ABER NICHT: bösesafe(Romulus)
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)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
65
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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
66
Tool Support für SWRL•Bossam, R2ML, Hoolet, Pellet, KAON2, RacerPro,•Jess, SWRLTab, SWRLQueryTab
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
67
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
68
RIF - Rule Interchange Format
•W3C Standard (Oktober 2009)•Ziel: Definition eines Standards zum Austausch von Regeln (speziell für Web-basierte Rule Engines)
Rule Engine A
Rule Engine B
RIF dialect X
Semantik-erhaltendesMapping
Semantik-erhaltendesMapping
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
69
RIF - Rule Interchange Format
•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 Grouphttp://www.w3.org/2001/sw/wiki/RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
70
RIF - CORE
•RIF-Core ist •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
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
71
RIF-CORE Dialect
•Bsp.: onkel(x, y) ← bruder(x, z) ⋀ vater(z, y)
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)
)
)
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
72
•Property-Werte lassen sich komfortabel mit Hilfe von ,Frames‘ zuweisen
•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]]
)
subject [ property -> object ]
RIF-CORE Dialect
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
73
RIF-CORE XML Syntax
𝜒 = Mappingfunktion zur Abbildung von Presentation Syntax auf XML Syntax
<Document>
<payload>
<Group>
<sentence>𝜒(regel1)</sentence>
...
<sentence>𝜒(regeln)</sentence>
</Group>
</payload>
</Document>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
74
RIF-CORE XML Syntax
RIF presentation Syntax RIF XML Syntax
Forall ?x1...?xn (content)
<Forall>
<declare>𝜒(?x1)</declare)
...
<declare>𝜒(?xn)</declare)
<formula>
𝜒(content)
</formula>
</Forall>
𝜒 = Mappingfunktion zur Abbildung von Presentation Syntax auf XML Syntax
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
75
RIF-CORE XML Syntax
RIF presentation Syntax RIF XML Syntax
head :- body
<Implies>
<if>𝜒(body)</if)
<then>𝜒(head)</then>
</Implies>
And(content1...contentn)
<And> <formula> 𝜒(content1)
</formula> ...<formula> 𝜒(contentn)
</formula> </And>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
76
RIF-CORE XML Syntax
RIF presentation Syntax RIF XML Syntax
predicate(t1...tn)
<Atom>
<op>𝜒(predicate)</op)
<args ordered=“yes“>
𝜒(t1)
...
𝜒(tn)
</args>
</Atom>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
77
RIF-CORE XML Syntax
RIF presentation Syntax RIF XML Syntax
subject(p1-> o1 ... pn-> on)
<Frame>
<object>𝜒(subject)</object)
<slot ordered=“yes“> 𝜒(o1)
𝜒(p1)
</slot> ... <slot ordered=“yes“> 𝜒(on)
𝜒(pn)
</slot></Frame>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
78
RIF-CORE XML Syntax
RIF presentation Syntax RIF XML Syntax
“literal“^^datatype<Const type=“datatype“> literal</Const>
?variablenname
<Var> variablenname</Var>
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
79
3.7 Regeln mit SWRL/RIF3.7.1 Anfragesprache für OWL Wissensbasen3.7.2 Konjunktive Anfragen für OWL DL3.7.3 Regelsprachen und das Semantic Web3.7.4 Regeln für OWL mit SWRL3.7.5 Regeln austauschen mit RIF
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
3. Wissensrepräsentation und LogikDie 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)-Semantik3.5.OWL und OWL-Semantik3.6.OWL 23.7.Regeln mit SWRL/RIF
Semantic Web Technologien Vorlesungsinhalt
80
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
Nächste Vorlesung:
81
Ontolo
gical
Engine
ering
Mittwoch, 4. Januar 12
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
82
3. Wissensrepräsentation und Logik3.7 Regeln mit SWRL / RIF
• 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.
Mittwoch, 4. Januar 12
Materialien
□Bloghttp://wwwsoup2011.blogspot.com/
□Webseitehttp://www.hpi.uni-potsdam.de/studium/lehrangebot/veranstaltung/semantic_web_technologien.html
□bibsonomy - Bookmarkshttp://www.bibsonomy.org/user/lysander07/swt1112_11
Vorlesung Semantic Web, Dr. Harald Sack, Hasso-Plattner-Institut, Universität Potsdam
83
3. Wissensrepräsentation und Logik3.7 Regeln mit SWRL / RIF
Mittwoch, 4. Januar 12