RDFa

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

RDFa (für RDF in Attributes) ist eine W3C Empfehlung, die das Einbetten von RDF-Statements in HTML, XHTML und eine Reihe von XML-Dialekten ermöglicht. Gemeinsam mit Mikroformaten und Microdata zählt es zu den gebräuchlichsten Methoden, (X)HTML-Seiten mit computerlesbaren Zusatzinformationen aufzuwerten[1]. RDFa gehört zu den Technologien des Semantic Web.

Geschichte[Bearbeiten]

RDFa als Modul von XHTML[Bearbeiten]

Schon 2004 präsentierte Mark Birbeck in seiner Veröffentlichung XHTML and RDF[2] ein Konzept, das die Grundlage für RDFa bildet. (Die Bezeichnung RDFa taucht in diesem Dokument jedoch noch nicht auf.) 2007 fanden diese Ideen in den W3C-Entwurf XHTML RDFa Modules Eingang. [3]

RDFa 1.0[Bearbeiten]

Im Oktober 2008 wurde RDFa 1.0 zur offiziellen W3C-Empfehlung.[4] Aus seiner Entstehungsgeschichte heraus setzte es stark auf die bewährten Erweiterungsmechanismen der XML-Welt, insbesondere XML-Namensräume. Dies hatte zur Folge, dass RDFa 1.0 nur in XHTML funktionierte und mit klassischem HTML nicht kombinierbar war.

RDFa 1.1 und RDFa Lite[Bearbeiten]

Die aktuelle Version, RDFa 1.1, wurde im Juni 2012 in den Rang einer W3C-Empfehlung erhoben.[5] Der wesentliche Unterschied zu RDFa 1.0 besteht im Verzicht auf XML-spezifische Eigenheiten. RDFa kann nun gleichermaßen in XML-Dialekten (wie zum Beispiel Atom und SVG) als auch in HTML, insbesondere HTML 5, eingesetzt werden. Gleichzeitig mit RDFa 1.1 entstand RDFa Lite. RDFa Lite ist keine eigene Variante, sondern ein Subset von RDFa, das die Komplexität vor allem für Einsteiger erheblich reduziert.

Grundlagen[Bearbeiten]

Aus der Sicht von RDF ist RDFa eine von mehreren Möglichkeiten, RDF zu notieren. Im Gegensatz zu reinen RDF-Notationen wie RDF/XML oder Turtle bettet RDFa die RDF-Ausdrücke in eine bereits vorhandene Dokumenten-Auszeichnungssprache (wie HTML) ein. Informationen müssen somit nicht doppelt gepflegt und aktuell gehalten werden. Die für Menschen geschriebenen Informationen auf einer Web-Seite können mittels RDFa so ergänzt werden, dass auch Computerprogramme (z.B. Suchmaschinen) ihre semantische Bedeutung erfassen.

Aus der Sicht von HTML ist RDFa neben Mikroformaten und Microdata eine weitere Möglichkeit, den Inhalt einer Webseite zu strukturieren und für Maschinen verständlich zu machen. RDFa kann dabei auf eine große Menge erprobter Standard-Vokabulare zurückgreifen (FOAF, SKOS, Dublin Core, SIOC, schema.org), ermöglicht aber auch die Definition neuer Begriffe.

Um dies zu erreichen, ergänzt RDFa die sogenannten Gastsprachen im einfachsten Fall um folgende Attribute (Subset RDFa Lite):

  • vocab: legt einen Standard-Namensraum, also das benutzte Vokabular, fest (Ersatz für den XML-Namensraum-Mechanismus)
  • prefix: legt bei Bedarf mehrere weitere Namensräume mit ihren Prefixes fest (Ersatz für den XML-Namensraum-Mechanismus)
  • resource: kann Subjekt oder Objekt der RDF-Aussage bezeichnen
  • property: bestimmt das Prädikat der Aussage
  • typeof: bestimmt den Typ des Subjekts

