2017-11-20 9 views
2

(이미 W3/JSON 메일 링리스트에서이 질문을했습니다. 여기도 시도해 보겠습니다.)@type의 @id 또는 속성의 값에 대한 기본 URI를 지정하는 방법은 무엇입니까?

시맨틱 웹 기술에 대한 경험이 풍부하지만 저는 JSON-LD를 처음 접했습니다.

나는 가이드 라인 문서 (https://www.w3.org/TR/json-ld/)을 읽은 나는 문제가되는 기능은 지원되지 않은 경우 :

은 모두 @id 특성을 갖는, 당신은 @type Person@type Address의 JSON 객체가 있다고 가정. 일반적인 API 제공 데이터에는 정수 또는 일부 내부 컨텍스트 종속 ID와 같은 값이 있습니다. RDF를 사용하여 이러한 값을 http://www.example.com/Person/123 또는 http://www.example.com/Address/xh324m44과 같은 접두사 기반 URI로 변환하는 것이 일반적입니다.

내가하고 싶은 것은 그 접두사를 지정하고 데이터를 유지하는 것입니다. @id = '123', 조인은 RDF 직렬화 단계에서 발생합니다 (같은 사양으로도 반대 변환을 할 수 있습니다). 이러한 사용 예에서 접두어는 객체의 @type에 종속적이며, @base 메커니즘으로는 충분하지 않습니다. 더욱이, 예를 들어 주소 URI 접두사를 "주소"JSON 속성의 값에 연결하는 것과 같이이 메커니즘을 속성에도 사용할 수있는 것이 유용 할 것입니다.

현재 JSON-LD에서 사용 가능한 것으로 보이지 않거나 뭔가 빠졌습니까? 향후 확장을위한 계획은 무엇입니까?

+0

어떤 언어를 사용하고 있습니까? – Oqhax

+1

@Oqhax, 무슨 뜻입니까? 프로그래밍 언어? 없음, 여전히 문서를 공부하고 사양을 이해하려고합니다 (프로그래밍 언어에 독립적입니다). – zakmck

+0

1) 그래서 접두어를 사용하여 값을 방지하고 싶습니까? 2) 객체가 서로 다른 어휘의 여러 유형을 가지고 있다면, 어휘의 URI는'@ id '에 대해 사용되어야합니까? 또는 귀하의 경우에 이런 일이 발생하지 않습니까? 3) 객체마다'@ base '를 지정할 수 있어야한다고 생각합니다. 이것이 당신에게 효과가 있습니까? – unor

답변

1

당신은 @id의 값에 대한 URI 기반을 만들 맥락에서 @Base를 사용할 수 있지만이 @type에서 무언가 포함되지 않습니다. 이것은 URI 템플릿을 정의하고 변수를 사용하여 유형 및 ID를 확장하여 URI를 작성함으로써 얻을 수있는 것처럼 보입니다. 템플릿 언어에서이 작업을 수행하고 JSON-LD를 만들 수는 있지만 직접 JSON-LD 자체에서는 만들 수 없습니다. 미래에 언어에 포함 된 기능이 될 가능성은 낮습니다. 응용 프로그램이 매우 좁기 때문에 마찬가지입니다.

+0

감사합니다. 그레그, 나는 같은 결론에 도달했다. 애플리케이션별로 다르긴하지만 어쩌면 템플릿이 너무 복잡해서 템플릿 작성과 같은 솔루션으로 인해 더 많은 관심이 분리 될 수 있습니다. – zakmck