Sitzung 5

622 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
622
On SlideShare
0
From Embeds
0
Number of Embeds
78
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sitzung 5

  1. 1. Semantic Technologies Übung, Wintersemester 2011/12 9. November 2011 - RDF Schema
  2. 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
  3. 3. Fallstricke
  4. 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. 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. 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. 7. Blank Nodes Knoten ohne URI• RDF-Knoten ohne rdf:about-Attribut.• Alternative: rdf:nodeID = Lokale ID• Nachteil: • Knoten sind nicht global referenzierbar.
  8. 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. 9. Domain & Range bei Properties• Achtung bei: • Bags und anderen Containern • Literalen
  10. 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.
  11. 11. RDF Schema
  12. 12. 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“
  13. 13. 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)
  14. 14. Semantik in RDF• Fehlende Information: • Alle Professoren sind Dozenten. • Übungen werden von Dozenten gehalten.➡In comes RDF Schema!
  15. 15. RDF Schema• Ist ein spezielles RDF-Vokabular zur Spezifikation von Klassen und Properties und deren Verhältnissen.• Eine primitive Ontologiesprache.
  16. 16. 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>.
  17. 17. Klassenhierarchien Universitäts- angestellter nicht wissenschaftl. Verwaltungs- wissenschaftl. Angestellter angestellter Angestellter Wiss. Wiss. Professor Mitarbeiter Hilfskraft
  18. 18. Klassenhierarchien Universitäts- angestellter • rdfs:subClassOf Spezielle Property: nicht wissenschaftl. Angestellter wissenschaftl. Angestellter Verwaltungs- angestellter Wiss. Wiss. Professor Mitarbeiter Hilfskraft<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>
  19. 19. 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“
  20. 20. 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>
  21. 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>
  22. 22. 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“
  23. 23. Die Ebenen von RDF und RDFS teilnehmer name range domain range subPropertyOf domain Person Literal wirdGehaltenVon subClassOf domain rangeVeranstaltung Dozent subClassOf subClassOfProseminar Professor Klassen type type RDFS RDF Software- Manfredtechnologie I wirdGehaltenVon Thaller Instanzen
  24. 24. Aufgaben
  25. 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. 26. Tabelle 1 Veranstaltungenid titel tag uhrzeit art dozent_id Projektplanung für1 Softwareprojekte: KLIPS Donnerstag 16:00 Hauptseminar 1 2.02 Softwaretechnologie I Dienstag 10:00 Proseminar 1 Basisinformations-3 Mittwoch 10:00 Proseminar 2 technologie I4 Semantic Technologies Mittwoch 12:00 Übung 35 Programmierpraktikum Montag 17:45 Übung 4
  27. 27. Tabelle 2 Dozentenid vorname nachname titel eMail manfred.thaller1 Manfred Thaller Prof. Dr. @uni-koeln.de jan.wieners2 Jan Gerrit Wieners M.A. @uni-koeln.de sebastian.cuy3 Sebastian Cuy M.A. @uni-koeln.de d.de-oliveira4 Daniel de Oliveira M.A. @uni-koeln.de
  28. 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.

×