Sitzung 4

28
Semantic Technologies Übung, Wintersemester 2011/12 2. November 2011 - mehr RDF

Transcript of Sitzung 4

Page 1: Sitzung 4

Semantic TechnologiesÜbung, Wintersemester 2011/122. November 2011 - mehr RDF

Page 2: Sitzung 4

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 3: Sitzung 4

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://xmlns.com/foaf/0.1/Person>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/name> "Roman Quiring".

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/givenName> "Roman".

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/family_name> "Quiring".

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/nick> "Rome".

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/mbox> <mailto:[email protected]>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/homepage> <http://www.rome.de>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/workplaceHomepage> <http://www.open-lims.org>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/depiction> <http://www.rome.de/meinBild.jpg>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/interest> <http://www.youtube.com>.

<http://www.youtube.com>! <http://purl.org/dc/elements/1.1/title> "Youtube - Broadcast Yourself".

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/member> <http://hki.uni-koeln.de/st_2011/group/st_2011>

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/benjamin.gelhaar>.

<http://hki.uni-koeln.de/st_2011/person/roman.quiring>! <http://xmlns.com/foaf/0.1/knows> <http://hki.uni-koeln.de/st_2011/person/carlos.lenz>.

Page 4: Sitzung 4

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

Page 5: Sitzung 4

@prefix : <http://xmlns.com/foaf/0.1/> .

@prefix dc: <http://purl.org/dc/elements/1.1/>.

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.

@prefix stp: <http://hki.uni-koeln.de/st_2011/person/>.

<http://hki.uni-koeln.de/st_2011/person/roman-quiring>

! a :Person;

! :name "Roman Quiring" ;

! :givenName "Roman" ;

! :family_name "Quiring" ;

! :nick "Rome" ;

! :mbox <mailto:[email protected]> ;

! :homepage <http://www.rome.de> ;

! :workplaceHomepage <http://www.open-lims.org> ;

! :depiction <http://www.rome.de/meinBild.jpg> ;

! :interest <http://www.youtube.com> ;

! :member <http://hki.uni-koeln.de/st_2011/group/st_2011> ;

! :knows stp:benjamin-gelhaar , stp:carlos-lenz .

<http://www.youtube.com>

! dc:title "Youtube - Broadcast Yourself".

Page 6: Sitzung 4

RDFaus Datenbanksicht

Page 9: Sitzung 4

Möglichkeit 2Verteilung Spalte für Spalte

Titel

Software-technologie für Fortgeschrittene

Software-technologie I

Basis-informations-technologie I

Semantic Technologies

Programmier-praktikum

Dozent RaumManfred Thaller 0.38

Manfred Thaller 1.14

Jan Gerrit Wieners

Wird noch bekannt gegeben

Sebastian Cuy 210

Daniel de Oliveira 1.14

Tag Uhrzeit

Donnerstag 10:00

Dienstag 10:00

Mittwoch 10:00

Mittwoch 12:00

Montag 17:45

➡Vorteil: Flexibilität ➡Problem: Identität

Page 11: Sitzung 4

LösungTripel & globale Referenzen

Titel

Zeile 4

Semantic Technologies

Subjekt Prädikat Objekt

Zeile 4 Titel Semantic Technologies

Zeile 4 http://hki.uni-koeln.de/courses/4

Titel http://purl.org/dc/elements/1.1/title

➡ RDF is born:<http://hki.uni-koeln.de/courses/4>! <http://purl.org/dc/elements/1.1/title> "Semantic Technologies" .

Page 12: Sitzung 4

RDF

• Explizite Bedeutungdurchglobal definiertePrädikate und Klassen

• Verteilung durchglobale Identifier undTripelstruktur

Semantic

Web

Page 13: Sitzung 4

RDF / XML

Page 14: Sitzung 4

Ein Tripel

<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> </rdf:Description> </rdf:RDF>

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

Page 15: Sitzung 4

Noch ein Tripel

<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF>

<urn:example:city:cologne>! <http://purl.org/dc/elements/1.1/description>

! <http://de.wikipedia.org/wiki/Köln>.

Page 16: Sitzung 4

