URI! (или IRI, например, в RDFa 1.1)
Это одно из основных качеств RDF, и оно делает возможным связанные данные, поскольку придуман Тимом Бернерсом-Ли (выделено мной):
Семантическая паутина — это не просто размещение данных в сети. Речь идет о создании ссылок, чтобы человек или машина могли исследовать сеть данных.
Подобно сети гипертекста, сеть данных создается с помощью документов в сети. Однако, в отличие от сети гипертекста, где ссылки являются якорями отношений в гипертекстовых документах, написанных на HTML, для данных они связывают между произвольными вещами, описанными RDF
Из моего ответа на вопрос о Semantic Web:
Используйте RDF (в виде формата сериализации ваш выбор) и определить URI для своих объектов, чтобы вы и другие люди могли делать заявления о них.
Так что дайте всем своим объектам URI и используйте его как тему соответственно. объект в тройках RDF. Обратите внимание, что вы можете не захотеть использовать тот же URI, что и ваши веб-страницы, так как это затруднит различие между данными о веб-странице и данными о предмете, представленном веб-страницей (см. мой ответ, описывающий это более подробно).
Итак, допустим, на вашем веб-сайте есть эти две страницы:
http://example.com/event/42
(о событии 42, т. е. HTML-странице)
http://example.com/location/51
(о месте 51, т. е. HTML-странице)
Используя метод хеш-URI, вы можете создавать следующие URI:
http://example.com/event/42#it
(событие 42, т.е. реальная вещь)
http://example.com/location/51#it
(локация 51, т.е. реальная вещь)
Теперь, когда вы хотите использовать словарь Schema.org для предоставления информации о вашем мероприятии, вы можете использовать resource
, чтобы указать свой URI:
<!-- on http://example.com/event/42 -->
<article resource="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
</article>
И когда вы хотите указать место события (используя Place), вы можете использовать URI места:
<!-- on http://example.com/event/42 -->
<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<a property="schema:location" typeof="schema:Place" href="/location/51#it">Location 51</a>
</article>
И на странице местоположения у вас может быть что-то вроде:
<!-- on http://example.com/location/51 -->
<article about="#it" typeof="schema:Place">
<h1 property="schema:name">Location 51</h1>
<a property="schema:event" typeof="schema:Event" href="/event/42#it">Event 42</a>
</article>
Обобщив эти данные, вы получите следующие триплеты (в Turtle):
@prefix schema: <http://schema.org/> .
<http://example.com/location/51#it> a schema:Place .
<http://example.com/location/51#it> schema:event <http://example.com/event/42#it> .
<http://example.com/location/51#it> schema:name "Location 51" .
<http://example.com/event/42#it> a schema:Event .
<http://example.com/event/42#it> schema:location <http://example.com/location/51#it> .
<http://example.com/event/42#it> schema:name "Event 42" .
РЕДАКТИРОВАТЬ: я не уверен (и надеюсь, что это не так), но, возможно, Schema.org вместо этого ожидает пустой узел со свойством url
(или sameAs
?), например:
<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<div property="schema:location" typeof="schema:Place">
<a property="schema:url" href="/location/51#it">Location 51</a>
</div>
</article>
person
unor
schedule
13.05.2014