Микроданные против RDFa

У меня есть быстрый вопрос о RDFa и Microdata.

Мое настоящее понимание заключается в том, что RDFa – это RDF, внедренная в HTML, но сложная для таких новых разработчиков, как я, Microdata кажется очень простой и быстрой в реализации.

Каковы другие преимущества и недостатки этих двух семантических форматов?

Главное преимущество, которое вы получаете в любом семантическом формате, – это способность потребителей повторно использовать ваши данные.

Например, поисковые системы, такие как Google, являются потребителями, которые повторно используют ваши данные для отображения Rich Snippets, таких как:

Рецепт Rich Snippet

Чтобы определить, какой формат лучше, вам нужно знать, к каким потребителям вы хотите настроить таргетинг. Например, Google в своих FAQ говорит, что они будут обрабатывать только микроданные (хотя инструмент тестирования теперь работает с RDFa, поэтому возможно, что они принимают RDFa).

Если вы не знаете, что ваш целевой потребитель принимает только RDFa, вы, вероятно, лучше всего собираетесь с микроданными. Хотя многие сервисы RDFa-потребления (такие как семантическая поисковая система Sindice) также принимают микроданные, службы, потребляющие данные по микроданным, с меньшей вероятностью принимают RDFa.

Различия между Microdata и RDFa

Хотя есть много (технических, меньших) различий, вот выбор тех, которые я считаю важными (использовал мой ответ на веб-мастерах в качестве базы).

Характеристики

  • Поскольку HTML-редакция W3C не нашла волонтера для редактирования спецификации Microdata, теперь это всего лишь заметка группы W3C (см. Историю ), а это означает, что никаких планов по ее дальнейшей работе нет.

    Таким образом, раздел Microdata в «HTML Living Standard» WHATWG – это единственное место, где Microdata может развиваться. В зависимости от того, что изменилось, может случиться так, что их Microdata станет несовместимым с HTML5 W3C.

    Обновление: в 2017 году снова началась работа с целью публикации Microdata в качестве рекомендации W3C .

  • RDFa публикуется как Рекомендация W3C .

применимость

  • Микроданные могут использоваться только в (X) HTML5 (соответственно HTML, как определено WHATWG).

  • RDFa может использоваться на разных языках хоста, то есть в нескольких (X) вариантах HTML и XML (таким образом, также в SVG, MathML, Atom и т. Д.).

    И новые языки хоста могут поддерживаться, так как RDFa Core – это спецификация атрибутов для выражения структурированных данных на любом языке разметки ».

Использование нескольких словарей

  • В Microdata сложнее, а иногда и невозможно, использовать несколько словарей для одного и того же контента.

  • Благодаря использованию префиксов RDFa позволяет смешивать словари.

Использование обратных свойств

  • Microdata не предоставляет способ использования обратных свойств. Это нужно для словарей, которые не определяют обратные свойства (например, они определяют parent объект вместо parent и child ). Популярный Schema.org – это такая лексика (только с несколькими более старыми исключениями).

    Хотя W3C Note Microdata для RDF определяет экспериментальный itemprop-reverse , этот атрибут не является частью W3C или WHATWG’s Microdata.

  • RDFa поддерживает использование обратных свойств (с атрибутом rev ).

Семантическая сеть

  • Используя Microdata, вы не играете прямо в Semantic Web (и MicroData от AFAIK не намеревается), главным образом потому, что он не определен как сериализация RDF (хотя есть способы извлечь RDF из Microdata ).

  • RDFa является сериализацией RDF , а RDF является основой семантической сети W3C.


Спецификации RDFa Core и HTML + RDFa могут быть более сложными, чем HTML Microdata , но это не «справедливое» сравнение, потому что они предлагают больше возможностей.

Подобно Microdata будет RDFa Lite (который «работает для большинства повседневных потребностей»), и эта спецификация, по крайней мере, на мой взгляд, менее сложна, чем Microdata.

Что делать?

Если вы хотите поддерживать конкретных потребителей (например, поисковую систему и надстройку браузера), вы должны проверить их документацию о поддерживаемых синтаксисах.

Если вы хотите изучить только один синтаксис и не иметь конкретных потребителей в виду, ( внимание, субъективное мнение! ) Идут с RDFa. Зачем?

  • RDFa созрела на протяжении многих лет и является W3C Rec, в то время как Microdata является относительно новым изобретением, а не стандартизованным W3C.
  • RDFa может использоваться на многих языках, а не только для HTML5.
  • RDFa позволяет смешанное использование словарей для одного и того же контента, и оно изначально поддерживает использование обратных свойств.

Не можете решить? Используйте оба варианта.

Обратите внимание, что вы также можете использовать несколько синтаксисов для одного и того же контента, поэтому для максимальной совместимости вы могли бы иметь Microdata и RDFa ( и Microformats, JSON-LD и …).

  • Вот простой fragment Microdata:

     

    John Doe is his name.

  • Вот тот же fragment с использованием RDFa (Lite):

     

    John Doe is his name.

  • И здесь оба синтаксиса используются вместе:

     

    John Doe is his name.

Но обычно нет необходимости / рекомендуется идти по этому маршруту.

Это длинный, но один из наиболее полных ответов на этот вопрос вы найдете в этом блоге Jeni Tennison: Microdata и RDFa Living Together in Harmony

Я не уверен, что предложение Unor использовать как Microdata, так и RDFa – хорошая идея. Если вы используете Google Structured Data Testing Tool (или другие подобные инструменты) на своем примере, он показывает повторяющиеся данные, которые, по-видимому, подразумевают, что бот Google заберет двух человек по имени Джон Доу на веб-странице, а не тот, который был первоначальным намерением.

Поэтому я предполагаю, что использование одного синтаксиса для данного элемента – лучшая идея (вы все равно сможете смешивать синтаксисы, пока они описывают отдельные объекты).

Хотя я был бы счастлив оказаться ошибочным в этом.

Давайте будем гением компьютера.