Resource Description Framework

Resource Description Framework

Das Resource Description Framework (RDF, engl. (sinngemäß) „System zur Beschreibung von Ressourcen“) bezeichnet eine Familie von Standards des World Wide Web Consortiums (W3C) zur formalen Beschreibung von Informationen über Objekte, sogenannte Ressourcen, die durch eindeutige Bezeichner (URIs) identifiziert werden.[1] Es ist ursprünglich als Datenmodell zur Beschreibung von Metadaten im World Wide Web (WWW, Web), wie z. B. Titel, Autor, Copyright einer Webseite, entwickelt worden. Durch eine Ausdehnung des Begriffs „Ressource“ aus dem ursprünglichen WWW-Kontext heraus auf jegliche durch URIs identifizierbaren Entitäten wird RDF heutzutage für eine Reihe von unterschiedlichen Anwendungen eingesetzt, z. B. für Katalogdienste, Aggregatoren für Nachrichten und Feeds oder zur allgemeinen Wissensrepräsentation.

RDF ist eine Kernkomponente des Semantischen Webs, einer Initiative des W3C mit dem Ziel, die Prinzipien des World Wide Web (Verknüpfung, Offenheit, Heterogenität) von Dokumenten auf allgemeine Daten zu übertragen. Durch die formale Repräsentation in RDF sind Informationen von Maschinen auswertbar. Dadurch sind sie maschinell durchsuchbar (z. B. mithilfe der Anfragesprache SPARQL) und implizit vorhandene Informationen können durch den Einsatz von genaueren Spezifikationen des modellierten Bereichs, z. B. mithilfe von RDF-Schema (RDFS) oder der Web Ontology Language (OWL), maschinell erschlossen werden, obwohl die Information nicht explizit vorliegt.

RDF bietet ein einfaches Datenmodell mit einer wohldefinierten formalen Semantik, das RDF-Modell, welches auf gerichteten Graphen basiert. Daten in RDF sind (wahre) Aussagen über Ressourcen. Diese Aussagen werden dabei als Tripel modelliert, also als eine Sequenz aus 3 Elementen, dem sogenannten Subjekt (die Ressource, über die eine Aussage getroffen wird), dem Prädikat (eine Eigenschaft des Subjekts) und dem Objekt (das Argument des Prädikats). Die Menge der Tripel bilden einen Graphen.

Von dem Datenmodell sind die möglichen Repräsentationsformate für RDF-Daten zu unterscheiden. RDF-Daten können in dem vom W3C spezifizierten XML-Format RDF/XML serialisiert werden, welches häufig verkürzend und irreleitend auch einfach nur als „RDF“ bezeichnet wird. Sie können ebenso in für Menschen lesbareren Formaten wie Notation 3 (auch N3 oder RDF/N3) repräsentiert werden. RDF-Graphen können auch in speziellen Datenbanken, den sogenannten Triplestores gespeichert werden. Damit lassen sich auch große RDF-Graphen verwalten, durch spezielle Anfragesprachen wie SPARQL durchsuchen und über entsprechende Softwareschnittstellen in Anwendungen nutzen.

Inhaltsverzeichnis

RDF-Modell

Ein grundlegender Begriff in RDF ist die Ressource. Alles, was durch einen eindeutigen Bezeichner im URI-Format benannt wird, ist eine Ressource. Eine Ressource kann eine Webseite sein, die durch eine URL (eine Unterart der URI) identifiziert wird. Zum Beispiel identifiziert die URI http://de.wikipedia.org/wiki/Resource_Description_Framework eine Ressource, nämlich die Webseite zu diesem Artikel. Die Ressource, die durch eine URI benannt wird, muss aber nicht zwangsläufig im Web erreichbar sein. So können E-Mail-Accounts (z.B. mit mailto:123@example.com), Bücher (z.B. mit urn:isbn:978-3898530194) und generelle Konzepte (z.B. mit http://www.example.org/terms/creation-date zur Bezeichnung eines Erzeugungsdatums) mit URIs identifiziert werden. Neben durch URIs identifizierten Ressourcen gibt es auch unbenannte Ressourcen, sogenannte leere Knoten, auf die später genauer eingegangen wird.

Die zugrundeliegende Struktur eines jeden RDF-Ausdrucks ist eine Sammlung von Tripeln, der RDF-Tripel, wobei jedes aus einem „Subjekt“, einem „Prädikat“ (oder „Eigenschaft“) und einem „Objekt“ (oder „Eigenschaftswert“) besteht. Eine Menge solcher RDF-Tripel ist ein RDF-Graph.[2] Ein Tripel ist eine Aussage, die eine Beziehung zwischen dem Subjekt und dem Objekt beschreibt. Diese Beziehung ist gerichtet, nämlich vom Subjekt zum Objekt, und mit dem Prädikat benannt. Ein Prädikat stellt also eine binäre Relation dar.

