1. Semantic Technologies
Übung, Wintersemester 2011/12
26. Oktober 2011 - von XML zu RDF
2. Aufgabe 1
• Entwickeln Sie ein XML Schema zur
Erfassung von Veranstaltungen an einer
Universität.
• Das Schema soll unter anderem Elemente für Veranstaltung,
Lehrperson, und Raum enthalten.
• Definieren Sie dabei mindestens einen eigenen simpleType, der einen
Basistyp einschränkt.
• Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und
validieren Sie es.
3. Aufgabe 2
• Entwickeln Sie ein weiteres XML Schema
zur Erfassung von persönlichen
Stundenplänen.
• Das Schema soll die Elemente aus dem aus Aufgabe 1 entstandenen
Schema mit Hilfe von Namespaces wiederverwenden.
• Schreiben Sie ein XML-Dokument, das diesem Schema entspricht und
validieren Sie es.
8. Semantik in XML
• Bsp.: Manfred Thaller ist der Dozent von Softwaretechnologie I.
<veranstaltung name="Softwaretechnologie I">
<dozent>Manfred Thaller</dozent>
</veranstaltung>
<dozent name="Manfred Thaller">
<veranstaltung>Softwaretechnologie I</veranstaltung>
</dozent>
<unterrichtsAngebot>
<dozent>Manfred Thaller</dozent>
<veranstaltung>Softwaretechnologie I</veranstaltung>
</unterrichtsAngebot>
9. Semantik in XML
• Die Bedeutung der Relationen zwischen
Elementen ist in XML nie explizit.
10. 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“
11. Semantik in XML
• Die Bedeutung der Relationen zwischen
Elementen ist in XML nie explizit.
• Die Bedeutung einzelner Elemente ist in
XML nie explizit.
➡RDF to the rescue!
13. Verhältnis XML zu RDF
• XML = Markupsprache
XML RDF • XML Schema
beschränkt die Struktur
von XML
XML RDF • RDF = Datenmodell
Schema Schema • RDF Schema definiert
das Vokabular von RDF
• RDF/XML ist eine konkrete Syntax zum Austausch von RDF
14. RDF: Grundidee
• resources + properties = statements
• resources
• alles was mit einem URI referenziert werden kann
• properties
• Eigenschaften von Ressourcen
15. Exkurs: URIs
• Uniform Resource Identifier
• Ein globaler, eindeutiger Bezeichner für alles Mögliche
• Unterklassen: URL, URN
• Beispiele:
• http://de.wikipedia.org/wiki/Uniform_Resource_Identifier
• urn:isbn:4-7980-1224-6
• mailto:birgit.mustermann@example.org
• geo:48.33,14.122;u=22.5
16. RDF: Grundidee
• Statement: „Der Wikipedia Artikel über Köln wurde
zuletzt am 23.10.2011 bearbeitet.“
• (http://de.wikipedia.org/wiki/Köln,lastModified,2011-10-23)
resource property value
• Statement: „Köln hat 1.007.119 Einwohner“
• (urn:example:city:cologne,inhabitants,1007119)
resource property value
17. Beziehungen zwischen Ressourcen
• Statement: „Der Wikipedia Artikel über Köln beschreibt die
Stadt Köln.“
• (http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne)
resource property value
Subjekt Verb Objekt
19. Problem
• (http://de.wikipedia.org/wiki/Köln,lastModified,2011-10-23)
oder
• (http://de.wikipedia.org/wiki/Köln,lastMod,2011-10-23)
oder
• (http://de.wikipedia.org/wiki/Köln,letzteÄnderung,2011-10-23)
• Lösung: Auch Properties erhalten URIs
• Beispiel: (http://de.wikipedia.org/wiki/Köln,
http://purl.org/dc/elements/1.1/date,2011-10-23)
20. Klassen
• Auch Klassen sind Ressourcen und besitzen URIs.
• Die Zugehörigkeit einer Ressource zu einer Klasse wird
mit der Property http://www.w3.org/1999/02/22-rdf-syntax-ns#type
ausgedrückt.
• Beispiele:
• (urn:example:city:cologne,
http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
http://dbpedia.org/ontology/City)
• (http://hki.uni-koeln.de/st_2011/persons/sebastian.cuy,
http://www.w3.org/1999/02/22-rdf-syntax-ns#type,
http://xmlns.com/foaf/0.1/Person)
21. Namespaces
• Klassen und Properties unterhalb des
gleichen URI bilden einen Namespace.
• Beispiel: Dublin Core
• http://purl.org/dc/elements/1.1/title
• http://purl.org/dc/elements/1.1/creator
• http://purl.org/dc/elements/1.1/date
• ...
26. Aufgabe 1
• Beschreiben Sie sich selbst und ihre
Beziehungen untereinander mit den
Begriffen aus FOAF in N-Triples.
• 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
27. Aufgabe 2
• Verkürzen Sie die Darstellungsweise der
Tripel indem Sie die Turtle-Syntax benutzen.
• Tips:
• Nutzen Sie „@prefix“
• Vermeiden Sie die Wiederholung von Subjekten durch
die Verwendung von „;“.