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

У меня есть быстрый вопрос о RDFa и микроданных.

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

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

5 ответов

Решение

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

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

Рецепт Богатый Фрагмент

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

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

Различия между микроданными и RDFa

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Семантическая паутина

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

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


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

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

Что делать?

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

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

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

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

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

  • Вот простой фрагмент микроданных:

    <p itemscope itemtype="http://schema.org/Person">
      <span itemprop="name">John Doe</span> is his name.
    </p>
    
  • Вот тот же фрагмент с использованием RDFa (Lite):

    <p typeof="schema:Person">
      <span property="schema:name">John Doe</span> is his name.
    </p>
    
  • И здесь оба синтаксиса используются вместе:

    <p itemscope itemtype="http://schema.org/Person" typeof="schema:Person">
      <span itemprop="name" property="schema:name">John Doe</span> is his name.
    </p>
    

Но, как правило, нет необходимости / рекомендуется идти по этому пути.

Это длинный, но один из самых полных ответов, которые вы получите на этот вопрос, - это сообщение в блоге Джени Теннисон: Микроданные и RDFa, живущие вместе в гармонии

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

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

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

Я бы сказал, что это во многом зависит от варианта использования: для научных случаев использования RDF распространен и используется в разных аспектах.

Для обогащения веб-сайтов теперь рекомендуется JSON-LD, по крайней мере, Google.

Нотация JavaScript, встроенная в тег в заголовке или теле страницы. Разметка не чередуется с видимым пользователем текстом, что упрощает выражение вложенных элементов данных, таких как Country почтового адреса MusicVenue события. Кроме того, Google может считывать данные JSON-LD, когда они динамически внедряются в содержимое страницы, например, с помощью кода JavaScript или встроенных виджетов в вашей системе управления контентом.

Другие вопросы по тегам