1. Semantic Technologies
Übung, Wintersemester 2011/12
16. November 2011 - RDF Schema und Inferenz
2. 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.
3. Tabelle 1
Veranstaltungen
id titel tag uhrzeit art dozent_id
Projektplanung für
1 Softwareprojekte: KLIPS Donnerstag 16:00 Hauptseminar 1
2.0
2 Softwaretechnologie I Dienstag 10:00 Proseminar 1
Basisinformations-
3 Mittwoch 10:00 Proseminar 2
technologie I
4 Semantic Technologies Mittwoch 12:00 Übung 3
5 Programmierpraktikum Montag 17:45 Übung 4
4. Tabelle 2
Dozenten
id vorname nachname titel eMail
manfred.thaller
1 Manfred Thaller Prof. Dr.
@uni-koeln.de
jan.wieners
2 Jan Gerrit Wieners M.A.
@uni-koeln.de
sebastian.cuy
3 Sebastian Cuy M.A.
@uni-koeln.de
d.de-oliveira
4 Daniel de Oliveira M.A.
@uni-koeln.de
5. 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.
7. 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.
8. 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.
10. 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.
11. 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))
12. 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.
17. XML Schema vs.
RDF Schema
• Ein XML Schema
beschränkt die Struktur
von XML-Dateien.
XML RDF
• Ein RDF Schema
definiert die Bedeutung
des in RDF verwendeten
Vokabulars über
XML RDF Schlüsse, die gezogen
Schema Schema werden können, wenn
dieses Vokabular
verwendet wird.
19. 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.
20. @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/>.
# Klassen
lib: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.
# Instanzen
ub: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>.
21. 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>.