Title: Resource Description Framework (RDF)
1Resource Description Framework (RDF)
2- Spezifikationen
- http//www.w3.org/RDF/specs
-
3- Definition Metadaten
- Metadata is machine understandable information
about web resources or other things. - (Berners Lee)
-
- Metadata is sometimes defined literally as
'data about data,' but the term is normally
understood to mean structured data about
resources that can be used to help support a wide
range of operations. - (Michael Day)
-
4RDF - Charakteristika
- RDF ist eine Spezifikation die es erlaubt, auf
einfache Weise Aussagen (statements) über
Ressourcen zu machen. - Frau Merkel trägt ein schwarzes Kostüm.
- Die Intention der Urheber von RDF ist vor allem
die, Aussagen über Ressourcen im WWW zu machen.
Primär ist RDF jedoch auch eine generelle
Möglichkeit, Ressourcen zu beschreiben, die nicht
zwingend Webressourcen sind.
5RDF - Charakteristika
- In der Praxis sollen RDF Aussagen vor allem auch
maschinell verarbeitbar sein. Für diesen Zweck
wird (auf Empfehlung der W3C) RDF auf Basis der
XML verwendet (RDF/XML). - Maschinelle Verarbeitbarkeit von Webressourcen
bedingt auch eine eindeutige Zuordbarkeit der
Ressourcen. Dies kann mittels URIs geschehen.
6RDF Grundkonzepte
- 1. Binäre Relationen
- Natürlichsprachige Aussage
- Die Webseite http//www.example.org hat einen
Urheber namens Peter Schmidt. - Die Aussage besteht aus dem Gegenstand der
Aussage - einer Eigenschaft des Gegenstandes und einem
Wert für diese Eigenschaft. -
- In RDF Terminologie wird der Gegenstand der
Aussage als Subjekt (subject), die Eigenschaft
als Prädikat (predicate) und Wert der Eigenschaft
als Objekt (object) bezeichnet. - Subjekt, Prädikat und Objekt bilden ein sog.
Triple. -
7- 2. RDF Modell
- Ein oder mehrere Triples bilden einen RDF
Graphen. - RDF Graphen können tatsächlich als Diagramm
dargestellt werden Subjekt und Objekt sind dann
die Knoten, Prädikate die Kanten im Graphen.
Subject A
Object A
Predicate A
Object B
Predicate B
8-
- Graphen können auch notiert dargestellt werden,
als Triple-Notation - Subject A Predicate A Object A
- Subject A Predicate B Object B
-
- Subjekt, Prädikat und Objekt werden für jedes
Triple, getrennt durch Leerstellen,
aneinandergereiht. - Im Gegensatz zur grafischen Darstellung wird hier
jedes Triple vollständig aufgeführt. -
9-
- 3. URI Referenzen, Literale und Anonyme
- Prädikate werden in RDF Aussagen immer als URI
Referenzen (URI reference) dargestellt. - Subjekte können zusätzlich im Modell als anonym
(blank node) erscheinen. - Objekte können als dritte Möglichkeit auch
zusätzlich als Zeichenketten (literals)
dargestellt werden.
10- Modellierung RDF Graph
- Beispiel
Quelle (diese u. folgende) RDF Primer, W3C.
11-
- Triple-Notation
- URIs werden in spitze Klammern (ltgt) gesetzt,
Literals in Anführungszeichen ().
12-
- Da die Aneinanderreihung von URIs sehr lang
ausfallen kann, gibt es die Konvention, über die
Verwendung von qualifizierten Bezeichnern
(qualified names) abzukürzen. Dem Bezeichner wird
dabei zuvor die URI zugewiesen. - Qualified names können frei vergeben werden die
Verwendung allgemein anerkannter Vokabulare
(z.B. DC), erleichtert jedoch die Kompatibilität.
13- Knoten in einem RDF Graph können auch leer sein
sie werden als blank nodes bezeichnet. -
14- Die notierte Form sieht dann so aus
-
-
- Zusammenfassung Notationskonventionen
- Literals .
- URI lt . gt
- QN .
- BNode . _ ..
15- Wozu blank nodes?
- exstaff85740 extermsaddress 1501 Grant
Avenue, Bedford, Massachusettes,
01730.
Quelle RDF Primer, W3C.
16- Das Konzept Adresse der Person ist ein Relation,
die nicht mehr binär, sonder n-är ist. Im
vorherigen Graphen wird ein explizit
referenzierter Knoten verwendet dieser
Zwischenschritt ist nicht immer notwendig.
Anstatt dessen kann ein blank node verwendet
werden
Quelle RDF Primer, W3C.
17- Mit Blank nodes lassen sich also 1. komplexere
(n-äre) Relationen darstellen, die 2. Knoten
enthalten, auf die nicht unbedingt referenziert
werden muß. - In Notationsform muss ein leerer Knoten aber
irgendwie repräsentiert werden. Das führt zu der
bereits vorgestellten Notationsform, in der
blank node identifier verwendet werden -
Quelle RDF Primer, W3C.
18- Blank nodes können 3. auch dazu dienen,
Ressourcen zu beschreiben, die keine URIs
besitzen, aber über Relationen zu anderen
Ressourcen beschrieben werden können. - _jane extermsmailbox
ltmailtojane_at_example.orggt . - _jane rdftype
extermsPerson . - _jane extermsname
"Jane Smith" . - _jane extermsempID
"23748" . - _jane extermsage
"26" .
Quelle RDF Primer, W3C.
19- Die Verwendung von URIs in RDF
- Subjekt, Prädikat und Objekt können in RDF
Aussagen als URI-Referenzen (URIref) angegeben
werden. - Eine URIref kann in RDF optional einen fragment
identifier besitzen -
- http//www.example.org/index.htmsection1
fragment identifier
URI Schema
URI Referenz
20- Ein Webbrowser benutzt einen URI zur
Identifikation und zum Abruf einer Webseite, RDF
hingegen identifiziert lediglich über den URI die
Ressource. - Der Webbrowser nimmt also an, dass über den URI
tatsächlich ein physisches Objekt (die Webseite)
zu erreichen ist. - RDF nimmt dies explizit nicht an. RDF kann auch
Ressourcen identifizieren, die über den URI nicht
erreichbar sind (z.B. eine Beschreibung der
Person X). - RDF wird jedoch häufig in der Praxis mit der
Konvention der tatsächlichen Erreichbarkeit der
Ressource angewendet. -
21- Das Identifikationsmerkmal wirkt sich auch in
folgendem Beispiel aus -
- http//www.example.org/index.htm
- http//www.example.org/index.htmsection1
- http//www.example.org/chapter1.htm
- In HTML sind alle drei URLs miteinander
verbunden, d.h. - section1 bezeichnet eine bestimmte Stelle auf
der Indexseite, index.htm und chapter1.htm
beziehen sich beide auf www.example.org. - RDF sieht alle URLs als syntaktisch
unterschiedlich und nimmt deshalb keine Beziehung
zwischen diesen drei URLs an. Beziehungen können
existieren, müssen aber nicht. -
22Standardnotationen für RDF
- N 3 ,Turtle, N-Triple
- Die bisherigen Beispiele wurden in N Triple Form
notiert. RDF Statements können auch in N 3 und
Turtle notiert werden. N Triple und Turtle sind
Untermengen von N3. -
N-Triple Quelle RDF Test Cases, W3C.
23- 2. RDF/XML
- RDF/XML wird von der W3C als Darstellungsform von
RDF empfohlen. Sie gilt hier als normative Syntax
für RDF. - Beispiel
-
-
http//www.example.org/index.html
http//www.example.org/terms/creation-date
August 16, 1999
24- Entspricht
-
- exindex.htm extermscreation-date August
16, 1999 . - in N Triple Notation.
-
- In XML/RDF
25- Beispiel 2 N-äre Relationen in RDF/XML
26- Beispiel 3 Blank nodes in RDF/XML
27Weitere RDF Features
- Container
- Mit Hilfe von RDF Container können Gruppen von
gleichartigen Dingen beschrieben werden. - z.B. eine Liste aller Teilnehmer einer
Veranstaltung, Buch mit mehreren Autoren. - Das RDF Vokabular umfasst 3 Typen von Containern
- rdf Bag
- rdf Seq
- rdf Alt
-
-
28- Ein Bag dient dazu eine Gruppe von Ressourcen zu
beschreiben, wobei die Reihenfolge der
Ressourcenbeschreibungen keine Rolle spielt. - Beispiel
29lt?xml version"1.0"?gt ltrdfRDF xmlnsrdf"http//w
ww.w3.org/1999/02/22-rdf-syntax-ns"
xmlnss"http//example.org/students/vocab"gt
ltrdfDescription rdfabout"http//example.org/cou
rses/6.001"gt ltsstudentsgt ltrdfBaggt
ltrdfli rdfresource"http//example.org/studen
ts/Amy"/gt ltrdfli rdfresource"http//example.o
rg/students/Mohamed"/gt ltrdfli
rdfresource"http//example.org/students/Johann"/
gt ltrdfli rdfresource"http//example.org/stud
ents/Maria"/gt ltrdfli rdfresource"http//examp
le.org/students/Phuong"/gt lt/rdfBaggt
lt/sstudentsgt lt/rdfDescriptiongt lt/rdfRDFgt
30- Sequence
- Eine Sequenz repräsentiert eine Menge von
Ressourcen, deren Reihenfolge signifikant ist. - lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/students/vocab"gt
- ltrdfDescription rdfabout"http//example.org/
courses/6.001"gt - ltsstudentsgt
- ltrdfSeqgt
- ltrdfli rdfresource"http//example.org/student
s/Amy"/gt - ltrdfli rdfresource"http//example.org/student
s/Johann"/gt - ltrdfli rdfresource"http//example.org/student
s/Maria"/gt - ltrdfli rdfresource"http//example.org/student
s/Mohamed"/gt - ltrdfli rdfresource"http//example.org/studen
ts/Phuong"/gt - lt/rdfSeqgt
- lt/sstudentsgt
31- Alternative
- Eine Alternative repräsentiert eine Menge von
Ressourcen, die eine Wahlmöglichkeit implizieren.
32- lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-r
df-syntax-ns" - xmlnss"http//example.org/packa
ges/vocab"gt - ltrdfDescription rdfabout"http//example.org/pa
ckages/X11"gt ltsDistributionSitegt - ltrdfAltgt
- ltrdfli rdfresource"ftp//ftp.example.org"/
gt - ltrdfli rdfresource"ftp//ftp1.example.org"
/gt - ltrdfli rdfresource"ftp//ftp2.example.org"
/gt - lt/rdfAltgt
- lt/sDistributionSitegt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
33Weitere RDF Features
- 2. RDF Collections
- Container bieten keine Möglichkeit eine
eindeutige Aussage über die Vollständigkeit zu
machen. Es wird nur angenommen, dass bestimmte
Ressourcen Teil des Containers sind, ohne jedoch
die Existenz weiterer Ressourcen, die auch Teil
des Containers sein können, auszuschließen. - RDF collections unterstützen die Beschreibung von
geschlossenen Gruppen. -
-
34- Beispiel The students in course 6.001 are Amy,
Mohamed and Johann.
35- Beispiel The students in course 6.001 are Amy,
Mohamed and Johann. - lt?xml version"1.0"?gt
- ltrdfRDF xmlnsrdf"http//www.w3.org/1999/02/22-
rdf-syntax-ns" xmlnss"http//example.org/stu
dents/vocab"gt ltrdfDescription
rdfabout"http//example.org/courses/6.001"gt - ltsstudents rdfparseType"Collection"gt
- ltrdfDescription rdfabout"http//example
.org/students/Amy"/gt - ltrdfDescription
rdfabout"http//example.org/students/Mohamed"/gt
- ltrdfDescription
rdfabout"http//example.org/students/Johann"/gt
- lt/sstudentsgt
- lt/rdfDescriptiongt
- lt/rdfRDFgt
36Weitere RDF Features
- Reification
- Manchmal ist es sinnvoll, eine Aussage selbst als
Ressource zu beschreiben Dies nennt man in RDF
Reification. Reification stellt also eine
Möglichkeit dar, Metadaten über Metadaten zu
beschreiben. -
-
37 38- lt?xml version"1.0"?gt
- lt!DOCTYPE rdfRDF lt!ENTITY xsd
"http//www.w3.org/2001/XMLSchema"gtgt ltrdfRDF
xmlnsrdf"http//www.w3.org/1999/02/22-rdf-syntax
-ns" xmlnsdc"http//purl.org/dc/elements/1.1/"
xmlnsexterms"http//www.example.com/terms/"
xmlbase"http//www.example.com/2002/04/products"
gt - ltrdfDescription rdfID"item10245"gt
- ltextermsweight rdfdatatype"xsddecimal"gt2.4
lt/extermsweightgt lt/rdfDescriptiongt - ltrdfStatement rdfabout"triple12345"gt
- ltrdfsubject
- rdfresource"http//www.examp
le.com/2002/04/productsitem10245"/gt
ltrdfpredicate rdfresource"http//www.example.c
om/terms/weight"/gt - ltrdfobject rdfdatatype"xsddecimal"gt2.4lt/rdf
objectgt - ltdccreator rdfresource"http//www.example.com
/staffid/85740"/gt - lt/rdfStatementgt
- ltrdfRDFgt
39RDF Schema
- RDF bietet mit RDF Schema als Typisierungssystem
ein eigenes erweitertes Vokabular, um Ressourcen
und deren Beziehungen auszudrücken. - Einer der wichtigsten Aspekte von RDF Schema ist
- die Beschreibung von Klassen, rdf class.
-
-
40- Beispiel Klassifizierung Motorisiertes
Fahrzeug
http//www.w3.org/TR/rdf-primer/example28