Json-ld सिंटैक्स में @id का क्या उपयोग है?


17

मैं वास्तव में उलझन में हूँ कि @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"
    ]
}

जवाबों:


28

@idकीवर्ड आप एक नोड यूआरआई देने के लिए अनुमति देता है। यह URI नोड की पहचान करता है।

JSON-LD कल्पना में नोड पहचानकर्ता देखें ।

(माइक्रोडाटा में समतुल्य itemidविशेषता है, और आरडीएफए लाइट में समकक्ष resourceविशेषता है।)

क्यों पहचानकर्ता उपयोगी हैं?

  • आप इसे दोहराने के बजाय एक नोड का संदर्भ ले सकते हैं ( मेरा उदाहरण देखें )।
  • अन्य लेखक भी ऐसा कर सकते हैं (बाहरी साइटों पर): जब वे आपके द्वारा निर्दिष्ट यूआरआई का उपयोग करते हैं, तो यह स्पष्ट है कि वे एक ही बात कर रहे हैं।
  • उपभोक्ता सीख सकते हैं कि विभिन्न नोड्स एक ही चीज के बारे में हैं।

यह लिंक्ड डेटा और सिमेंटिक वेब की मुख्य अवधारणाओं में से एक है। यदि आप इस बारे में परवाह करते हैं, तो आप URI का उपयोग करना चाहते हैं जो वास्तविक चीज़ और उस चीज़ के बारे में पृष्ठ के बीच अंतर करते हैं ( मेरी व्याख्या देखें )।

उदाहरण में Apple यही कर रहा है। यूआरआई http://www.apple.com/#organizationसंगठन के बारे में वास्तविक संगठन का प्रतिनिधित्व करता है, न कि एक पेज (और उस पेज का हिस्सा नहीं)। यह एक हैश URL है , और यह चीज के बारे में पृष्ठ और पृष्ठ के बीच अंतर करने के लिए एक लोकप्रिय तरीका है। यदि आप अपने JSON-LD में कहना चाहते हैं कि आप Apple को पसंद करते हैं, तो आप http://www.apple.com/#organizationApple की पहचान कर सकते हैं । यदि आप http://www.apple.com/इसके बजाय उपयोग करते हैं, तो यह Apple का मुखपृष्ठ होगा जिसे आप पसंद करते हैं।


अपने अंतिम पैराग्राफ को समझने की कोशिश कर रहे हैं, इसलिए, एक पृष्ठ में '@id' और 'url' दोनों समान मान होने चाहिए? मैं सोच रहा था कि अगर हम 'url' प्रदान करते हैं, तो हमारे पास हैश आधारित आईडी हो सकती है। जो चीजों को एक समान रखने में मदद करता है।
एथन कॉलिन्स

1
@ ईथनॉलिन्स: यह दोनों ( @idऔर url), हाँ प्रदान करने के लिए एक अच्छा अभ्यास है । पृष्ठों के मामले में, वे आम तौर पर मूल्य के समान यूआरआई होंगे; अन्य मदों के मामले में, उनके पास आम तौर पर अलग-अलग यूआरआई मूल्य के रूप में होंगे ( @idचीज़ के लिए, urlउस चीज़ के बारे में पृष्ठ के लिए)। - यह सुनिश्चित करने के लिए कि हम एक ही पृष्ठ पर हैं: हैश-आधारित आईडी के साथ, आपका मतलब लिंक किए गए डेटा के संदर्भ में हैश URL है, न कि एकल-पृष्ठ अनुप्रयोगों / जावास्क्रिप्ट-आधारित साइटों के संदर्भ में, सही?
अपर

स्पष्टीकरण देने के लिए धन्यवाद। मुझे आपके जवाबों में आपके द्वारा साझा किए गए अन्य उपयोगी लिंक पर भी नज़र डालनी है, यह अब बहुत स्पष्ट है। (आपकी अंतिम क्वेरी का जवाब देने के लिए, हाँ मैं हैश URI का मतलब करना चाहता था)।
एथन कॉलिन्स

7

Google डेवलपर्स से निम्न लिंक को पढ़ना - डेटा प्रकार - आपके पास स्थानीय व्यावसायिक गुण अनुभाग में स्थानीय व्यवसाय:

[...] आईडी समय के साथ स्थिर और अपरिवर्तित होनी चाहिए। Google खोज URL को एक अपारदर्शी स्ट्रिंग के रूप में मानता है और इसके लिए कार्य लिंक होना आवश्यक नहीं है। यदि व्यवसाय में कई स्थान हैं, तो सुनिश्चित करें कि प्रत्येक स्थान के लिए @ आईडी अद्वितीय है।

@Id लगभग सभी ऑब्जेक्ट के लिए है

मुझे आशा है कि मेरा उत्तर आपकी मदद करता है :)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.