Your SlideShare is downloading. ×

Sitzung 5

420

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
420
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Semantic Technologies Übung, Wintersemester 2011/12 9. November 2011 - RDF Schema
  • 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. Fallstricke
  • 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.
  • 11. RDF Schema
  • 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. 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. 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.
  • 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. Klassenhierarchien Universitäts- angestellter nicht wissenschaftl. Verwaltungs- wissenschaftl. Angestellter angestellter Angestellter Wiss. Wiss. Professor Mitarbeiter Hilfskraft
  • 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. 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. 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. 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. 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. 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. Aufgaben
  • 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 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. 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. 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.

×