RDF (Resource Description Framework)

Resource Description Framework bedeutet so viel wie Rahmenwerk zur Beschreibung von Ressourcen. Mit Ressourcen sind vor allem Web-Inhalte gemeint. Das müssen keine vollständige Webseiten sein. Auch einzelne Bilder, Videos usw. sind Ressourcen. Eigentlich alles, was eine URL-Adresse hat.

RDF-Format ist ein vom W3-Konsortium entwickeltes Modell für Metadaten. Dieses Modell ist bewusst nicht an eine bestimmte Sprachimplementierung gekoppelt. Mit Hilfe geeigneter Sprachen oder Sprachkonstrukte lässt sich das Datenmodell in der Praxis umsetzen.

Das RDF-Modell besteht aus Ausdrücken, die ein ähnliches Schema haben wie ein Satz: Subjekt, Prädikat und Objekt. In der Informatik wird dies als Tripel bezeichnet. Beispiel: Die Website http://webkompetenz.wikidot.com/ hat eine Eigenschaft namens Autor, und diese hat die Ausprägung Stefan Münz. Dabei ist http://webkompetenz.wikidot.com/ der erste Teil des Tripels, Eigenschaft namens Autor haben der zweite Teil und Stefan Münz der dritte Teil.

Die bislang bekannteste Umsetzung von RDF ist diejenige in Form einer XML-Sprache. Diese wird ebenfalls RDF genannt, stellt aber in Wirklichkeit nur eine konkrete Implementierung von RDF dar. Die genauere Bezeichnung der Sprache lautet deshalb RDF/XML.

Nun sind sehr viele Eigenschaften denkbar, mit deren Hilfe sich Ressourcen beschreiben lassen. RDF selbst gibt keine solchen Eigenschaften vor. Stattdessen schreibt es vor, dass Eigenschaften in Form von URL-Adressen repräsentiert werden müssen (genauer: in Form von URIs, da auch URNs erlaubt sind). Das klingt zunächst befremdlich. Doch dadurch lassen sich gezielt Eigenschaften einbinden, die zu bestimmten, kontrollierten Beschreibungs-Vokabularien gehören. Das bekannteste Set solcher Beschreibungs-Vokabularien im Web ist das Metadaten-Set von Dublin-Core. Für die Dublin-Core-Eigenschaften gibt es ein URL-Adressierungsschema.

Das Dublin-Core Metadaten-Set

Eine internationale Gruppe von Experten, unter dem Namen Dublin Core Metadata Initiative (DCMI) vereint, hat ein allgemeines System für Meta-Angaben entwickelt. Damit lassen sich nicht nur Informationen über HTML-Dokumente beschreiben, sondern zum Beispiel auch Bilder, Filme, Termine und sogar physische Gegenstände. Das System ist einfach zu handhaben und berücksichtigt alle wichtigen Angaben.

Webadressen rund um Dublin-Core

Dublin Core definiert Eigenschaften, sogenannte Elemente, denen gewisse Werte zugeordnet werden können. Zusätzliche Unterelemente erlauben speziellere Meta-Angaben. Der Dublin-Core-Standard schlägt für einige Angaben außerdem passende Schemata vor, unter anderem für Medientypen, Sprachenkürzel und Datumsangaben.

RDF, Dublin-Core und HTML

Dublin Core liefert also ein anerkanntes Set von Eigenschaften zur Beschreibung von Inhalten, und RDF ein allgemeines Beschreibungsmodell für Metadaten. Beide zusammen arbeiten auch optimal zusammen. Denn Cublin-Core-Eigenschaften lassen sich in Form von URL-Adressen abbilden. Die URL-Adressen werden in den DCMI Metadata Terms mit dokumentiert.

So gibt es beispielsweise eine Dublin-Core-Eigenschaft namens created. Sie gibt an, wann ein Inhalt erstellt wurde. Diese Eigenschaft hat folgende URL-Adresse:
http://purl.org/dc/terms/created.

Eine andere Eigenschaft lautet isPartOf. Sie gibt an, zu welchem übergeordneten Werk ein Inhalt gehört. Diese Eigenschaft hat folgende URL-Adresse:
http://purl.org/dc/terms/isPartOf

