json-ld構文での@idの使用は何ですか?


16

@idjson-ld構文で何が使用されているか、本当に混乱しています。apple.comからのサンプル。@id実際に何を表していますか。どんな助けも素晴らしいですか?

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@id": "http://www.apple.com/#organization",
    "@type": "Organization",
    "url": "http://www.apple.com/",
    "logo": "https://www.apple.com/ac/structured-data/images/knowledge_graph_logo.png?201608191052",
    "contactPoint": [
        {
            "@type": "ContactPoint",
            "telephone": "+1-800-692-7753",
            "contactType": "sales",
            "areaServed": [ "US" ]
        }
    ],
    "sameAs": [
        "http://www.wikidata.org/entity/Q312",
        "https://www.youtube.com/user/Apple",
        "https://www.linkedin.com/company/apple"
    ]
}

回答:


24

@idキーワードは、ノードURIを与えることができます。このURIはノードを識別します。

JSON-LD仕様のノード識別子を参照してください。

(Microdataの同等物はitemid属性であり、RDFa Liteの同等物はresource属性です。)

識別子が役立つのはなぜですか?

  • ノードを繰り返す代わりに参照することができます(私の例を参照)。
  • 他の作成者も同じことを(外部サイトで)行うことができます。指定したURIを使用する場合、同じことについて話していることは明らかです。
  • 消費者は、異なるノードがほぼ同じものであることを知ることができます。

また、リンクデータとセマンティックWebの中核概念の1つでもあります。これを気にするなら、実際の物とその物に関するページを区別するURIを使用したいかもしれません(私の説明をご覧ください)。

これは、この例でAppleが行っていることです。URI http://www.apple.com/#organizationは、組織に関するページ(およびそのページの一部)ではなく、実際の組織を表します。これはハッシュURLであり、ThingとThingに関するページを区別する一般的な方法です。Appleが好きだとJSON-LDで言いたい場合は、http://www.apple.com/#organizationAppleを識別するために使用できます。http://www.apple.com/代わりに使用する場合、それはお好みのAppleのホームページです。


最後の段落を理解しようとしているので、ページには「@id」と「url」の両方の同じ値が必要ですか?「url」を指定すると、ハッシュベースのIDを使用できると考えていました。これにより、全体が均一になります。
イーサンコリンズ

1
@EthanCollins:(@idurl)の両方を提供することをお勧めします、はい。ページの場合、通常、値と同じURIを持ちます。他のアイテムの場合、それらは通常、値として異なる@id物を持っています(物urlについて、その物についてのページについて)。-同じページにいることを確認するために:ハッシュベースのIDでは、単一ページのアプリケーション/ JavaScriptベースのサイトのコンテキストではなく、リンクされたデータのコンテキストでハッシュURLを意味しますか?
unor

明確にしてくれてありがとう。また、回答で共有した他の便利なリンクを確認する必要がありましたが、今ではもっと明確になっています。(最後のクエリに答えるために、はい、ハッシュURIを意味していました)。
イーサンコリンズ

7

Google Developersから次のリンクを読む- データタイプ-ローカルビジネスプロパティセクションのローカルビジネス:

[...] IDは安定し、時間とともに変化しないものでなければなりません。Google検索は、URLを不透明な文字列として扱い、リンクを機能させる必要はありません。ビジネスに複数の場所がある場合は、@ idが各場所で一意であることを確認してください。

@idはほとんどすべてのオブジェクト用です

私の答えがあなたに役立つことを願っています:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.