В службе RESTful вы можете определить ссылки на ресурсы следующим образом:
<next xmlns="http://example.org/state-machine"
rel="http://mydomain.example.org/user"
url="http://mydomain.example.com/user/1234"
type="application/xml"/>
Или пример JSON-LD:
{
"@context": {
"name": "http://xmlns.com/foaf/0.1/name",
"homepage": {
"@id": "http://xmlns.com/foaf/0.1/homepage",
"@type": "@id"
}
},
"name": "Manu Sporny",
"homepage": "http://manu.sporny.org/"
}
Или пример vCard:
<address id="hcard" class="vcard">
<p class="fn n">
<span class="given-name">First</span>
<span class="additional-name">M</span>.
<span class="family-name">Last</span>
С атрибутом rel
, указывающим на описание схемы/микроформата/микроданных/RDFa этого объекта бесплатного предложения в домене. Скажем, у меня есть пользовательский объект с именем поля и домашней страницей,
В приведенных выше примерах будет ли более подходящим
rel="http://mydomain.example.org/user"
, поскольку это пользователь, специфичный для домена, или мне следует использовать что-то подобное из foaf?"name": "http://xmlns.com/foaf/0.1/name",@id": http://xmlns.com/foaf/0.1/homepage"
Меня очень смущают эти RDFa, микроформаты, микроданные, схемы, vcards, hcards, foaf, http://www.productontology.org/id/, www.schema.org/name, http://rdf.data-vocabulary.org/#name, схема json и т. д. Когда я создаю свой собственный микроформат/схему, а когда использую общедоступные, определенные в этих разных областях (vCards, hcards, foaf, productontology , schema.org)? Я понимаю, что RDFa, микроформаты и т. д. на самом деле являются общедоступными метаданными о данных, но где я могу найти их полный список для использования?
Если бы мне пришлось создать свою собственную ссылку, например
rel="http://mydomain.example.org/user"
, определяющую пользовательский объект, как мне ее задокументировать? Есть ли стандарт, которому я могу следовать? В некоторых местах предлагаются удобочитаемые документы для обнаружения или, может быть, схема JSON/XML в этом месте, описывающая контракт и версию?Одно из предложений — использовать другую версию http://mydomain.example.com/v1/user/1234 для взаимодействия с другой версией спецификации службы, чтобы существующий клиент не сломался при изменении версии.
Пожалуйста, помогите мне наметить эту путаницу или термины, которые я должен использовать в отношении микроформата, RDF, микроданных, схемы и т. д.