40
Resource Description Framework (RDF)

Resource Description Framework (RDF). Spezifikationen:

Embed Size (px)

Citation preview

Page 1: Resource Description Framework (RDF). Spezifikationen:

Resource Description Framework (RDF)

Page 2: Resource Description Framework (RDF). Spezifikationen:

• Spezifikationen:

http://www.w3.org/RDF/#specs

Page 3: Resource Description Framework (RDF). Spezifikationen:

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)

Page 4: Resource Description Framework (RDF). Spezifikationen:

RDF - 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.

Page 5: Resource Description Framework (RDF). Spezifikationen:

RDF - 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.

Page 6: Resource Description Framework (RDF). Spezifikationen:

RDF 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 Aussageeiner 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.

Page 7: Resource Description Framework (RDF). Spezifikationen:

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 APredicate A

Object BPredicate B

Page 8: Resource Description Framework (RDF). Spezifikationen:

• 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.

Page 9: Resource Description Framework (RDF). Spezifikationen:

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.

Page 10: Resource Description Framework (RDF). Spezifikationen:

Modellierung: RDF Graph

Beispiel

Quelle (diese u. folgende): RDF Primer, W3C.

Page 11: Resource Description Framework (RDF). Spezifikationen:

• Triple-Notation:

• URIs werden in spitze Klammern (<…>) gesetzt, Literals in Anführungszeichen (“…“).

Page 12: Resource Description Framework (RDF). Spezifikationen:

• 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.

Page 13: Resource Description Framework (RDF). Spezifikationen:

Knoten in einem RDF Graph können auch leer sein: sie werden als blank nodes bezeichnet.

Page 14: Resource Description Framework (RDF). Spezifikationen:

• Die notierte Form sieht dann so aus:

Zusammenfassung Notationskonventionen:

Literals: „ ………….“

URI: < ……………. >

QN: ……. : ……

BNode: …. _: …..

Page 15: Resource Description Framework (RDF). Spezifikationen:

Wozu blank nodes?

exstaff:85740 exterms:address „1501 Grant Avenue, Bedford, Massachusettes,

01730“.

Quelle: RDF Primer, W3C.

Page 16: Resource Description Framework (RDF). Spezifikationen:

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.

Page 17: Resource Description Framework (RDF). Spezifikationen:

• 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.

Page 18: Resource Description Framework (RDF). Spezifikationen:

• 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 exterms:mailbox <mailto:[email protected]> .

_:jane rdf:type exterms:Person .

_:jane exterms:name "Jane Smith" .

_:jane exterms:empID "23748" .

_:jane exterms:age "26" .

Quelle: RDF Primer, W3C.

Page 19: Resource Description Framework (RDF). Spezifikationen:

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.htm#section1

URI SchemaURI Referenz

fragment identifier

Page 20: Resource Description Framework (RDF). Spezifikationen:

• 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.

Page 21: Resource Description Framework (RDF). Spezifikationen:

• Das „Identifikationsmerkmal“ wirkt sich auch in folgendem Beispiel aus:

http://www.example.org/index.htmhttp://www.example.org/index.htm#section1http://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.

Page 22: Resource Description Framework (RDF). Spezifikationen:

Standardnotationen für RDF

1. 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.

Page 23: Resource Description Framework (RDF). Spezifikationen:

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

August 16, 1999

http://www.example.org/terms/creation-date

Page 24: Resource Description Framework (RDF). Spezifikationen:

• Entspricht:

ex:index.htm exterms:creation-date „August 16, 1999“ .

in N Triple Notation.

• In XML/RDF:

Page 25: Resource Description Framework (RDF). Spezifikationen:

• Beispiel 2: N-äre Relationen in RDF/XML

Page 26: Resource Description Framework (RDF). Spezifikationen:

• Beispiel 3: Blank nodes in RDF/XML

Page 27: Resource Description Framework (RDF). Spezifikationen:

Weitere RDF Features

1. 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 : Bagrdf : Seqrdf : Alt

Page 28: Resource Description Framework (RDF). Spezifikationen:

• Ein Bag dient dazu eine Gruppe von Ressourcen zu beschreiben, wobei die Reihenfolge der Ressourcenbeschreibungen keine Rolle spielt.

• Beispiel

Page 29: Resource Description Framework (RDF). Spezifikationen:

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.org/students/vocab#">

<rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students> <rdf:Bag>

<rdf:li rdf:resource="http://example.org/students/Amy"/><rdf:li rdf:resource="http://example.org/students/Mohamed"/>

<rdf:li rdf:resource="http://example.org/students/Johann"/> <rdf:li rdf:resource="http://example.org/students/Maria"/><rdf:li rdf:resource="http://example.org/students/Phuong"/>

</rdf:Bag> </s:students> </rdf:Description> </rdf:RDF>

Page 30: Resource Description Framework (RDF). Spezifikationen:

• SequenceEine Sequenz repräsentiert eine Menge von Ressourcen, deren Reihenfolge signifikant ist.

<?xml version="1.0"?><rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.org/students/vocab#">

<rdf:Description rdf:about="http://example.org/courses/6.001"> <s:students>

<rdf:Seq> <rdf:li rdf:resource="http://example.org/students/Amy"/><rdf:li rdf:resource="http://example.org/students/Johann"/> <rdf:li rdf:resource="http://example.org/students/Maria"/><rdf:li rdf:resource="http://example.org/students/Mohamed"/>

<rdf:li rdf:resource="http://example.org/students/Phuong"/> </rdf:Seq> </s:students> </rdf:Description> </rdf:RDF>

Page 31: Resource Description Framework (RDF). Spezifikationen:

• Alternative

Eine Alternative repräsentiert eine Menge von Ressourcen, die eine Wahlmöglichkeit implizieren.

Page 32: Resource Description Framework (RDF). Spezifikationen:

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns:s="http://example.org/packages/vocab#">

<rdf:Description rdf:about="http://example.org/packages/X11"> <s:DistributionSite>

<rdf:Alt>

<rdf:li rdf:resource="ftp://ftp.example.org"/>

<rdf:li rdf:resource="ftp://ftp1.example.org"/>

<rdf:li rdf:resource="ftp://ftp2.example.org"/>

</rdf:Alt>

</s:DistributionSite>

</rdf:Description>

</rdf:RDF>

Page 33: Resource Description Framework (RDF). Spezifikationen:

Weitere 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.

Page 34: Resource Description Framework (RDF). Spezifikationen:

• Beispiel: „The students in course 6.001 are Amy, Mohamed and Johann.“

Page 35: Resource Description Framework (RDF). Spezifikationen:

• Beispiel: „The students in course 6.001 are Amy, Mohamed and Johann.“

<?xml version="1.0"?>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:s="http://example.org/students/vocab#">

<rdf:Description rdf:about="http://example.org/courses/6.001">

<s:students rdf:parseType="Collection">

<rdf:Description rdf:about="http://example.org/students/Amy"/>

<rdf:Description rdf:about="http://example.org/students/Mohamed"/>

<rdf:Description rdf:about="http://example.org/students/Johann"/>

</s:students>

</rdf:Description>

</rdf:RDF>

Page 36: Resource Description Framework (RDF). Spezifikationen:

Weitere RDF Features

3. 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.

Page 37: Resource Description Framework (RDF). Spezifikationen:

• Beispiel:

Page 38: Resource Description Framework (RDF). Spezifikationen:

<?xml version="1.0"?> <!DOCTYPE rdf:RDF [<!ENTITY xsd "http://www.w3.org/2001/XMLSchema#">]>

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:exterms="http://www.example.com/terms/" xml:base="http://www.example.com/2002/04/products"> <rdf:Description rdf:ID="item10245">

<exterms:weight rdf:datatype="&xsd;decimal">2.4</exterms:weight> </rdf:Description> <rdf:Statement rdf:about="#triple12345">

<rdf:subject rdf:resource="http://www.example.com/2002/04/products#item10245"/>

<rdf:predicate rdf:resource="http://www.example.com/terms/weight"/> <rdf:object rdf:datatype="&xsd;decimal">2.4</rdf:object> <dc:creator rdf:resource="http://www.example.com/staffid/85740"/>

</rdf:Statement> <rdf:RDF>

Page 39: Resource Description Framework (RDF). Spezifikationen:

RDF 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.

Page 40: Resource Description Framework (RDF). Spezifikationen:

• Beispiel: Klassifizierung „Motorisiertes Fahrzeug“

http://www.w3.org/TR/rdf-primer/#example28