Resource Description Framework
aus Wikipedia, der freien Enzyklopädie
Das Resource Description Framework (RDF, engl. (sinngemäß) „System zur Beschreibung von Bezugsquellen“) ist eine formale Sprache zur Bereitstellung von Metadaten im World Wide Web[1].
RDF wurde vom World Wide Web Consortium zusammen mit der Web Ontology Language als Grundstein für das Semantische Web entwickelt und ist frei verfügbar. Die Idee ist, Eigenschaften von Ressourcen im World Wide Web in einer maschinell verarbeitbaren Form zu beschreiben. Solche Beschreibungen können nach dem RDF-Modell als Graph oder nach der RDF-Syntax als XML-Hypertext vorliegen.
RDF wird erweitert durch das RDF-Schema, mit der komplexere Beziehungen zwischen Ressourcen beschrieben werden können.
Inhaltsverzeichnis |
[Bearbeiten] Grundlagen von RDF
Mit RDF können Informationen über Web-Seiten im World Wide Web zugänglich gemacht werden, die nicht auf der eigentlichen Webseite enthalten sind. Die Metadaten können dabei Informationen wie beispielsweise Titel, Name oder Copyright, enthalten. RDF besteht sowohl aus einem grafischen Modell zur Repräsentation der erzeugten Metadaten, wie auch aus einer XML-Syntax mit gleichem Ziel.
[Bearbeiten] RDF-Modell
Das eigentliche RDF-Modell besteht aus den drei Objekttypen: Ressourcen, Eigenschaftselementen und Objekten. Jeweils eine Ressource, eine Eigenschaft und ein Objekt bilden zusammen ein so genanntes RDF-Tripel. Durch die Kombination, bei der man auch von Subjekt, Prädikat und Objekt spricht, wird eine Aussage über ein bestimmtes Objekt innerhalb einer Domäne gemacht, was auch als ein so genanntes Statement bezeichnet wird. Daher ist ein RDF-Modell, welches eine beliebige Anzahl an Subjekten, Prädikaten und Objekten besitzt, immer eine Sammlung von Statements, wodurch der gewünschte Netzwerkeffekt entsteht.
Innerhalb von RDF-Dokumenten werden Tripel in einer einfachen Art und Weise dargestellt, so dass es sowohl für Computer als auch für Menschen möglich ist, diese zu lesen und zu verstehen. Allgemein dargestellt hat ein RDF-Tripel den folgenden Aufbau:
subjekt, prädikat, objekt
Im Folgenden werden die Bestandteile der RDF-Tripel näher erklärt:
- Ressourcen (Subjekte) sind alle Dinge, die durch RDF-Ausdrücke beschrieben werden. Dies können einzelne Web-Seiten, Sammlungen von Web-Seiten, aber auch Objekte, auf die nicht über das Web zugegriffen werden kann, wie z.B. Bücher, Gemälde oder Computer sein. Das Wichtige dabei ist, dass die Ressource eine eindeutige Bezeichnung, beispielsweise durch eine URI, erhält. In der grafischen RDF-Modellierung werden Ressourcen durch eine Ellipse symbolisiert. Jede Ressource wird durch ihre Eigenschaften beschrieben.
- Eigenschaftselemente (Prädikate) haben in der sprachlichen Grammatik die Aufgabe, etwas über das Subjekt zu erläutern. Beispielsweise sagt in dem Satz „die Firma verkauft Batterien“ das Prädikat aus, was die Firma – das Subjekt – und damit die Ressource – macht, nämlich verkaufen. Bezogen auf RDF gibt ein Eigenschaftselement Auskunft über die ihm zugeordnete Ressource. Des Weiteren stellt das Eigenschaftselement einen Bezug zum Objekt her, verbindet damit eine Ressource mit einem Objekt. Prädikate werden grafisch durch eine benannte Kante dargestellt, die eine Ressource und deren Wert miteinander verbindet.
- Objekte beschreiben den Wert eines Prädikats. Im obigen Beispielsatz ist das Objekt Batterien. Dieses wird durch das Eigenschaftselement näher erläutert. Es existieren mehrere Möglichkeiten zur Darstellung von Objekten. Literale sind dabei die einfachste Art, da sie lediglich einen Wert zugeordnet bekommen. Literale werden in der grafischen Modellierung als Rechtecke dargestellt. Ein Objekt kann neben einem Literal auch eine Ressource oder eine leere Ressource sein. Diese Möglichkeiten werden in der folgenden Aufzählung näher beschrieben:
- Ressourcen können auf weitere Ressourcen verweisen, beispielsweise um Redundanzen zu vermeiden.
- Leere Knoten werden verwendet, wenn eine bestimmte Ressource noch nicht existiert oder wenn eine Ressource keinen Namen hat.
- Literale enthalten Werte.
[Bearbeiten] Der RDF-Graph
Die RDF-Entwicklungsgruppe am W3C entschied sich dafür, den RDF-Graphen als Standardentwicklungsmethode zu verwenden, da ein RDF-Graph, wie im folgenden Beispiel gezeigt wird, sehr einfach für Menschen zu lesen ist. Die folgende Abbildung zeigt ein einfach modelliertes Tripel in der vorgestellten grafischen Syntax, welches man auch als gerichteten Graphen (Directed Graph) bezeichnet. 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“.
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.
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.
[Bearbeiten] 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.
[Bearbeiten] Abfrage von RDF-Graphen
Zur Suche in RDF-Daten gibt es verschiedene Abfragesprachen. Ein Vergleich von diversen RDF-Abfragesprachen zeigt, dass die Standardisierung hier noch nicht sehr weit fortgeschritten ist. Mit SPARQL (SPARQL Protocol and RDF Query Language), vorgeschlagen vom W3C (2006-02-22), scheint sich jedoch ein neuer Standard auf diesem Gebiet zu etablieren.
Ein 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}
Im folgenden Beispiel wird eine konkrete Abfrage gezeigt.
[Bearbeiten] 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>
Nun soll auf dem oben gezeigten Graphen eine Abfrage mit RDQL (RDF Data Query Language) durchgeführt werden, die herausfindet, wie der Titel einer vom Herausgeber „Wikipedia - Die freie Enzyklopädie“ definierten Ressource lautet.
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.
[Bearbeiten] 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.
Ganz konkret ermöglicht z.B. Inkscape das Einbetten von RDF in SVG-Bilder.
[Bearbeiten] 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.[2]. 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.[3] Der erste RDF-Standard wurde im August 1997 als Entwurf vorgelegt[4] und im Februar 1998 als Empfehlung veröffentlicht[5]. Jedoch wurde diese zur Überarbeitung zurückgezogen, die 2004 fertiggestellt wurde. Ab 1999 wurde mit der Entwicklung von RDF-Schema begonnen.[6]
[Bearbeiten] Quellen
- ↑ 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
- ↑ Meta Content Framework Using XML
- ↑ ongoing · The RDF.net Challenge
- ↑ RDF Model and Syntax
- ↑ http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/
- ↑ http://www.w3.org/TR/1999/PR-rdf-schema-19990303/
[Bearbeiten] Literatur
- Pascal Hitzler, Markus Krötzsch, Sebastian Rudolph, York Sure: Semantic Web. Grundlagen. Springer, 2008, ISBN 978-3-540-33993-9
- Shelley Powers: Practical RDF. O'Reilly, 2003, ISBN 978-0596002633
[Bearbeiten] Siehe auch
[Bearbeiten] Weblinks
- RDF Homepage beim W3C
- RDF Primer
- W3C RDF Validation Service
- Newsfeed des Laut-Musikmagazins (Beispiel für ein RDF/XML-Dokument)
- Turtle - Terse RDF Triple Language
- Rhodonite - ein RDF Editor und RDF Browser
- meta:RDF
- Implementing Creative Commons Metadata
- gesprochene Ausgabe verschiedener RDFs (Sprachsynthese, Ajax)
Empfehlungen (recommendations): Canonical XML | CDF | CGI | CSS | DOM | HTML | MathML | OWL | PLS | RDF | RDF-Schema | SISR | SMIL | SOAP | SRGS | SSML | SVG | SPARQL | Timed Text | VoiceXML | WSDL | XACML | XForms | XHTML | XML | XML Base | XML Events | XML Information Set | XML Schema | XML Signature | XPath | XPointer | XQuery | XSL Transformation | XSL-FO | XSL | XLink
Anmerkungen (notes): XHTML+SMIL | XAdES
Arbeitsentwürfe (working drafts): CCXML | CURIE | InkML | XFrames | XFDL | WICD | XHTML+MathML+SVG | XBL | HTML5