RDFa

W3C Empfehlung zum Einbetten von RDF in HTML und weitere Dialekte

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 maschinenlesbaren Zusatzinformationen aufzuwerten[1][2]. 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[3] 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.[4]

RDFa 1.0

Bearbeiten

Im Oktober 2008 wurde RDFa 1.0 zur offiziellen W3C-Empfehlung.[5] 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.[6] 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
Hyperlink 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:

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

Die Angabe von vocab="http://schema.org/" in Zeile 1 bestimmt, dass alle RDF-Bezeichner im nachfolgenden Baum im Namensraum 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 der 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:

<div vocab="http://schema.org/" typeof="Product">
  <p>Kaufen Sie den
     <span property="name">Staubsauger XF704</span>
     jetzt im Sonderangebot!
     <img property="image" src="acmeXF704.jpg" />
  </p>
  <p prefix="dc: http://purl.org/dc/elements/1.1/" resource="acmeXF704.jpg">
     (Produktabbildung: Foto
<span property="dc:title">Sauberkeit</span>“ von
     <span property="dc:creator">Max Mustermann</span>,
     <span property="dc:rights">freigegeben zur weiteren Verwendung
     ohne Einschränkung</span>)
  </p>
</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 verwendeten im Februar 2012 12,7 % der untersuchten HTML-Seiten irgendeine Form strukturierter Auszeichnung:[1]

Format Enthalten in URLs
Mikroformate 49,77 %
RDFa 35,96 %
Microdata 14,26 %
in 188 Mio. URLs mit Microdaten

Im November 2013 hat sich die Verteilung deutlich zu Gunsten der Formate des W3C (RDFa und Microdata) verschoben, allerdings gibt es auch mehr Seiten, die mehrere Formate benutzen:[2]

Format Enthalten in URLs
RDFa 50,53 %
Microdata 47,17 %
Mikroformate 26,44 %
in 585 Mio. URLs mit Microdaten

Im November 2019 betrug der Anteil der HTML-Seiten mit strukturierten Annotationen bereits 38 %, wobei sich die Verteilung über die verschiedenen Formate deutlich verändert hat:[7]

Format Enthalten in URLs
Microdata 43,12 %
JSON-LD 23,70 %
Mikroformate 22,99 %
RDFa 10,19 %
in 935 Mio. URLs mit Microdaten

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.[8][9]
  • 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.

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 für 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.[10] 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.[11]

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. a b Web Data Commons Extraction Report - November 2013 Corpus. Web Data Commons, 1. November 2013, abgerufen am 28. April 2014.
  3. XHTML and RDF W3C Note 14 February 2004. World Wide Web Consortium, 14. Februar 2004, abgerufen am 23. Juni 2012.
  4. 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.
  5. 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.
  6. 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.
  7. Web Data Commons Extraction Report - November 2019 Corpus. Abgerufen am 4. Januar 2021.
  8. Dan Brickley: Using RDFa 1.1 Lite with Schema.org. 11. November 2011, abgerufen am 23. Juni 2012.
  9. What is Schema.org? schema.org.
  10. Tantek Çelik: The microformats process. 25. April 2012, abgerufen am 24. Juni 2012.
  11. Microdata to RDF: Background. World Wide Web Consortium, 12. Januar 2012, abgerufen am 23. Juni 2012.