web-dev-qa-db-ja.com

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

Json-ld構文で@idが何に使用されているか、本当に混乱しています。 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"
    ]
}
13
Ishan

@idキーワードを使用すると、ノードにURIを指定できます。このURIはノードを識別します。

JSON-LD仕様の Node Identifiers を参照してください。

(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/#organizationを使用してAppleを識別できます。代わりにhttp://www.Apple.com/を使用すると、Appleのホームページになります。

21
unor

Google Developersから次のリンクを読んでください- データタイプ-ローカルビジネス お持ちのローカルビジネスプロパティセクション:

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

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

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

7
benetj