Микроданные против 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 или встроенных виджетов в вашей системе управления контентом.