21
Semantic Technologies Übung, Wintersemester 2011/12 16. November 2011 - RDF Schema und Inferenz

Sitzung 6

  • Upload
    scuy

  • View
    284

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Sitzung 6

Semantic TechnologiesÜbung, Wintersemester 2011/12

16. November 2011 - RDF Schema und Inferenz

Page 2: Sitzung 6

Aufgabe 1

• Gegeben sind die folgenden Datenbanktabellen. Erstellen Sie für diese Daten ein RDF-Schema in RDF/XML.

• Das Schema soll mindestens unterscheiden zwischen „einfachen Dozenten“ und Professoren und zwischen Proseminaren, Übungen und Hauptseminaren.

• Bilden Sie den Sachverhalt ab, dass Hauptseminare nur von Professoren gehalten werden können.

Page 5: Sitzung 6

Aufgabe 2

• Erstellen Sie aus den Daten in den Tabellen einen RDF-Graphen, der sich auf die Typen und Eigenschaften des Schemas aus Aufgabe 1 bezieht und serialisieren Sie diesen in RDF/XML.

Page 6: Sitzung 6

Nachtrag RDF Schema

Page 7: Sitzung 6

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.

Page 8: Sitzung 6

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.

Page 9: Sitzung 6

Inferenz mit Hilfe von RDF Schema

Page 10: Sitzung 6

Rückblick

• 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.

Page 11: Sitzung 6

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“

• 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))

Page 12: Sitzung 6

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.

Page 13: Sitzung 6

Inferenzmuster fürrdfs:subClassOf

@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.

# abgeleitete Tripelstaff:thaller rdf:type uni:Dozent;

• IF ?A rdfs:subClassOf ?B.AND ?x rdf:type ?A.THEN ?x rdf:type ?B.

Page 14: Sitzung 6

Inferenzmuster fürrdfs:range

@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.

# abgeleitete Tripelstaff:oliveira rdf:type uni:Dozent;

• IF ?P rdfs:range ?R.AND ?x ?P ?y.THEN ?y rdf:type ?R.

Page 15: Sitzung 6

Inferenzmuster fürrdfs:domain

@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 Tripelcourse:42 rdf:type uni:Veranstaltung;

• IF ?P rdfs:domain ?D.AND ?x ?P ?y.THEN ?x rdf:type ?D.

Page 16: Sitzung 6

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 Tripelstaff: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.

Page 17: Sitzung 6

XML Schema vs. RDF Schema

XML RDF

XMLSchema

RDFSchema

• Ein XML Schema beschränkt die Struktur von XML-Dateien.

• Ein RDF Schema definiert die Bedeutung des in RDF verwendeten Vokabulars über Schlüsse, die gezogen werden können, wenn dieses Vokabular verwendet wird.

Page 18: Sitzung 6

Aufgaben

Page 19: Sitzung 6

Aufgabe 1

• Gegeben seien die folgenden RDF-Daten.

• Notieren sie alle Tripel, die daraus durch Anwendung der zu RDF Schema gehörenden Regeln abgeleitet werden können.

Page 20: Sitzung 6

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>.@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.@prefix lib: <http://example.org/library#>.@prefix ub: <http://ub.uni-koeln.de/inventar/>.

# Klassenlib:Document a rdfs:Class.

lib:Book a rdfs:Class;! rdfs:subClassOf lib:Document.

lib:Article a rdfs:Class;! rdfs:subClassOf lib:Document.!lib:EDocument a rdfs:Class;! rdfs:subClassOf lib:Document.

lib:EArticle a rdfs:Class;! rdfs:subClassOf lib:Article, lib:EDocument.!lib:Author a rdfs:Class.

lib:author a rdfs:Property;! rdfs:domain lib:Document;! rdfs:range lib:Author.

lib:title a rdfs:Property;! rdfs:domain lib:Document;! rdfs:range xsd:string.!lib:isbn a rdfs:Property;! rdfs:domain lib:Book;! rdfs:range xsd:string.!lib:webVersion a rdfs:Property;! rdfs:domain lib:EArticle.

# Instanzenub:42 lib:title "The Semantic Web";! lib:author <http://www.w3.org/People/Berners-Lee/card#i>;! lib:webVersion <http://www.scientificamerican.com/article.cfm?id=the-semantic-web>.

ub:23 lib:title "The Art of Computer Programming";! lib:isbn "978-0321751041";! lib:author <http://dbpedia.org/resource/Donald_Ervin_Knuth>.

Page 21: Sitzung 6

Aufgabe 2

• Welche Tripel können zusätzlich abgeleitet werden, wenn folgende Aussagen hinzugefügt werden?

lib:Document rdfs:subClassOf <http://xmlns.com/foaf/0.1/Document>.<http://xmlns.com/foaf/0.1/Document> rdfs:subClassOf lib:Document.lib:title rdfs:subPropertyOf <http://purl.org/dc/elements/1.1/title>.lib:author rdfs:subPropertyOf <http://xmlns.com/foaf/0.1/maker>.