Mehrere Tripel<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </rdf:RDF>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <dbpedia:name>Köln</dbpedia:name> <dc:description> <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date>2011-10-23</dc:date> <dc:creator>Max Mustermann</dc:creator> <dc:title>Köln</dc:title> </rdf:Description> </dc:description> </rdf:Description> </rdf:RDF>

Page 17: Sitzung 4

Klassen

<?xml version="1.0" encoding="UTF-8"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dbpedia="http://dbpedia.org/property/" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name> <dc:description rdf:resource="http://de.wikipedia.org/wiki/Köln"/> </rdf:Description> </rdf:RDF>

Page 18: Sitzung 4

Datentypen<urn:example:city:cologne>! <urn:example:inhabitants>! “1007119“^^<http://www.w3.org/2001/XMLSchema#integer> .

<http://de.wikipedia.org/wiki/Köln>! <http://purl.org/dc/elements/1.1/date>! “2011-10-23“^^<http://www.w3.org/2001/XMLSchema#date> .

<rdf:Description rdf:about="urn:example:city:cologne"> <ex:inhabitants rdf:datatype="http://www.w3.org/2001/XMLSchema#integer">1007119</ex:inhabitants></rdf:Description>

<rdf:Description rdf:about="http://de.wikipedia.org/wiki/Köln"> <dc:date rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2011-10-23</dc:date></rdf:Description>

Page 19: Sitzung 4

Shortcuts

• Kinderlose Property-Elemente dürfen durch XML-Attribute ersetzt werden.

• Description-Elemente mit Typ-Kind dürfen durch den Namen des Typs ersetzt werden.

<rdf:Description rdf:about="urn:example:city:cologne"> <rdf:type rdf:resource="http://dbpedia.org/ontology/PopulatedPlace"/> <dbpedia:name>Köln</dbpedia:name></rdf:Description>

<dbpedia:PopulatedPlace rdf:about="urn:example:city:cologne" dbpedia:name="Köln"/>

Page 20: Sitzung 4

Shortcuts

• Namensräume in Attributen können durch Entity-Deklarationen verkürzt werden.

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE rdf:RDF [ <!ENTITY xsd "http://www.w3.org/2001/XMLSchema#"> <!ENTITY wiki "http://de.wikipedia.org/wiki/">]><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/"> <rdf:Description rdf:about="&wiki;Köln"> <dc:date rdf:datatype="&xsd;date">2011-10-23</dc:date> </rdf:Description> </rdf:RDF>

Page 21: Sitzung 4

Container-Elemente• rdf:Bag - ungeordnet

• rdf:Seq - geordnet

• rdf:Alt - alternativ

• Dopplungen erlaubt

• nicht abgeschlossen

<fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> <rdf:_1 rdf:resource="http://example.org/docs/index.php"/> <rdf:_2 rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles></fs:folder>

<fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:Bag> <rdf:li rdf:resource="http://example.org/docs/index.php"/> <rdf:li rdf:resource="http://example.org/docs/robots.txt"/> </rdf:Bag> </fs:containsFiles></fs:folder>

oder

Page 22: Sitzung 4

Collection-Elemente

• rdf:List

• abgeschlossen

<fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;index.php"/> </rdf:first> <rdf:rest> <rdf:List> <rdf:first> <rdf:Description rdf:resource="&docs;robots.txt"/> </rdf:first> <rdf:rest> <rdf:Description rdf:resource="&rdf;nil"/> </rdf:rest> </rdf:List> </rdf:rest> </rdf:List> </fs:containsFiles></fs:folder>

<fs:folder rdf:about="ftp:///example.org/docs"> <fs:containsFiles rdf:parseType="Collection"> <rdf:Description rdf:about="&docs;index.php"/> <rdf:Description rdf:about="&docs;robots.txt"/> </fs:containsFiles></fs:folder>

oder

Page 23: Sitzung 4

Aufgaben

Page 24: Sitzung 4

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

Page 25: Sitzung 4

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.

Page 28: Sitzung 4

Tabelle 3Räume

id gebaeude raum

1 Philosophicum 0.38

2 RRZK-B 1.14

3 Küpperstift 210

4 Küpperstift Eingang Weyertal, II. Stock, rechts

5 Universitätsstraße 22 Dachgeschoss