27
Semantic Technologies Übung, Wintersemester 2011/12 26. Oktober 2011 - von XML zu RDF

Sitzung 3

  • Upload
    scuy

  • View
    501

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Sitzung 3

Semantic TechnologiesÜbung, Wintersemester 2011/12

26. Oktober 2011 - von XML zu RDF

Page 2: Sitzung 3

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.

Page 3: Sitzung 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.

Page 4: Sitzung 3

Nachtrag Referenzen XML

Page 5: Sitzung 3

Möglichkeit 1: xsd:keyref

• Referenzen innerhalb eines XML-Dokuments

<order> <number>123ABBCC123</number> <items> <shirt number="557"> <quantity>1</quantity> <color value="blue"/> </shirt> <shirt number="557"> <quantity>1</quantity> <color value="sage"/> </shirt> <hat number="563"> <quantity>1</quantity> </hat> </items> <products> <product> <number>557</number> <name>Short-Sleeved Linen Blouse</name> <price currency="USD">29.99</price> </product> <product> <number>563</number> <name>Ten-Gallon Hat</name> <price currency="USD">69.99</price> </product> </products></order>

Page 6: Sitzung 3

Möglichkeit 2:XLink

• Referenzen innerhalb eines XML-Dokuments und zu anderen XML-Dokumenten

<order xmlns:xlink="http://www.w3.org/1999/xlink"> <number>123ABBCC123</number> <items> <shirt xlink:type="simple" xlink:href="#557"> <quantity>1</quantity> <color value="blue"/> </shirt> <hat xlink:type="simple" xlink:href="http://example.org/products/hats.xml#563"> <quantity>1</quantity> </hat> </items> <products> <product xml:id="557"> <name>Short-Sleeved Linen Blouse</name> <price currency="USD">29.99</price> </product> </products></order>

Page 7: Sitzung 3

SemantikIst XML eine semantische Technologie?

Page 8: Sitzung 3

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>

Page 9: Sitzung 3

Semantik in XML

• Die Bedeutung der Relationen zwischen Elementen ist in XML nie explizit.

Page 10: Sitzung 3

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“

Page 11: Sitzung 3

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!

Page 12: Sitzung 3

RDFEin Datenmodell für das Semantic Web

Page 13: Sitzung 3

Verhältnis XML zu RDF

XML RDF

XMLSchema

RDFSchema

• XML = Markupsprache

• XML Schema beschränkt die Struktur von XML

• RDF = Datenmodell

• RDF Schema definiert das Vokabular von RDF

• RDF/XML ist eine konkrete Syntax zum Austausch von RDF

Page 14: Sitzung 3

RDF: Grundidee

• resources + properties = statements

• resources

• alles was mit einem URI referenziert werden kann

• properties

• Eigenschaften von Ressourcen

Page 15: Sitzung 3

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:[email protected]

• geo:48.33,14.122;u=22.5

Page 16: Sitzung 3

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

Page 17: Sitzung 3

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

Page 18: Sitzung 3

Graphstruktur• (http://de.wikipedia.org/wiki/Köln,lastModified,2011-10-23)

• (urn:example:city:cologne,inhabitants,1007119)

• (http://de.wikipedia.org/wiki/Köln,isAbout,urn:example:city:cologne)

http://de.wikipedia.org/wiki/Köln urn:example:city:cologne

isAbout

2011-10-23 1007119

last

Modi

fied

inha

bita

nts

Page 19: Sitzung 3

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)

Page 20: Sitzung 3

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)

Page 21: Sitzung 3

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

• ...

Page 22: Sitzung 3

Serialisierungen von RDF

• RDF/XML - .rdf

• Notation 3 (N3) - .n3

• Turtle - .ttl

• N-Triples - .nt

Subset

Page 23: Sitzung 3

N-Triples

<urn:example:city:cologne> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://dbpedia.org/ontology/PopulatedPlace>.

<urn:example:city:cologne> <http://dbpedia.org/property/name> "Köln".

<urn:example:city:cologne><http://purl.org/dc/elements/1.1/description> <http://de.wikipedia.org/wiki/Köln>.

<http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/date> "2011-10-23".

<http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/creator> "Max Mustermann".

<http://de.wikipedia.org/wiki/Köln> <http://purl.org/dc/elements/1.1/title> "Köln".

Page 24: Sitzung 3

FOAFFriend of a Friend

• Agent

• Person

• name

• title

• img

• depiction (depicts)

• familyName

• givenName

• knows

• based_near

• age

• made (maker)

• primaryTopic (primaryTopicOf)

• Project

• Organization

• Group

• member

• Document

• Image

• Namespace: http://xmlns.com/foaf/0.1/

• Klassen und Properties (FOAF Core):

Page 25: Sitzung 3

Aufgaben

Page 26: Sitzung 3

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

Page 27: Sitzung 3

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 „;“.