2016-06-18 3 views
2

JSON-LD를 사용하여 온톨로지를 설계하려고하는데 구문을 올바르게 이해하는 데 문제가 있습니다. https://www.w3.org/TR/json-ld을 보았지만 찾고있는 정보를 정확히 찾을 수 없었습니다. 즉 : IRI를 컨텍스트에 중첩하는 방법과 본문에서 참조하는 방법은 무엇입니까?JSON-LD에서의 IRI 매핑 및 참조

{ 
    "@context":{ 
    "@base":"http://example.com/", 
    "instances":"base:instances", 
    "animals":"base:animals", 
    "plants":"base:plants" 
    }, 
    "@graph":[ 
    { 
     "@id": "instances:1", 
     "@type": "Plant", 
     "plants:numleaves": "8", 
     "plants:speciesname": "sunflower" 
    }, 
    { 
     "@id": "instances:2", 
     "@type": "Animal", 
     "animals:numlegs": "4", 
     "animals:speciesname": "dog", 
     "animals:eats": "instances:1" 
    } 
    ] 
} 

나는 첫 번째 요소의 ID가 http://example.com/instances#1되고 싶어요,하지만 난 http://json-ld.org/playground/를 통해 실행하면 base:instances1이 양식을 확장합니다. 어떻게해야합니까?

답변

2

@base을 정의한 다음이를 접두어로 사용하려고하므로 원하는 방식으로 작동하지 않습니다.

또한 해시 (#)도 마술처럼 나타납니다. 기본 URI에 포함시켜야합니다.

은 당신이 당신의 컨텍스트를 변경해야 할 것입니다 요약하면 :

"@context":{ 
    "base":"http://example.com/", 
    "instances":"base:instances#", 
    "animals":"base:animals#", 
    "plants":"base:plants#" 
} 

지금 instances:1는 요청으로 http://example.com/ + instances# + 1의 연결입니다.