RDFa
RDFa (ang. Resource Description Framework in Attributes) – rozszerzenie języka znaczników HTML oraz XML umożliwiające osadzanie danych w formacie RDF bezpośrednio w atrybutach elementów dokumentu. RDFa jest jednym z kluczowych mechanizmów wykorzystywanych w Sieci semantycznej, pozwalającym na semantyczne opisanie treści stron internetowych w sposób zrozumiały zarówno dla ludzi, jak i dla maszyn.
Historia
Idea umieszczania danych semantycznych w atrybutach znaczników sięga lat 2000. Pierwsza wersja RDFa, oznaczona jako RDFa 1.0, została opublikowana przez W3C w 2008 roku jako rozszerzenie XHTML. W 2012 roku wydano RDFa 1.1, które ujednoliciło specyfikację dla HTML5, SVG oraz XHTML. Od tego czasu RDFa jest częścią standardów W3C i jest szeroko wspierane przez przeglądarki oraz narzędzia do przetwarzania danych.
Podstawowe pojęcia
- Triple (trójka) – podstawowy element modelu RDF składający się z podmiotu (subject), predykatu (predicate) i obiektu (object).
- Vocabularies (słowniki) – zestawy terminów (np. Schema.org, Dublin Core), które definiują predykaty używane w trójkach.
- Namespaces (przestrzenie nazw) – mechanizm umożliwiający rozróżnianie terminów pochodzących z różnych słowników.
Składnia RDFa
RDFa wykorzystuje specjalne atrybuty, które wprowadzają semantykę do istniejących elementów HTML/XML. Najważniejsze z nich to:
about– określa podmiot trójki.property– określa predykat.content– definiuje wartość obiektu (głównie dla danych tekstowych i liczbowych).typeof– określa typ (klasę) podmiotu, czyli typ ontologiczny.relirev– opisują relacje skierowane od bieżącego elementu do innego podmiotu.prefix– deklaruje skróty (prefiksy) dla przestrzeni nazw.
Przykład użycia w HTML
<div vocab="https://schema.org/" typeof="Person">
<span property="name">Anna Kowalska</span>
<span property="jobTitle">Specjalistka ds. marketingu</span>
<span property="telephone" content="+48-22-123-45-67">+48 22 123 45 67</span>
<a href="mailto:anna@example.com" property="email">anna@example.com</a>
</div>
W powyższym przykładzie element div opisuje osobę (typeof="Person") przy użyciu słownika Schema.org. Atrybuty property definiują predykaty, a ich wartości są odczytywane jako obiekty trójek RDF.
Zastosowania RDFa
RDFa jest wykorzystywane w wielu dziedzinach, m.in.:
- Publikowanie danych strukturalnych w danych otwartych i linked data.
- Ulepszanie wyników w wyszukiwarkach (SEO) poprzez dostarczanie maszynowo czytelnych opisów produktów, wydarzeń czy organizacji.
- Integracja z systemami CMS (np. WordPress, Drupal) i platformami e‑commerce.
- Budowanie aplikacji typu Semantic Web i knowledge graph.
RDFa a inne technologie
W środowisku webowym istnieją alternatywne rozwiązania do opisywania danych semantycznych:
- Microdata – podobny mechanizm, wprowadzony w specyfikacji HTML5, opierający się na atrybutach
itemscope,itemtypeiitemprop. - JSON‑LD – format oparty na JSON, przechowujący opis danych w osobnym skrypcie.
- Tradycyjne RDF/XML – zapis RDF w formacie XML.
RDFa wyróżnia się możliwością integracji semantyki bezpośrednio w istniejącym kodzie HTML/XML, co sprawia, że jest łatwy do wdrożenia w istniejących serwisach internetowych.
Wsparcie i narzędzia
Przeglądarki internetowe (np. Chrome, Firefox, Safari) rozumieją RDFa i udostępniają rozszerzenia oraz wtyczki (np. RDFaCE) umożliwiające podgląd i walidację danych.
Popularne biblioteki i frameworki do przetwarzania RDFa:
- Apache Jena – platforma Java do pracy z RDF.
- RDFLib – biblioteka Python.
- Redland – zestaw narzędzi w C.
Przyszłość RDFa
Rozwój Linked Data oraz rosnące zapotrzebowanie na interoperacyjność danych sprawiają, że RDFa pozostaje istotnym elementem ekosystemu semantycznego. Oczekuje się dalszej integracji z technologiami takimi jak Web Components oraz wzbogacanie standardów W3C o nowe słowniki i profile.
Literatura i zasoby
- World Wide Web Consortium – RDFa 1.1 – Concepts and Syntax, 2012.
- Markus Lanthaler, et al. – Embedded Metadata for the Web, 2009.
- Kurt Cagle – Semantic Web for the Working Ontologist, 2011.