@id и URL для связывания узлов JSON-LD

Я определил издателяOrganization наWebSite узел определен на домашней странице, и теперь я хочу дать ссылку на этого издателя из статей на других страницах. Тем не менее, я также хочу ссылку наWebSite а также, и они, естественно, одни и те же@id если я последую совету использования URL в качестве@id.

{
    "@context": "http://schema.org",
    "@type": "WebSite",
    "@id": "http://www.example.com/",
    "url": "http://www.example.com/",
    ...
    "publisher": {
        "@type": "Organization",
        "@id": "http://www.example.com/",  <-- duplicated
        "url": "http://www.example.com/"
    }
}
{
    "@context": "http://schema.org",
    "@type": "WebPage",
    "@id": "http://www.example.com/news",
    "url": "http://www.example.com/news",
    "isPartOf": {
        "@id": "http://www.example.com/"  <-- site or publisher?
    }
    ...
    "publisher": {
        "@id": "http://www.example.com/"  <-- site or publisher?
    }
}

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

{
    "@id": "http://www.example.com/#site",
    ...
    "publisher": {
        "@id": "http://www.example.com/#publisher",
    }
}

Если это сработает, процессоры (Google) загрузят@id найти остальные свойства узла?

С этим связаноurl свойство, найденное во многих типах узлов, считается@id если отсутствует? Я заканчиваю тем, что продублирую полный URL страницы как@id а такжеurl для большинства узлов. Это норма?

Ответы на вопрос(1)

Ваш ответ на вопрос