Subjekt und Prädikat sind immer Ressourcen. Das Objekt kann entweder eine Ressource oder ein Literal sein. Literale sind dabei Zeichenketten, die unter Umständen noch anhand eines angegebenen Datentyps interpretiert werden. Auf diese Weise lassen sich Wahrheitswerte (z. B. true und false), Zahlen (z. B. 42 oder 0x2A) oder Datumsangaben (z. B. 2009-02-01-21:00) spezifizieren. Literale können nicht als Subjekt oder Prädikat verwendet werden.

Im Folgenden wird ein RDF-Tripel anhand eines Beispiels näher erläutert: Der Satz „Firma ACME verkauft Batterien“ kann wie in der Schulgrammatik analysiert werden und auf die Modellierung mittels RDF übertragen werden: die Firma ACME ist das Subjekt, verkaufen ist das Prädikat und Batterien das Objekt. Wie oben gesagt, stellt die Firma ACME eine Ressource dar, die typischerweise durch eine URI identifiziert werden würde. Das verkaufen stellt dabei das Prädikat in einem RDF-Tripel dar. Es sind grundsätzlich beliebig viele dieser Prädikate denkbar, wobei sich die Bedeutungen nur unmaßgeblich unterscheiden können. So würde statt verkaufen auch anbieten ein sinnvolles Prädikat sein. Die Interpretation eines Prädikats beruht auf Konventionen. RDF selbst legt nur eine kleine Anzahl von Prädikaten, z. B. zur Bestimmung eines Typs einer Ressource, fest. Darauf aufbauend gibt es viele weitere Standards, die ein Vokabular mit einer bestimmten Bedeutung festlegen.

RDF-Tripel werden üblicherweise in der Reihenfolge Subjekt, Prädikat, Objekt notiert. Der RDF-Graph kann auch grafisch veranschaulicht werden. Dabei werden Ressourcen, die Subjekt oder Objekt eines Tripels sind, durch Ellipsen und Literale durch Rechtecke symbolisiert. Die Verbindung zwischen einem Subjekt und einem Objekt wird durch eine gerichtete Kante, die mit dem Prädikat beschriftet ist, dargestellt. Die folgende Abbildung zeigt ein einfach modelliertes Tripel in der vorgestellten grafischen Konvention. Folgende Grafik wurde mit dem W3C RDF Validator aus dem weiter unten angegebenen Beispiel erzeugt. Dargestellt sind zwei Tripel mit demselben Subjekt „http://de.wikipedia.org/wiki/Resource_Description_Framework“.

Servlet 164433.png

Der RDF-Graph in der obigen Abbildung sagt aus, dass die Ressource – in diesem Fall der vorliegende Artikel – einen Titel namens „Resource Description Framework“ hat und einen Publisher, die Wikipedia. Zur Modellierung des Objektes wird ein Literal verwendet. Dabei muss beachtet werden, dass in einem RDF-Netz die Wikipedia wiederum als Ressource dargestellt werden kann, die auch noch (sehr) viele andere Statements hat.

Die Besonderheit des RDF-Modells liegt zum einen darin, dass über die als Prädikat verwendeten Ressourcen (Properties) auch wiederum Aussagen getroffen werden können. Dadurch lassen sich Properties selbst mit RDF beschreiben und als Metadatenformat ablegen. Andere RDF-Angaben können diese Vokabulare durch Referenzierung weiterverwenden. Ein prominentes Beispiel dafür ist die Repräsentation von Dublin Core in RDF.

Zum anderen bilden RDF Statements selbst Ressourcen, auf die mit weiteren Statements verwiesen werden kann. Diese Technik der Aussagen über Aussagen wird als Reification bezeichnet. Somit könnte man beispielsweise die Prädikate verkaufen und anbieten aus dem oberen Beispiel wiederum als Ressourcen betrachten und eine Synonym-Beziehung ist_gleichbedeutend_mit aufstellen, wobei jeweils ein Prädikat das Subjekt und das andere das Objekt ist. Dadurch ist es möglich, eine Anfrage „Wer verkauft was?“ auch dann zu beantworten, wenn lediglich das Tripel „X bietet_an Y“ bekannt ist, denn über den Umweg des Tripels „verkaufen ist_gleichbedeutend_mit anbieten“ kann der Computer (bzw. ein Inferenzsystem) dies schlussfolgern.