Mit den oben angeführten Attributen lassen sich fast alle RDF-Ausdrücke modellieren. Zusätzlich kennt die vollständige RDFa-1.1-Spezifikation noch folgende Attribute für fortgeschrittene Anwendungsfälle:

  • about: wird in einzelnen Fällen statt resource zur Festlegung des Subjekts benötigt
  • content: gibt einen Inhalt an, der abweichend vom lesbaren Inhalt in der Gastsprache sein kann (z.B. formatierte Zeitangaben statt um fünf Uhr)
  • datatype: gibt einen eindeutigen Datentyp für einen Wert an
  • inlist: erzeugt RDF-Listenelemente
  • rel: bestimmt das Prädikat
  • rev: bestimmt das Prädikat (wenn das Subjekt in der Reihenfolge nach dem Objekt steht)

Schließlich werden folgende beiden HTML-Attribute von RDFa-Prozessoren nach fixen Regeln ausgewertet und sind Teil der erzeugten RDF-Aussagen:

  • src: Quelle einer Bilddatei, wird bei RDFa zum Objekt
  • href: Verweis auf eine andere Web-Adresse, wird bei RDFa zum Objekt

Beispiele[Bearbeiten]

Das folgende Beispiel verwendet das von großen Suchmaschinenbetreibern erstellte Vokabular von schema.org und die vereinfachte RDFa-Lite-Syntax:

  1. <div vocab="http://schema.org/" typeof="Product">
    
  2.   <p>Kaufen Sie den 
    
  3.      <span property="name">Staubsauger XF704</span> 
    
  4.      jetzt im Sonderangebot! 
    
  5.      <img property="image" src="acmeXF704.jpg" />
    
  6.   </p>
    
  7. </div>
    

Die Angabe von vocab="http://schema.org/" in Zeile 1 bestimmt, dass alle RDF-Bezeichner im nachfolgenden Baum im Namensraum http://schema.org/ zu finden sind. Das Attribut typeof="Product" gleich dahinter gibt an, dass im Folgenden über ein Subjekt vom Typ Produkt gesprochen wird und dass sich alle weiteren Angaben drauf beziehen. In Zeile 3 wird mit property="name" angegeben, dass nun Produktname folgt. property="image" in Zeile 5 verrät, dass es sich bei der nachfolgenden Bilddatei um die Produktabbildung handelt.

