В RDFa about = "# xyz" назначает относительный URI в качестве идентификатора для субъекта следующих операторов RDF.Формальная спецификация того, как глобальный URI получен из локального идентификатора, немного сложна, но практически это будет базовый URI ресурса плюс часть фрагмента.Если базовый URI документа не задан явно, это будет URI, из которого было получено представление.
Так что если у вас есть файл product.html и сделаете его доступным под URI
http://www.example.org/product.html (обратите внимание, что локальное имя файла и общедоступный URI не имеют аппаратной привязки),
, тогда узел
<div typeof="http://purl.org/goodrelations/v1#Offering" about="#offer">
...
</div>
назначит этот элемент данныхглобальный URI
http://www.example.org/product.html#offer
Теперь, для чего вам это нужно?
Наиболее распространенным случаем является то, что вы можете захотеть сделать заявления об этой сущности в другом ресурсе,который затем может быть использован для сопоставления всей информации об одном и том же объекте в гигантском графе.
Но вы также можете использовать технику для сбора метаданных, разбросанных по одному и тому же HTML-документу, потому что вы совершенно законноиспользуйте «about» с одним и тем же идентификатором несколько раз.
Например, вы можете использовать следующие строки:
<div typeof="http://purl.org/goodrelations/v1#Offering" about="#offer">
<span property="gr:name">ACME Anvil</span>
</div>
и 500 строк:
<div typeof="http://purl.org/goodrelations/v1#Offering" about="#offer">
<span property="gr:description">The ACME Anvil is the most advanced anvil that money can buy</span>
</div>
Парсер RDFaтогда будет знать, что босвойства gr: name и gr: description принадлежат одному и тому же объекту.
В синтаксисе микроданных у вас есть несколько более элегантное ключевое слово "itemref" для прямой ссылки на элементы HTML, которые содержат метаданные, относящиеся ктот же объект.В RDFa косвенную интеграцию содержимого, разбросанного по всему HTML, можно выполнить только путем повторного использования одного и того же идентификатора для «about».
В двух словах:
- Использование about в RDFa - этоочень хорошая практика, потому что это помогает связать ваши данные с другими данными.Сделайте это!
- Не используйте повторно фрагмент, который вы используете для навигационных целей, с id = "# xyz" для свойства about.
Так что если к идентификатору фрагмента нужно перейтипродукт
<div id="product"> blablabla> </div>
не используйте about = # product ", но, например, about =" # product_data "для идентификации объекта данных.
- Это совершенно нормально использоватьатрибут about несколько раз с одним и тем же идентификатором, если речь идет об одном и том же объекте (например, об одном и том же продукте, одной и той же компании).
Теперь, почему идентификатор фрагмента так популярен впримеры? Потому что вы легко получите глобальные идентификаторы для каждой отдельной страницы, используя этот шаблон - представьте себе магазин с 1 000 товаров в продаже. Если вы добавите
about="#product_data"
к элементу разметки данных о продукте, то каждый отдельный продуктбудет иметь глобальный идентификатор, к которому могут обращаться другие.
Предупреждение: Некоторые шаблоны устанавливают базовый URI всех отдельных страниц на главную страницу. В этом случае все продукты работаютВы можете получить тот же URI.Таким образом, относительные URI не будут работать, если вы установите базовый URI для чего-либо, кроме канонического URI этой отдельной страницы.