Документация RDF для универсальной микроразметки текстов для микропоиска

Синтаксис и правила обработки для встраивания RDF через атрибуты Рекомендация W3C от 17 марта 2015 года

RDFa Core 1.1 — Третье издание

Синтаксис и правила обработки для встраивания RDF через атрибуты
Рекомендация W3C от 17 марта 2015 года

Актуальная версия:
http://www.w3.org/TR/2015/REC-rdfa-core-20150317/

Последняя опубликованная версия:
http://www.w3.org/TR/rdfa-core/

Отчёт о внедрении:
http://www.w3.org/2010/02/rdfa/wiki/CR-ImplementationReport

Предыдущая версия:
http://www.w3.org/TR/2014/PER-rdfa-core-20141216/

Предыдущая рекомендация:
http://www.w3.org/TR/2013/REC-rdfa-core-20130822/

Редакторы:

Английская версия данной спецификации является единственной нормативной. Неофициальные переводы могут быть доступны.

Авторские права: © 2007–2015 W3C® (MIT, ERCIM, Кейо, Бэйхан). Применяются правила W3C об ответственности, товарных знаках и использовании документов.


Аннотация

Современный Интернет в основном состоит из огромного количества документов, созданных с использованием HTML. Эти документы содержат значительный объём структурированных данных, которые в большинстве случаев недоступны для инструментов и приложений. Если издатели смогут выражать эти данные более полно, а инструменты — считывать их, откроются новые возможности для пользователей: структурированные данные можно будет передавать между приложениями и веб-сайтами, а браузеры смогут улучшить пользовательский опыт. Например:

  • событие на веб-странице можно будет напрямую импортировать в настольный календарь;
  • лицензию на документ можно будет автоматически определить, чтобы информировать пользователей об их правах;
  • информацию о создателе фотографии, настройках камеры, разрешении, местоположении и теме можно будет публиковать так же легко, как и саму фотографию, что позволит осуществлять структурированный поиск и обмен.

RDFa Core — это спецификация атрибутов для выражения структурированных данных в любом языке разметки. Встроенные данные, уже доступные в языке разметки (например, HTML), часто можно повторно использовать в RDFa, что избавляет издателей от необходимости дублировать информацию в содержимом документа.

Абстрактное представление данных основано на RDF (RDF11-PRIMER), что позволяет издателям создавать собственные словари, расширять чужие и развивать свою терминологию с максимальной совместимостью. Выраженная структура тесно связана с данными, поэтому визуализированную информацию можно копировать вместе с её структурой.

Правила интерпретации данных универсальны и не требуют отдельных инструкций для разных форматов. Это позволяет авторам и издателям данных определять собственные форматы без необходимости обновлять ПО, регистрировать их в централизованном органе или опасаться конфликтов между разными форматами.

RDFa разделяет некоторые цели с микроформатами (MICROFORMATS). Однако если микроформаты задают и синтаксис для встраивания структурированных данных в HTML, и конкретный словарь терминов для каждого микроформата, то RDFa определяет только синтаксис, полагаясь на независимые спецификации терминов (часто называемых словарями или таксономиями). RDFa позволяет свободно комбинировать термины из разных словарей и разработан так, что язык можно анализировать без знания конкретного используемого словаря.

Этот документ представляет собой детальное описание синтаксиса RDFa, предназначенное для:

  1. Разработчиков процессоров RDFa, которым необходимо точное описание правил разбора.
  2. Тех, кто хочет интегрировать RDFa в новый язык разметки.
  3. Организаций, желающих рекомендовать использование RDFa и создать руководства для пользователей.
  4. Всем, кто знаком с RDF и хочет понять, как работает процессор RDFa «под капотом».

Для тех, кто ищет введение в RDFa и практические примеры, рекомендуется ознакомиться с RDFA-PRIMER.

Как читать этот документ

  1. Если вы не знакомы ни с RDFa, ни с RDF и просто хотите добавить RDFa в свои документы, то вам может быть полезнее ознакомиться с RDFa Primer, который даёт более простое введение.

  2. Если вы уже знакомы с RDFa и хотите изучить правила обработки (например, для создания собственного процессора RDFa), то наиболее интересным для вас будет раздел «Модель обработки». В нём содержится обзор каждого этапа обработки, а затем более детальные подразделы с описанием отдельных правил.

  3. Если вы не знакомы с RDFa, но знаете RDF, то перед изучением модели обработки полезно прочитать раздел «Обзор синтаксиса», где приведены примеры разметки с использованием RDFa. Примеры помогут легче понять правила обработки.

  4. Если вы не знакомы с RDF, то перед активной работой с RDFa рекомендуется ознакомиться с разделом «Терминология RDF». Хотя RDFa разработан так, чтобы быть простым для авторов (и для его использования не обязательно глубоко разбираться в RDF), разработчикам приложений, обрабатывающих RDFa, понимание RDF необходимо. В интернете есть множество материалов по RDF, а также растущее число инструментов, поддерживающих RDFa. В этом документе содержится лишь минимальный необходимый контекст по RDF, чтобы прояснить цели RDFa.



Статус данного документа

Данный раздел описывает статус документа на момент его публикации. Другие документы могут заменять текущую версию. Актуальный список публикаций W3C и последнюю редакцию данного технического отчёта можно найти в индексе технических отчётов W3C по адресу: http://www.w3.org/TR/.