Alle Eigenschaften-URLs haben die Adress-Basis http://purl.org/dc/terms/, gefolgt vom Namen der Eigenschaft.

Es handelt sich übrigens bei den Adressen tatsächlich um URLs, und nicht um URNs. Genauer gesagt um sogenannte PURLs (Permanent-URLs). Was das genau ist, wird auf http://purl.org/ beschrieben, also der Domain, unterhalb deren die Eigenschaften-URLs von Dublin-Core abgelegt sind. Alle Adressen führen zur gleichen Ressource, nämlich zu einem RDF/XML-Dokument, in dem alle Dublin-Core-Eigenschaften in RDF/XML-Form maschinenlesbar beschrieben sind.

Dublin-Core/RDF in HTML5

Die XML-Sprache RDF ist eine Lösung für XHTML, jedoch nicht für HTML. Für die Einbindung in HTML gibt es derzeit mehrere konkurrierende Ansätze. Das W3-Konsortium entwickelt unter http://www.w3.org/TR/rdfa-in-html/ einen Standard zur Einbindung von RDF in HTML5.
Bei allem Respekt vor der Arbeit des W3-Konsortiums ist es allerdings fraglich, ob sich das dort beschriebene Vokabular tatsächlich durchsetzen wird. Denn es gibt ein deutlich einfacheres Vokabular, das ebenfalls Teil von HTML5 ist. Allerdings nicht Teil des W3C-Standards, sondern Teil der WHATWG-Spezifikation von HTML5: nämlich die sogenannte Mikrodaten-Syntax, die in diesem Buch beschrieben wird (siehe Abschnitt über Mikrodaten).

Dublin-Core/RDF in XHTML

Für XHTML hat das W3-Konsortium bereits vor Jahren eine Lösung entwickelt, um RDF direkt einzubinden: RDFa (steht für: Resource Description Framework - in - attributes). Ursprünglich für das mittlerweile verworfene XHTML2.0 entwickelt, gibt es eine Implementierung für XHTML1.1. Dazu ein Beispiel:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
    "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" 
          xmlns:dc="http://purl.org/dc/elements/1.1/" version="XHTML+RDFa 1.0"
          xml:lang="en">
<head>
<title></title>
<meta property="dc:issued" content="2011-03-25" />
<meta property="dc:creator" content="Abraham Allewelt" />
</head>
<body>
<!-- viel Inhalt -->
</body>
</html>

Sie müssen dieses Beispiel an dieser Stelle nicht vollständig verstehen. Mit Hilfe einer speziellen DTD (http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtdccc) wird RDFa eingebunden. Im einleitenden <html>-Tag wird neben dem XHTML-Namensraum (http://www.w3.org/1999/xhtml) auch derjenige der RDF-Implementierung von Dublin-Core angegeben (http://purl.org/dc/elements/1.1/). Durch diese Kombination ist es erlaubt, in geeigneten Elementen, wie im Beispiel in den beiden meta-Elementen, ein Attribut wie property zu notieren, und diesem Attribut eine Dublin-Core-Eigenschaft, angeführt vom Präfix dc: zuzuweisen. Beim content-Attribut wird der Eigenschaft ein Wert zugewiesen.

Der betriebene Aufwand mag übertrieben erscheinen. Doch der so erzeugte XHTML-Code ist mit allem, was er einbindet, maschinenlesbar — in der Theorie zumindest. In der Praxis hat Code in dieser Form kaum Bedeutung. Auch deswegen, weil XHTML1.1, dessen Modularisierungskonzept die Grundlage für dieses Zusammenspiel zwischen RDF, Dublin-Core und XHTML ist, keine Verbreitung gefunden hat.

 


Korrekturen, Hinweise und Ergänzungen
Bitte scheut euch nicht und meldet, was auf dieser Seite sachlich falsch oder irreführend ist, was ergänzt werden sollte, was fehlt usw. Dazu bitte oben aus dem Menü Seite den Eintrag Diskutieren wählen. Es ist keine Anmeldung erforderlich, um Anmerkungen zu posten. Unpassende Postings, Spam usw. werden allerdings kommentarlos entfernt.