– Semantic Technologies –
Dozent: Christoph Stollwerk
RDFS & Inferenz
Übung, Wintersemester 2015/16
1. November 2015
Tips
Fallstricke
URIs für Properties
• Die eigentliche Property und das
Dokument, dass die Property
beschreibt sind zwei unters...
Fallstricke
URIs für Dinge
• können prinzipiell willkürlich definiert
werden.
• aber: Am besten in einem
Namensraum, den m...
Literale vs. Ressourcen
• Auf Dinge, die potentiell auch
woanders beschrieben werden
verweist man als Ressourcen.
• Aussch...
Domain & Range
bei Properties
• Die Domain gibt die
Klasse an, deren
Eigenschaft die
Property darstellt.
• Der Range gibt ...
RDF Schema
Semantik in XML
<dozent>Jan Wieners</dozent>
<professor>Manfred Thaller</professor>
<veranstaltung name="Programmierprakti...
Semantik in RDF
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xm...
Semantik in RDF
• Fehlende Information:
• Alle Professoren sind Dozenten.
• Übungen werden von Dozenten
gehalten.
 In com...
RDF Schema
• Ist ein spezielles RDF-Vokabular
zur Spezifikation von Klassen und
Properties und deren
Verhältnissen.
• Eine...
Klassen
• Spezieller Typ: rdfs:Class
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<rdf:Description rd...
Klassenhierarchien
Klassenhierarchien
Spezielle Property:
rdfs:subClassOf
<rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/>
<...
Semantik in RDF
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xm...
Properties
• Spezieller Typ: rdf:Property
<rdf:Property rdf:about="http://example.org/uni-
vokabular#teilnehmer"/>
•Spezie...
• spezielle Properties einer Property.
• rdfs:domain (=Domäne)
• „Jede Ressource, die diese Property besitzt ist vom
Typ ....
Semantik in RDF<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xml...
Die Ebenen von
RDF und RDFS
Klassen
Instanzen
Fragen?!Fragen?!
??
??
??
? ?? ?
Nichtontologische Eigenschaften
• rdfs:label
Zeichenkette, die Ressourcen in Darstellungen repräsentiert.
• rdfs:seeAlso
G...
Best practices
• Bestehende Ontologien erweitern
mit subClassOf und subPropertyOf
• Äquivalente Klassen können mit
gegense...
Inferenz mit Hilfe von RDF
Schema
RDF Schema
• RDF Schema legt bestimmte Ressourcen fest, die
eine spezielle Bedeutung besitzen.
• Wie können wir diese Bede...
Beispiel
<uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/>
<uni:Professor rdf:about=...
Beispiel
<uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/>
<uni:Professor rdf:about=...
Exkurs Logik
Aussagenlogik
(A <=> B ) <=> ((A => B) ∧ (B => A))
Äquivalenz (genau-dann-wenn)
A <=> B = Wenn A=wahr dann is...
Exkurs Logik
Exkurs Logik
Von der Aussagenlogik nun zur Prädikatenlogik
Hilft bei komplexeren Aussagen, die ggf. wahr sind.
Prädikaten ...
Exkurs Logik
∀x. A(x) <=> ∃x. A(x)
∃x. A(x) <=> ∀x. A(x)
~{Nicht für alle x gilt A(x) gleich wie Es existiert ein x fü...
Inferenz
• Inferenzmaschinen können mit
Hilfe von Regeln neue Aussagen
aus einer bestehenden
Wissenbasis ableiten.
• Im Ko...
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix...
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix...
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.
@prefix...
Kombinierte Inferenzmuster
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix rdfs: <http://www.w3.org/20...
Aussagenlogik
∀x. A(x) <=> ∃x. A(x)
∃x. A(x) <=> ∀x. A(x)
~{Nicht für alle x gilt A(x) [ist äquivalent] Es existiert e...
Fragen?!Fragen?!
??
??
??
? ?? ?
Zusammenfassung
RDFS
• Klassenhierachien
• Eigenschaftshierarchien
• domain und range
 Eingeschränkte Ausdruckskraft
XML RDF
XML
Schem
a
RDF
Schem
a
• Ein XML Schema
beschränkt die Struktur von
XML-Dateien.
• Ein RDF Schema definiert
die B...
Fragen?!Fragen?!
??
??
??
? ?? ?
HerzlichenHerzlichen
Dank!Dank!
Nächste SlideShare
Wird geladen in …5
×

3.sitzung

356 Aufrufe

Veröffentlicht am

Semantische Technologien

Veröffentlicht in: Internet
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
356
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
168
Aktionen
Geteilt
0
Downloads
0
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

3.sitzung

  1. 1. – Semantic Technologies – Dozent: Christoph Stollwerk RDFS & Inferenz Übung, Wintersemester 2015/16 1. November 2015
  2. 2. Tips
  3. 3. Fallstricke URIs für Properties • Die eigentliche Property und das Dokument, dass die Property beschreibt sind zwei unterschiedliche Ressourcen. • Slashes („/“) und Hashes („#“) machen einen Unterschied.
  4. 4. Fallstricke URIs für Dinge • können prinzipiell willkürlich definiert werden. • aber: Am besten in einem Namensraum, den man kontrolliert. • müssen eindeutig definiert sein. • sind case-sensitive.
  5. 5. Literale vs. Ressourcen • Auf Dinge, die potentiell auch woanders beschrieben werden verweist man als Ressourcen. • Ausschließlich elementare Werte werden als Literale behandelt.
  6. 6. Domain & Range bei Properties • Die Domain gibt die Klasse an, deren Eigenschaft die Property darstellt. • Der Range gibt die Klasse an, deren Instanzen als Objekte der Property auftreten.
  7. 7. RDF Schema
  8. 8. Semantik in XML <dozent>Jan Wieners</dozent> <professor>Manfred Thaller</professor> <veranstaltung name="Programmierpraktikum C++"> <wirdGehaltenVon>Daniel de Oliveira</wirdGehaltenVon> </veranstaltung> • Aufgabe: Finde alle Dozenten - XPath: //dozent • Antwort: „Jan Wieners“
  9. 9. Semantik in RDF <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:uni="http://example.org/uni-vokabular#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/> <uni:Professor rdf:about="http://hki.uni-koeln.de/staff/thaller" foaf:name="Manfred Thaller"/> <uni:Uebung rdf:about="http://hki.uni-koeln.de/courses/42" dc:title="Programmierpraktikum C++"> <uni:wirdGehaltenVon rdf:resource="http://hki.uni-koeln.de/staff/oliveira"/> </uni:Uebung> </rdf:RDF> • Aufgabe: Finde alle Dozenten • Antwort: „Jan Wieners“ • (eigentlich: http://hki.uni-koeln.de/staff/wieners)
  10. 10. Semantik in RDF • Fehlende Information: • Alle Professoren sind Dozenten. • Übungen werden von Dozenten gehalten.  In comes RDF Schema!
  11. 11. RDF Schema • Ist ein spezielles RDF-Vokabular zur Spezifikation von Klassen und Properties und deren Verhältnissen. • Eine primitive Ontologiesprache.
  12. 12. Klassen • Spezieller Typ: rdfs:Class <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="http://example.org/uni-vokabular#Professor"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> </rdf:Description> </rdf:RDF> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"/> </rdf:RDF> <http://example.org/uni-vokabular#Professor> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/2000/01/rdf-schema#Class>.
  13. 13. Klassenhierarchien
  14. 14. Klassenhierarchien Spezielle Property: rdfs:subClassOf <rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"> <rdfs:subClassOf rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdfs:Class>
  15. 15. Semantik in RDF <?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:uni="http://example.org/uni-vokabular#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/> <uni:Professor rdf:about="http://hki.uni-koeln.de/staff/thaller" foaf:name="Manfred Thaller"/> <uni:Uebung rdf:about="http://hki.uni-koeln.de/courses/42" dc:title="Programmierpraktikum C++"> <uni:wirdGehaltenVon rdf:resource="http://hki.uni-koeln.de/staff/oliveira"/> </uni:Uebung> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"> <rdfs:subClassOf rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdfs:Class> </rdf:RDF> Aufgabe: Finde alle Dozenten Antwort: „Jan Wieners“ & „Manfred Thaller“
  16. 16. Properties • Spezieller Typ: rdf:Property <rdf:Property rdf:about="http://example.org/uni- vokabular#teilnehmer"/> •Spezielle Property: rdfs:subPropertyOf <rdf:Property rdf:about="&uni;#wirdGehaltenVon"> <rdfs:subPropertyOf rdf:resource="&uni;#teilnehmer"/> </rdf:Property>
  17. 17. • spezielle Properties einer Property. • rdfs:domain (=Domäne) • „Jede Ressource, die diese Property besitzt ist vom Typ ...“ • rdfs:range (=Wertebereich) • Jede Ressource, auf die diese Property verweist ist vom Typ ...“ <rdf:Property rdf:about="&uni;#wirdGehaltenVon"> <rdfs:domain rdf:resource="&uni;#Veranstaltung"/> <rdfs:range rdf:resource="&uni;#Dozent"/> </rdf:Property> Domain & Range
  18. 18. Semantik in RDF<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:uni="http://example.org/uni-vokabular#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dc="http://purl.org/dc/elements/1.1/"> <uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/> <uni:Professor rdf:about="http://hki.uni-koeln.de/staff/thaller" foaf:name="Manfred Thaller"/> <uni:Uebung rdf:about="http://hki.uni-koeln.de/courses/42" dc:title="Programmierpraktikum C++"> <uni:wirdGehaltenVon rdf:resource="http://hki.uni-koeln.de/staff/oliveira"/> </uni:Uebung> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"> <rdfs:subClassOf rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdfs:Class> <rdf:Property rdf:about="http://example.org/uni-vokabular#wirdGehaltenVon"> <rdfs:range rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdf:Property> </rdf:RDF> • Aufgabe: Finde alle Dozenten • Antwort: „Jan Wieners“, „Manfred Thaller“ & „Daniel de Oliveira“
  19. 19. Die Ebenen von RDF und RDFS Klassen Instanzen
  20. 20. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  21. 21. Nichtontologische Eigenschaften • rdfs:label Zeichenkette, die Ressourcen in Darstellungen repräsentiert. • rdfs:seeAlso Gibt eine Ressource an, die weitere Informationen über das Subjekt enthält. • rdfs:isDefinedBy Gibt eine Ressource an, unter der das Subjekt definiert wird. • rdfs:comment Erlaubt ergänzende Kommentare zu Ressourcen in natürlicher Sprache.
  22. 22. Best practices • Bestehende Ontologien erweitern mit subClassOf und subPropertyOf • Äquivalente Klassen können mit gegenseitigem subClassOf bzw. subPropertyOf gekennzeichnet werden. Auch sinnvoll bei Datenintegration! • Eigenschaften, die zur Anzeige bestimmt sind sollten als Sub-Properties von rdf:label definiert werden.
  23. 23. Inferenz mit Hilfe von RDF Schema
  24. 24. RDF Schema • RDF Schema legt bestimmte Ressourcen fest, die eine spezielle Bedeutung besitzen. • Wie können wir diese Bedeutung definieren? • Dadurch, dass wir Regeln für logische Schlussfolgerungen festlegen, die gezogen werden können, wenn diese Ressourcen verwendet werden.
  25. 25. Beispiel <uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/> <uni:Professor rdf:about="http://hki.uni-koeln.de/staff/thaller" foaf:name="Manfred Thaller"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"> <rdfs:subClassOf rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdfs:Class> • Aufgabe: Finde alle Dozenten • Antwort: „Jan Wieners“ & „Manfred Thaller“
  26. 26. Beispiel <uni:Dozent rdf:about="http://hki.uni-koeln.de/staff/wieners" foaf:name="Jan Wieners"/> <uni:Professor rdf:about="http://hki.uni-koeln.de/staff/thaller" foaf:name="Manfred Thaller"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Dozent"/> <rdfs:Class rdf:about="http://example.org/uni-vokabular#Professor"> <rdfs:subClassOf rdf:resource="http://example.org/uni-vokabular#Dozent"/> </rdfs:Class> Implizite Regel: „Wenn eine Klasse A eine Unterklasse der Klasse B ist, sind alle Instanzen von A gleichzeitig auch Instanzen von B.“ •IF ?A rdfs:subClassOf ?B. AND ?x rdf:type ?A. THEN ?x rdf:type ?B. •∀x(A(x) ⋀ subClass(A,B) ⇒ B(x))
  27. 27. Exkurs Logik Aussagenlogik (A <=> B ) <=> ((A => B) ∧ (B => A)) Äquivalenz (genau-dann-wenn) A <=> B = Wenn A=wahr dann ist B=wahr, dann gilt Äquivalenz=wahr Implikation (wenn-dann) A => B = Wenn A=wahr, dann B=falsch, dann gilt Implikation=falsch (!) Disjunktion (oder) A ∨ B = Wenn A=wahr oder B=wahr, dann gilt Disjunktion=wahr Konjunktion (und) A ∧ B = Wenn A=wahr und B=wahr, dann gilt Konjunktion=wahr Negation ¬A = nicht-falsch oder nicht-wahr (!true oder !false) Aussage A = falsch oder wahr (true oder false)
  28. 28. Exkurs Logik
  29. 29. Exkurs Logik Von der Aussagenlogik nun zur Prädikatenlogik Hilft bei komplexeren Aussagen, die ggf. wahr sind. Prädikaten logik unterscheidet in Aussagen Objekte und Eigenschaften von Objekten. Ist-gerade(x) Input = Zahl; Output = bool Ist-gerade=Prädikat(x=objekt) A(x) = allg. Aussagekonstruktion (Nur unter best. Aussageparametern wahr) Daher Quantoren (Allquantoren und Existenzquantoren)
  30. 30. Exkurs Logik ∀x. A(x) <=> ∃x. A(x) ∃x. A(x) <=> ∀x. A(x) ~{Nicht für alle x gilt A(x) gleich wie Es existiert ein x für das nicht A(x) gilt}. ~{Es existiert kein x für das A(x) gilt gleich wie Für alle x gilt, dass A(x) nicht gilt}.
  31. 31. Inferenz • Inferenzmaschinen können mit Hilfe von Regeln neue Aussagen aus einer bestehenden Wissenbasis ableiten. • Im Kontext des Semantic Web: • Aus vorhandenen Tripeln können neue Tripel abgeleitet werden.
  32. 32. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uni: <http://example.org/uni-vokabular#>. @prefix staff: <http://hki.uni-koeln.de/staff/>. staff:thaller rdf:type uni:Professor. uni:Professor rdfs:subClassOf uni:Dozent. S P O (Ressource) (Ressource) (Ressource/Literal) IF ?A rdfs:subClassOf ?B. AND ?x rdf:type ?A. THEN ?x rdf:type ?B. Inferenzmuster für rdfs:subClassOf # daraus abgeleitetes Tripel staff:thaller rdf:type uni:Dozent;
  33. 33. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uni: <http://example.org/uni-vokabular#>. @prefix staff: <http://hki.uni-koeln.de/staff/>. course:42 uni:wirdGehaltenVon staff:oliveira. uni:wirdGehaltenVon rdfs:range uni:Dozent. Subjekt Prädikat Objekt IF ?P rdfs:range ?R. AND ?x ?P ?y. THEN ?y rdf:type ?R. Inferenzmuster für rdfs:range # abgeleitete Tripel staff:oliveira rdf:type uni:Dozent;
  34. 34. @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uni: <http://example.org/uni-vokabular#>. @prefix staff: <http://hki.uni-koeln.de/staff/>. Course:42 uni:wirdGehaltenVon staff:oliveira. uni:wirdGehaltenVon rdfs:domain uni:Veranstaltung. # abgeleitete Tripel course:42 rdf:type uni:Veranstaltung; IF ?P rdfs:domain ?D. AND ?x ?P ?y. THEN ?x rdf:type ?D. Inferenzmuster für rdfs:domain
  35. 35. Kombinierte Inferenzmuster @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>. @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>. @prefix uni: <http://example.org/uni-vokabular#>. @prefix staff: <http://hki.uni-koeln.de/staff/>. course:42 uni:wirdGehaltenVon staff:oliveira. uni:wirdGehaltenVon rdfs:range uni:Dozent. uni:Dozent rdfs:subClassOf uni:Mitarbeiter. # abgeleitete Tripel staff:oliveira rdf:type uni:Dozent; staff:oliveira rdf:type uni:Mitarbeiter; uni:wirdGehaltenVon rdfs:range uni:Mitarbeiter; IF ?P rdfs:range ?D. AND ?D rdfs:subClass ?C. THEN ?P rdfs:range ?C.
  36. 36. Aussagenlogik ∀x. A(x) <=> ∃x. A(x) ∃x. A(x) <=> ∀x. A(x) ~{Nicht für alle x gilt A(x) [ist äquivalent] Es existiert ein x für das nicht A(x) gilt}. ~{Es existiert kein x für das A(x) gilt [ist äquivalent] Für alle x gilt, dass A(x) nicht gilt}.
  37. 37. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  38. 38. Zusammenfassung RDFS • Klassenhierachien • Eigenschaftshierarchien • domain und range  Eingeschränkte Ausdruckskraft
  39. 39. XML RDF XML Schem a RDF Schem a • Ein XML Schema beschränkt die Struktur von XML-Dateien. • Ein RDF Schema definiert die Bedeutung des in RDF verwendeten Vokabulars über das Schlüsse gezogen werden können, wenn dieses Vokabular verwendet wird. XML Schema vs. RDF Schema
  40. 40. Fragen?!Fragen?! ?? ?? ?? ? ?? ?
  41. 41. HerzlichenHerzlichen Dank!Dank!

×