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"
    ]
}

답변:


27

@id키워드를 사용하면 노드 URI를 제공 할 수 있습니다. 이 URI는 노드를 식별합니다.

JSON-LD 사양의 노드 식별자 를 참조하십시오 .

(Microdata의 해당 itemid속성 은 속성이고 RDFa Lite의 해당 resource속성 은 속성입니다.)

식별자가 유용한 이유는 무엇입니까?

  • 반복하지 않고 노드를 참조 할 수 있습니다 ( 예 참조 ).
  • 다른 작성자도 외부 사이트에서 동일한 작업을 수행 할 수 있습니다. 사용자가 지정한 URI를 사용하면 동일한 내용에 대해 이야기하고있는 것이 분명합니다.
  • 소비자는 다른 노드가 거의 같은 것을 알 수 있습니다.

또한 링크 된 데이터 및 시맨틱 웹의 핵심 개념 중 하나입니다. 당신이 이것에 관심이 있다면, 당신은 실제 사물과 그 사물에 대한 페이지를 구별하는 URI를 사용할 수 있습니다 ( 내 설명 참조 ).

이것이 애플이하는 일입니다. URI http://www.apple.com/#organization는 조직에 대한 페이지 (및 해당 페이지의 일부가 아님)가 아닌 실제 조직을 나타냅니다. 이것은 해시 URL 이며, 사물과 사물에 대한 페이지를 구별하는 데 널리 사용되는 방법입니다. JSON-LD에서 Apple을 좋아한다고 말하고 싶다면 Apple http://www.apple.com/#organization을 식별하는 데 사용할 수 있습니다 . http://www.apple.com/대신 사용한다면 , 그것은 당신이 좋아하는 애플의 홈페이지 일 것입니다.


마지막 단락을 이해하려고하면 페이지에 '@id'와 'url'이 동일한 값이 있어야합니까? 'url'을 제공하면 해시 기반 ID를 가질 수 있다고 생각했습니다. 그것은 일을 통해 균일하게 유지하는 데 도움이됩니다.
Ethan Collins

1
@EthanCollins : ( @idurl)를 모두 제공하는 것이 좋습니다 . 페이지의 경우 일반적으로 값과 동일한 URI를 갖습니다. 다른 항목의 경우 일반적으로 값으로 다른 URI를 갖습니다 ( @id물건에 url대한 페이지의 경우). -동일한 페이지에 있는지 확인하려면 : 해시 기반 ID를 사용하면 단일 페이지 응용 프로그램 / JavaScript 기반 사이트의 컨텍스트가 아니라 연결된 데이터의 컨텍스트에서 해시 URL을 의미합니까?
unor

설명해 주셔서 감사합니다. 나는 또한 당신이 당신의 답변에 공유 한 다른 유용한 링크 를 살펴 보았습니다 . 지금 훨씬 명확합니다. (마지막 쿼리에 대답하기 위해 예, 해시 URI를 의미하고 싶었습니다).
Ethan Collins

7

보유한 지역 비즈니스 속성 섹션의 Google 개발자- 데이터 유형-지역 비즈니스 에서 다음 링크를 읽습니다 .

[...] ID는 시간이 지남에 따라 안정적이고 변하지 않아야합니다. Google 검색은 URL을 불투명 한 문자열로 취급하며 작동하는 링크 일 필요는 없습니다. 업체에 여러 위치가있는 경우 @id가 각 위치마다 고유한지 확인하십시오.

@id는 거의 모든 객체를위한 것입니다

내 대답이 도움이되기를 바랍니다. :)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.