2. Aufgabe 1
• Beschreiben Sie sich selbst und ihre
Beziehungen untereinander mit den
Begriffen aus FOAF in RDF/XML.
• URIs:
• Personen: http://hki.uni-koeln.de/st_2011/person/max.musterman
• Dieser Kurs: http://hki.uni-koeln.de/st_2011/group/st_2011
• Ihre Gruppe: http://hki.uni-koeln.de/st_2011/group/gruppenname
• Benutzen Sie auch Begriffe aus FOAF Social Web
4. Fallstricke
URIs für Properties
• Die eigentliche Property und das
Dokument, das die Property beschreibt
sind zwei unterschiedliche Ressourcen.
• Slashes („/“) und Hashes („#“) machen
einen Unterschied.
5. 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.
6. Fallstricke
Literale vs. Ressourcen
• Auf Dinge, die potentiell auch woanders
beschrieben werden verweist man als
Ressourcen.
• Ausschließlich elementare Werte werden
als Literale behandelt.
7. Blank Nodes
Knoten ohne URI
• RDF-Knoten ohne rdf:about-Attribut.
• Alternative: rdf:nodeID = Lokale ID
• Nachteil:
• Knoten sind nicht global referenzierbar.
8. 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.
9. Domain & Range
bei Properties
• Achtung bei:
• Bags und anderen Containern
• Literalen
10. Aufgabe 2
• Gegeben sind die folgenden
Datenbanktabellen. Erstellen Sie aus
diesen Daten einen RDF-Graphen und
serialisieren Sie diesen in RDF/XML.
• Die Identifier für Typen, Properties und Ressourcen
dürfen Sie selbst vergeben.
• Verwenden Sie einen Container zur Abbildung einer
der 1 zu n-Beziehungen.
14. Semantik in RDF
• Fehlende Information:
• Alle Professoren sind Dozenten.
• Übungen werden von Dozenten gehalten.
➡In comes RDF Schema!
15. RDF Schema
• Ist ein spezielles RDF-Vokabular zur
Spezifikation von Klassen und
Properties und deren Verhältnissen.
• Eine primitive Ontologiesprache.
21. Properties
Domain & Range
• 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>
23. Die Ebenen von RDF und RDFS
teilnehmer name
range domain range
subPropertyOf
domain Person Literal
wirdGehaltenVon
subClassOf
domain range
Veranstaltung Dozent
subClassOf subClassOf
Proseminar Professor
Klassen
type type
RDFS
RDF
Software- Manfred
technologie I
wirdGehaltenVon
Thaller Instanzen
25. 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.
26. 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
27. 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
28. 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.