Редакционные изменения

Настоящая версия представляет собой редакционную правку Рекомендации, опубликованной 22 августа 2013 года. Указанный документ являлся пересмотренной версией спецификации RDFa Syntax 1.0 [RDFA-SYNTAX]. Между текущей версией и версией 1.0 существует ряд существенных различий, включая:

  1. Удаление специальных правил для XHTML - теперь они определены в отдельном документе XHTML+RDFa [XHTML-RDFA].
  2. Расширение типов данных некоторых атрибутов RDFa для поддержки Terms (терминов), CURIES и Absolute IRIs.
  3. Разрешение языкам-хостам определять коллекции терминов по умолчанию, префиксные отображения и словарь по умолчанию.
  4. Возможность определения словаря по умолчанию для использования с неопределёнными терминами.
  5. Требование к регистронезависимому сравнению терминов.
  6. Расширенное поведение атрибута @property, которое во многих случаях может заменять атрибут @rel.
  7. Изменённая обработка @typeof для лучшего соответствия практическому использованию.

Более подробный список изменений доступен в разделе Changes (Изменения).

Тестирование

Доступен тестовый набор, который не является исчерпывающим, но может быть полезен как пример использования RDFa.

Участие и отзывы

Документ опубликован Рабочей группой RDFa в качестве Рекомендации. Все замечания и предложения можно направлять по адресу: public-rdfa@w3.org (подписка, архивы). Отзывы приветствуются.

С отчётом о внедрении рабочей группы можно ознакомиться здесь.

Статус рекомендации

Документ был рассмотрен членами W3C, разработчиками программного обеспечения, другими группами W3C и заинтересованными сторонами. Директор W3C утвердил его в качестве официальной Рекомендации. Это стабильный документ, который может использоваться в качестве справочного материала или цитироваться в других документах. Роль W3C заключается в привлечении внимания к спецификации и содействии её широкому внедрению, что способствует улучшению функциональности и совместимости веба.

Патентная политика

Документ разработан группой, действующей в соответствии с Патентной политикой W3C от 5 февраля 2004 года. W3C ведёт публичный список патентных заявлений, связанных с результатами работы группы. На этой странице также содержатся инструкции по подаче патентных заявлений. Лица, располагающие информацией о патентах, которые могут содержать существенные пункты (Essential Claims), обязаны раскрыть эту информацию в соответствии с разделом 6 Патентной политики W3C.

Процесс W3C

Документ регулируется Процессом W3C от 14 октября 2005 года.

1. Мотивация

(Данный раздел не является нормативным)

Проблемы RDF/XML

Спецификация RDF/XML [RDF-SYNTAX-GRAMMAR] обеспечивает достаточную гибкость для представления всех абстрактных концепций RDF. Однако у неё есть ряд недостатков:

  1. Сложность валидации

    • Документы, содержащие RDF/XML, крайне сложно (или невозможно) проверять с помощью XML-схем (XML Schemas) или DTD.
    • Это затрудняет интеграцию RDF/XML в другие языки разметки.
    • Новые языки схем, такие как RELAX NG [RELAXNG-SCHEMA], поддерживают валидацию произвольного RDF/XML, но их широкое внедрение займёт время.
  2. Дублирование данных

    • Даже если добавить RDF/XML напрямую в XML-диалект (например, XHTML), возникнет дублирование между визуальным содержимым и структурированными данными RDF.
    • Идеальным решением было бы дополнять документ RDF-разметкой без повторения существующих данных.
    • Пример: если имя автора указано в тексте (например, в подписи к новости), его не нужно дублировать в RDF — разметка должна позволять интерпретировать существующие данные как часть RDF-структуры.

Преимущества интеграции структуры и содержимого

  1. Контекстная структуризация

    • Совмещение визуальных и структурированных данных упрощает передачу информации между приложениями (включая не-веб-системы).
    • Пример: пользователи могут получать дополнительную информацию о данных (например, через контекстное меню по клику).
  2. Удобство для издателей

    • Организациям, публикующим много контента (например, СМИ), проще встраивать семантические данные напрямую в разметку, чем поддерживать их отдельно.

Ограничения «жёстко заданных» атрибутов

  • В традиционных языках разметки (например, XHTML 1.1 [XHTML11] или HTML [HTML401]) используются атрибуты с фиксированной семантикой, такие как @cite для указания источника цитаты.
  • Однако такие атрибуты:
    • Требуют от процессоров RDFa знания каждого специфичного атрибута.
    • Усложняют создание универсальных инструментов извлечения метаданных.

Решение через RDFa

  1. Гибкость вместо «жёсткой» разметки

    • RDFa предлагает универсальный набор атрибутов и правил разбора, позволяющий использовать свойства из любых RDF-словарей.
    • В большинстве случаев значения этих свойств уже присутствуют в документе.
  2. Снижение нагрузки на разработчиков языков

    • RDFa устраняет необходимость предугадывать все возможные требования пользователей к структуре.
    • Дизайнеры языков могут легко интегрировать RDFa, обеспечивая извлечение семантических данных любыми совместимыми процессорами.

Ключевые тезисы

  • RDFa избегает дублирования данных, используя существующую разметку.
  • Позволяет добавлять произвольные семантические свойства без привязки к конкретному словарю.
  • Упрощает создание единого стандарта для извлечения метаданных из любых документов.