Реализация контента RDFa для продуктов

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

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

Если вы посмотрите на генератор GoodRelations RDFa для торговли, вы получите кучу вложенных div, которые вам скажут поместить внизу страницы вашего товара. Я буду использовать один из моих любимых сайтов, например:

<div xmlns="http://www.w3.org/1999/xhtml"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
  xmlns:gr="http://purl.org/goodrelations/v1#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/">

  <div typeof="gr:Offering" about="#offering">
    <div rev="gr:offers" resource="#company"></div>
    <div property="rdfs:label" content="Alpinestars S-MX Plus Racing Boots" xml:lang="en"></div>
    <div property="rdfs:comment" content="Alpinestars’ S-MX Plus racing boot raises performance and safety to new and unmatched levels with its innovative design, structural protection and comfort." xml:lang="en"></div>
    <div property="gr:hasEAN_UCC-13" content="0000000000000" datatype="xsd:string"></div>
    <div rel="foaf:depiction" resource="http://www.motorcycle-superstore.com/ProductImages/300/g17268.jpg"></div>
    <div rel="gr:hasBusinessFunction" resource="http://purl.org/goodrelations/v1#Sell"></div>
    <div rel="gr:hasPriceSpecification">
      <div typeof="gr:UnitPriceSpecification">
        <div property="gr:hasCurrency" content="USD" datatype="xsd:string"></div>
        <div property="gr:hasCurrencyValue" content="349.95" datatype="xsd:float"></div>
        <div property="gr:hasUnitOfMeasurement" content="C62" datatype="xsd:string"></div>
      </div>
    </div>
    <div rel="gr:acceptedPaymentMethods" resource="http://purl.org/goodrelations/v1#PayPal"></div>
    <div rel="gr:acceptedPaymentMethods" resource="http://purl.org/goodrelations/v1#AmericanExpress"></div>
    <div rel="gr:acceptedPaymentMethods" resource="http://purl.org/goodrelations/v1#Discover"></div>
    <div rel="gr:acceptedPaymentMethods" resource="http://purl.org/goodrelations/v1#MasterCard"></div>
    <div rel="gr:acceptedPaymentMethods" resource="http://purl.org/goodrelations/v1#VISA"></div>
    <div rel="foaf:page" resource="http://www.motorcycle-superstore.com/1/1/36/77/ITEM/Alpinestars-S-MX-Plus-Racing-Boots.aspx"></div>
  </div>
</div>

Что мне показалось интересным в их реализации, которую Best Buy использовала с большим успехом, так это то, что здесь нет фактического контента в тегах, а есть только атрибут контента.

Тогда у меня вопрос: есть ли у кого-нибудь понимание этого типа реализации и есть ли штраф за использование пустой структуры div, которая использует атрибут содержимого за добавление структуры RDFa в существующую разметку?

2 ответа

Решение

Это RDFa в "стиле сниппета". Полный аргумент и фон здесь

http://www.ebusiness-unibw.org/tools/rdf2rdfa/

и здесь:

Хепп, Мартин; Гарсия, Роберто; Радингер, Андреас: RDF2RDFa: Превращение RDF в фрагменты для копирования и вставки, Технический отчет TR-2009-01, 2009. PDF внизу страницы выше.

По сути, существует компромисс между а) повторным использованием видимого контента для разметки данных и б) разделением проблем. До тех пор, пока структуры данных и организация разметки для видимого содержимого соответствуют почти 1:1, вы можете легко использовать RDFa в традиционном стиле. Но в противном случае применение структуры видимой разметки при моделировании богатых метаданных создает грязную разметку, сложную в обслуживании и подверженную ошибкам.

С наилучшими пожеланиями

Мартин Хепп

Дополнение: Вы можете использовать GoodRelations в RDFa в шаблонах XHTML, HTML5 и HTML4, несмотря на различное состояние стандартизации соответствующих DOCTYPE. Вот правильные настройки DOCTYPE:

  1. XHTML: a) Установите для DOCTYPE значение XHTML+RDFa 1.0: b) Установите для атрибута версии html значение XHTML + RDFa1.0

  2. HTML5 a) Установите для DOCTYPE значение html b) Установите для атрибута версии html значение HTML+RDFa1.1

Обратите внимание, что на данном этапе это только рабочий проект W3C, но, тем не менее, он должен работать.

  1. Другая разметка HTML Либо используйте рецепт HTML5, либо просто установите для атрибута html version значение HTML+RDFa1.1 или XHTML+RDFa1.0. Большинство клиентов извлекают RDF из этого типа. или же

Смотрите также: https://web.archive.org/web/20151230113836/http://answers.semanticweb.com:80/questions/1187/can-i-use-the-html5-doctype-with-rdfa

Что касается HTML5, вы должны просто использовать RDFa 1.1 или RDFa Lite, они действительны в HTML5. Например, вам придется преобразовать ваш xmlns: в атрибут prefix.

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