Das Beispiel kann erweitert werden:

  1. <div vocab="http://schema.org/" typeof="Product">
    
  2.   <p>Kaufen Sie den 
    
  3.      <span property="name">Staubsauger XF704</span> 
    
  4.      jetzt im Sonderangebot! 
    
  5.      <img property="image" src="acmeXF704.jpg" />
    
  6.   </p>
    
  7.   <p prefix="dc http://purl.org/dc/elements/1.1/" resource="acmeXF704.jpg">
    
  8.      (Produktabbildung: Foto 
    
  9. <span property="dc:title">Sauberkeit</span>“ von 
    
  10.      <span property="dc:creator">Max Mustermann</span>, 
    
  11.      <span property="dc:rights">freigegeben zur weiteren Verwendung 
    
  12.      ohne Einschränkung</span>
    
  13.   </p>  
    
  14. </div>
    

In der Zeile 7 wird ein neuer Namensraum, ein neues Vokabular eingebunden. Ebenfalls noch in Zeile 7 gibt resource="acmeXF704.jpg" an, dass sich die weiteren Angaben auf das Bild acmeXF704.jpg beziehen. property="dc:title", property="dc:creator" und property="dc:rights" in den Zeilen 9-11 geben schließlich mit den Ausdrücken des Dublin Core Vokabulars nähere Informationen zu Titel, Urheber und Verwertungsrechten dieses Bildes.

Verbreitung und praktische Anwendungen[Bearbeiten]

Laut WebDataCommons.org verwenden 13 % aller HTML-Seiten irgendeine Form strukturierter Auszeichnung. Davon sind 49,3 % Microformate, 14,4 % Microdata und 36,3 % RDFa.[1]

Bedeutende Beispiele für die praktische Anwendung sind:

  • schema.org ist eine gemeinsame Initiative von Suchmaschinen (Google, Yahoo!, Bing, Yandex), um ein Basisvokabular zur semantischen Anreicherung von Webseiten zu schaffen. Seit 11. November 2011 unterstützt schema.org offiziell auch RDFa.[6]
  • Google unterstützt RDFa bei seinen Rich Snippets.
  • Facebook verwendet RDFa beim Open Graph Protocol.
  • Drupal ist ein Content Management System (CMS), das seit Version 7 RDFa fest eingebaut hat.
  • Wordpress, ebenfalls ein CMS, unterstützt RDFa über Plugins.

Tools[Bearbeiten]

Alternativen[Bearbeiten]

Mikroformate[Bearbeiten]

Mikroformate verzichten auf neue Attribute und verwenden ausschließlich die bekannten HTML-Attribute class, rel und rev. Dadurch gibt es keine Probleme bei der Einbindung von Mikroformaten auch bei HTML-Editoren, die auf die Gültigkeit des Codes auf Basis einer bestimmten HTML-Version prüfen.

Verschiedene Mikroformate sind jeweils auf ein einzelnes Themengebiet beschränkt: Es gibt spezielle Mikroformate Rezepte, für Lebensläufe, für soziale Netzwerke und so weiter. Das vereinfacht die Anwendung, sofern es genau um diese Themen geht. Erweiterungen sind nicht jederzeit möglich, sondern müssen durch die Community abgesegnet werden.[7] Eine Verknüpfung der Daten im Sinne von Linked Data ist bei Mikroformaten nicht möglich.

Microdata[Bearbeiten]

Microdata entstand gemeinsam mit HTML 5. Die Spezifikation hat große Ähnlichkeit mit RDFa. Die tatsächlichen Unterschiede bestehen im Datenmodell, das den beiden Spezifikationen zugrunde liegt. RDFa ist mit dem ausdrücklichen Ziel entstanden, das vorhandene RDF-Konzept in (X)HTML umzusetzen. Dementsprechend gelingt auch das Mapping zwischen RDF und RDFa gut. Microdata entstand mit anderen Anforderungen. Der Austausch mit RDF-Quellen funktioniert nicht in jeder Konstellation eindeutig.[8]

Weblinks[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. a b Web Data Commons Extraction Report - February 2012 Corpus. Web Data Commons. 22. März 2012. Abgerufen am 24. Juni 2012.
  2. XHTML and RDF W3C Note 14 February 2004. World Wide Web Consortium. 14. Februar 2004. Abgerufen am 23. Juni 2012.
  3. XHTML RDFa Modules, Modules to support RDF annotation of elements, W3C Editor's Draft 2 April 2007. World Wide Web Consortium. 2. April 2007. Abgerufen am 23. Juni 2012.
  4. RDFa in XHTML: Syntax and Processing, A collection of attributes and processing rules for extending XHTML to support RDF, W3C Recommendation 14 October 2008. World Wide Web Consortium. 14. Oktober 2008. Abgerufen am 23. Juni 2012.
  5. RDFa Core 1.1, Syntax and processing rules for embedding RDF through attributes, W3C Recommendation 07 June 2012. World Wide Web Consortium. 7. Juni 2012. Abgerufen am 23. Juni 2012.
  6. Using RDFa 1.1 Lite with Schema.org. Dan Brickley. 11. November 2011. Abgerufen am 23. Juni 2012.
  7. The microformats process. Tantek Çelik. 25. April 2012. Abgerufen am 24. Juni 2012.
  8. Microdata to RDF: Background. World Wide Web Consortium. 12. Januar 2012. Abgerufen am 23. Juni 2012.