Zusätzlich enthält RDF vordefinierte Datentypen für Listen und Mengen, um Gruppen von Ressourcen zusammenzufassen. Ressourcen, die keinen expliziten URI haben, sondern nur zur Gruppierung von anderen Objekten dienen, werden in der Regel durch so genannte „blank nodes“ modelliert. Ein Beispiel dafür ist die Zuweisung eines Namens, der aus separaten Zeichenketten für Vor- und Nachnamen besteht.

RDF-Syntax

Das RDF-Modell (der RDF-Graph) ist unabhängig von einer speziellen Darstellungsform. Am verbreitetsten ist die Repräsentation in XML. Eine kürzere Syntax ist die von Tim Berners-Lee entworfene Notation 3 (N3). Für die Speicherung von RDF in Datenbanken und Datenstrukturen gibt es verschiedene Konzepte, da ein reines Ablegen der N-Tripel in einer Tabelle nicht sehr effizient ist.

Abfrage von RDF-Graphen

Zur Suche in RDF-Daten gibt es verschiedene Abfragesprachen. Im Januar 2008 hat das W3C SPARQL als W3C Recommendation verabschiedet und damit quasi zum Standard für RDF Anfragesprachen gemacht. Für SPARQL gibt es bereits viele Implementierungen.

Im folgenden Beispiel wird eine konkrete Abfrage gezeigt.

Beispiel

Nehmen wir zur Erläuterung die folgende Aussage über diesen Artikel (wobei Titel und Herausgeber nach Dublin Core definiert sind): ‚http://de.wikipedia.org/wiki/Resource_Description_Framework‘ hat den Titel ‚Resource Description Framework‘ und den Herausgeber ‚Wikipedia – Die freie Enzyklopädie‘.

Diese Aussage wird in RDF mit zwei Tripeln ausgedrückt. In N3 (das has dient hier nur der besseren Lesbarkeit):

<http://de.wikipedia.org/wiki/Resource_Description_Framework> has <http://purl.org/dc/elements/1.1/title> "Resource Description Framework" .
<http://de.wikipedia.org/wiki/Resource_Description_Framework> has <http://purl.org/dc/elements/1.1/publisher> "Wikipedia - Die freie Enzyklopädie" .

In RDF/XML lässt sich die Aussage so ausdrücken:

<?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/1.1/">
  <rdf:Description rdf:about="http://de.wikipedia.org/wiki/Resource_Description_Framework">
    <dc:title>Resource Description Framework</dc:title>
    <dc:publisher>Wikipedia - Die freie Enzyklopädie</dc:publisher>
  </rdf:Description>
</rdf:RDF>

Eine Anfrage, die herausfindet, wie der Titel einer vom Herausgeber „Wikipedia – Die freie Enzyklopädie“ definierten Ressource lautet, würde in SPARQL wie folgt aussehen:

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?title
 WHERE{
 ?res dc:publisher ?pub .
 ?res dc:title ?title
 
 FILTER (
  sameTerm(?pub, "Wikipedia - Die freie Enzyklopädie")
 )
 }

Ein anderer, inzwischen veralteter, Vertreter einer RDF-Abfragesprache – welcher auch im Jena Framework verfügbar ist – ist die RDF Query Language (RDQL), welche der Form nach stark an SQL erinnert. Die prinzipielle Syntax ist:

SELECT {Liste von Variablen}
WHERE {Vergleichsmuster zum Graphen}
AND {FILTER}
USING {Namespace-Mappings}

Nun soll auf dem oben gezeigten Graphen eine Abfrage mit RDQL (RDF Data Query Language) durchgeführt werden:

 SELECT
  ?title
 
 WHERE
  (?res, <dc:publisher>, ?pub),
  (?res, <dc:title>, ?title)
 
 AND
  ?pub eq 'Wikipedia - Die freie Enzyklopädie'
 
 USING
   rdf FOR <http://www.w3.org/1999/02/22-rdf-syntax-ns#>,
   dc FOR <http://purl.org/dc/elements/1.1/>


Im WHERE-Teil werden die Aussagen gematcht, die Herausgeber bzw. Titel-Eigenschaften besitzen. Im AND-Teil werden dann noch die Knoten herausgefiltert, deren Herausgeber-Wert eben das Literal Wikipedia – Die freie Enzyklopädie hat. Das Ergebnis ist eine Tabelle mit genau einem Eintrag (Bindung der Variable ?title) mit dem Wert Resource Description Framework.

