RDFa (або Resource Description Framework in Attributes[1]) — це рекомендація W3C, яка додає набір розширень на рівні атрибутів до HTML, XHTML та різних типів документів на основі XML для вбудовування розширених метаданих у вебдокументи. Відображення моделі даних RDF дозволяє використовувати його для вбудовування виразів суб'єкт-предикат-об'єкт RDF в документи XHTML. Це також дозволяє витягувати потрійні моделі RDF за допомогою сумісних користувацьких агентів.
RDFa — це набір елементів і атрибутів. Цей синтаксис відповідає моделі Resource Description Framework (RDF): дані, описані в RDFa, можна легко трансформувати в дані RDF. Таким чином, RDFa є технікою для реалізації семантичної мережі.
RDFa частково використовує існуючий синтаксис HTML:
атрибут class - використовується для визначення типу об'єкта
атрибут id - опосередковано, використовується для визначення URI об'єкта на сторінці
Атрибути rel, rev і href - вказують зв'язок з іншим ресурсом
RDFa додає власні елементи, атрибути:
about - URI, що вказує ресурс, описаний метаданими; за його відсутності – поточний документ;
property - визначення властивості для вмісту елемента;
content - необов'язковий атрибут, який замінює вміст елемента при використанні атрибута властивості.
datatype - необов'язковий атрибут, який визначає тип даних вмісту;
resource - необов'язковий атрибут, що вказує зовнішній ресурс, у мережі інтернет або посилання на книжку, який зазвичай не можна натискати. Він замінює @href і @src в елементах, які не визначені як посилання. Він також представляє призначення властивості (а не джерело, як у випадку з @about).
Історія
RDFa вперше був запропонований у вигляді нотатки W3C під назвою XHTML і RDF[2], яку потім було представлено групі інтересів семантичної павутини[3] на W3C 2004[4]. Пізніше того ж року робота стала частиною шостого загальнодоступного робочого проекту XHTML 2.0[5]. Хоча прийнято вважати, що спочатку RDFa був призначений лише для XHTML 2, але насправді метою RDFa завжди було надання способу додавання метаданих до будь-якої мови на основі XML. Справді, один із ранніх документів, що носять назву RDF/A Syntax, має підзаголовок «Колекція атрибутів для розшарування RDF на мовах XML»[6]. Документ був написаний Марком Бірбеком та Стівеном Пембертоном і був доступний для обговорення 11 жовтня 2004 року.
У квітні 2007 року робоча група XHTML 2 розробила модуль для підтримки анотацій RDF у сімействі XHTML 1[7]. Як приклад він включав розширену версію XHTML 1.1, що отримала назву XHTML + RDFa 1.0[en]. Хоча це і описується консорціумом W3C як таке, що не представляє передбачуваний напрямок у термінах формальної мови розмітки, обмежене використання XHTML + RDFa 1.0 DTD згодом все ж таки з'явилося в світовій павутині[8].
Жовтень 2007 року побачив перший загальнодоступний робочий проєкт документа під назвою «RDFa у XHTML: синтаксис та обробка»[9]. Це замінило та розширило квітневий проект; він містив правила для створення парсера RDFa, а також рекомендації для організацій, які бажають використовувати цю технологію на практиці.
У жовтні 2008 року RDFa 1.0 досягла статусу рекомендації[10].
У червні 2012 року RDFa 1.1 досягнула статусу рекомендації[11]. Вона відрізняється від RDFa 1.0 тим, що більше не покладається на специфічний для XML механізм простору імен. Отже, можна використовувати RDFa 1.1 з типами документів, відмінними від XML, такими як HTML 4 або HTML 5. Подробиці можна знайти у додатку до HTML 5[12].
Востаннє було оновлено додатковий документ RDFa 1.1 Primer 17 березня 2015 р. (Перший загальнодоступний робочий проект датований 10 березня 2006 р.)[13]
Версії та варіанти
Є декілька основних чітко визначених варіантів основних концепцій, які використовують як посилання та абревіатури до стандартів W3C.
HTML+RDFa
RDFa був визначений у 2008 році за допомогою рекомендації «RDFa у XHTML: синтаксис та обробка»[10]. Його першим застосуванням мав бути модуль XHTML.
HTML-додатки залишилися, «набір атрибутів і правил обробки для розширення XHTML для підтримки RDF», розширений до HTML5, тепер виражається в спеціалізованому стандарті «HTML+RDFa» (останній «HTML+RDFa 1.1 – Підтримка для RDFa в HTML4 і HTML5").
RDFa 1.0
Синтаксис «HTML+RDFa» 2008-го року також називався «RDFa 1.0», тому стандарту «RDFa Core 1.0» не існує. Загалом RDFa 1.0 2008-го року використовується зі старими стандартами XHTML (поки RDFa 1.1 використовується з XHTML5 і HTML5[14]).
RDFa 1.1
Це перший загальний (для HTML і XML) стандарт RDFa, тепер (2015) «RDFa Core 1.1» є у третьому виданні[15].
RDFa Lite
Є рекомендацією W3C (1.0 і 1.1) з 2009-го року[16] як «мінімальна підмножина RDFa, платформи опису ресурсів в атрибутах, що складається з кількох атрибутів, які можуть використовуватися для вираження машиночитаних даних у вебдокументах, таких як HTML , SVG і XML. Хоча це не повне рішення для просунутих завдань розмітки даних, воно справді підходить для більшості повсякденних потреб, і більшість вебавторів його можуть вивчити за день»[17].
У 2009 році W3C був позиціонований[18], щоб зберегти RDFa Lite як унікальну та остаточну стандартну альтернативу Microdata[19]. Позиція була підтверджена публікацією рекомендації HTML5 у 2014 році.
Незалежність видавця – кожен сайт може використовувати власні стандарти
Повторне використання даних – дані не дублюються. Для одного вмісту не потрібні окремі розділи XML і HTML.
Автономність – HTML і RDF розділені
Модульність схеми – атрибути можна використовувати повторно
Крім того, RDFa може бути корисним для вебдоступності, оскільки для допоміжних технологій доступна більше інформації[21].
Приклад коду RDFa
У цьому прикладі показано додавання метаданихDublin Core до HTML-сторінки. Основні властивості Dublin використовуються для опису книги або статті (назва, автор, тема тощо).
Крім того, RDFa дозволяє асоціювати уривки та слова в тексті із семантичною розміткою:
<divxmlns:dc="http://purl.org/dc/elements/1.1/"about="http://www.example.com/books/wikinomics">
In his latest book
<spanproperty="dc:title">Wikinomics</span>,
<spanproperty="dc:creator">Don Tapscott</span>
explains deep changes in technology,
demographics and business.
The book is due to be published in
<spanproperty="dc:date"content="2006-10-01">October 2006</span>.
</div>
Microdata — ще один підхід до вбудовування семантики в HTML за допомогою додаткових атрибутів
Мікроформати — метод кодування метаданих, розроблений для застосування в WWW з максимально можливим використанням вже існуючих засобів мов розмітки XHTML та HTML
GRDDL — спосіб витягнути (анотовані) дані з документів XHTML і XML і перетворити їх у графік RDF