Anwendung

RDF ist unter anderem eine Möglichkeit, Informationen über Dokumente im World Wide Web und andere Ressourcen zu repräsentieren. Diese Angaben über andere Informationen bezeichnet man als Metadaten. Dazu gehören beispielsweise Titel, Autor, Änderungsdatum und Lizenzinformationen oder die Verfügbarkeit eines Dokumentes.

Zum Beispiel erlaubt Inkscape das Einbetten von RDF in SVG-Bilder.

Geschichte

Als Vorläufer von RDF kann das Meta Content Framework (MCF) in XML gelten, eine Sprache, die 1995–1997 von Ramanathan V. Guha entwickelt und nach seinem Wechsel zu Netscape im Juni 1997 beim W3C eingereicht wurde.[3] Im Rahmen der Browserkriege war MCF auch eine Reaktion auf das Channel Definition Format von Microsoft. Anstatt MCF den Vorzug zu geben, entschloss man sich beim W3C eine allgemeine Sprache zur Formulierung von Metadaten zu entwickeln, die den Namen RDF tragen sollte.[4] Der erste RDF-Standard wurde im August 1997 als Entwurf vorgelegt[5] und im Februar 1999 als Empfehlung veröffentlicht.[6] Ab 1999 wurde mit der Entwicklung von RDF-Schema begonnen.[7]

Quellen

  1. vgl. W3C RDF Activities – RDF – Resource Description Framework: RDF is a language for presenting information to the World Wide Web. Ausgewertet am 11. Mai 2006
  2. vgl. Resource Description Framework (RDF): Concepts and Abstract Syntax: The underlying structure of any expression in RDF is a collection of triples, each consisting of a subject, a predicate and an object. A set of such triples is called an RDF graph[...] Ausgewertet am 1. Februar 2009
  3. Meta Content Framework Using XML
  4. ongoing · The RDF.net Challenge
  5. RDF Model and Syntax
  6. http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
  7. http://www.w3.org/TR/1999/PR-rdf-schema-19990303/

Literatur

Siehe auch

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Resource Description Framework — (RDF) Desarrollador World Wide Web Consortium Información general Extensión de archivo .rdf Tipo …   Wikipedia Español

  • Resource Description Framework — (RDF, «среда описания ресурса»[1]) это разработанная консорциумом Всемирной паутины модель для представления данных, в особенности метаданных[2]. RDF представляет утверждения о ресурсах в виде, пригодном для машинной обработки. RDF является… …   Википедия

  • Resource Description Framework — Resource Description Framework,   RDF …   Universal-Lexikon

  • Resource Description Framework — Infobox file format name = Resource Description Framework icon = logo = extension = .rdf mime = application/rdf+xml type code = uniform type = magic = owner = [http://www.w3.org/ World Wide Web Consortium] genre = semantic web container for =… …   Wikipedia

  • Resource Description Framework — Pour les articles homonymes, voir RDF. Resource Description Framework Extension .rdf Type MIME application/rdf+xml Développé par World Wide …   Wikipédia en Français

  • Resource Description Framework Schema — Das Resource Description Framework Schema (RDFS) ist wie RDF eine W3C Empfehlung. Ebenso wie XML im konkreten Anwendungsfall die Definition eines speziellen Dokumenttyps benötigt, z. B. als Dokumenttypdefinition (DTD), legt das RDF Modell nur… …   Deutsch Wikipedia

  • Ressource Description Framework — Das Resource Description Framework (RDF, engl. (sinngemäß) „System zur Beschreibung von Ressourcen“) bezeichnet eine Familie von Standards des World Wide Web Consortiums (W3C) zur formalen Beschreibung von Informationen über Objekte, sogenannte… …   Deutsch Wikipedia

  • Resource (Web) — The concept of Resource is primitive in the Web architecture, and is used in the definition of its fundamental elements. The term was first introduced to refer to targets of Uniform Resource Locators (URLs), but its definition has been further… …   Wikipedia

  • Cadre de description de ressources — Resource Description Framework Pour les articles homonymes, voir RDF. Resource Description Framework Extension de fichier .rdf Type MIME application/rdf+xml Développé par …   Wikipédia en Français

  • Meta Content Framework — Das Resource Description Framework (RDF, engl. (sinngemäß) „System zur Beschreibung von Ressourcen“) bezeichnet eine Familie von Standards des World Wide Web Consortiums (W3C) zur formalen Beschreibung von Informationen über Objekte, sogenannte… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”