链接数据中的关系

通过manbetx官方网站多少

:链接数据中的关系

这是翻译的这篇德国博客文章.

即使链接数据已经存在一段时间了,对于JSON驱动的环境来说,一个坚实的标准还没有浮出水面。JSON-LD已经开始成为这个标准大长度在JSON中解释他们对链接数据的理解。

在JSON-LD中,JSON数据中丰富了有关其上下文的信息,使客户机能够明确地知道如何解释这些数据。带有嵌入链接信息的JSON数据的简单示例如下:

“@context”:“http://purl.org/jsonld/person”,“@subject”:“http://dbpedia.org/resource/john_lennon”,“name”:“john lennon”,“birthday”:“1940-10-09”,“member”:“http://dbpedia.org/resource/the_beatles”

此示例描述了一个名为“John Lennon”的人。通过@语境属性数据变为自我描述。这个@主体使客户端能够标识此特定条目。

也有可能描述附属分录可以给出的对象,例如在列表中。

这很好,但对于我的用例来说还不够。

定义关系

按照这种设计,我必须在JSON消息中包含所有相关的对象。但我想让客户决定他需要哪些辅助对象。我真正需要的是定义关系.在他的博客中JSON中的链接“马克·诺丁汉表示,这一需要根本没有得到妥善解决。JSON参考哈尔确实提供了解决方案,但它们都缺乏定义相关对象上下文的方法。只有了解关系的上下文,客户才能决定要遵循哪个关系,要放弃哪个关系。

在applictaion中,我决定使用json-ld语法并添加另一个属性:@关系.此属性是对象的关系列表。每个关系都描述相关对象的上下文关联语境以及在哪个URL下的状态(HREF)可以提取此对象。这个角色属性定义关系的类型。可选属性列表国家,如果关系实际上是对象列表。

例子:再一次,厕所。

在这个例子中,我们再次使用约翰,并定义了与他的妻子小野洋子和他写的单曲的关系。

“@context”:“http://purl.org/jsonld/person”,“@subject”:“http://dbpedia.org/resource/john_lennon”,“@relations”:[”“@context”:“http://coderbyheart.de/jsonld/relation”,“relatedcontext”:“http://purl.org/jsonld/person”,“role”:“http://gmpg.org/xfn/11配偶”,“href”:“http://dbpedia.org/page/yoko_ono”,“@context”:“http://coderbyheart.de/jsonld/relation”,“relatedcontext”:“http://dbpedia.org/ontology/single”,“role”:“http://dbpedia.org/ontology/writer”,“href”:“http://dbpedia.org/resource/john_lennon/singles/”,“列表”:真的,}“name”:“john lennon”,“birthday”:“1940-10-09”,“member”:“http://dbpedia.org/resource/the_Beatles”

通过这种方式,可以告诉客户,如果他遵循(虚构的)链接http://dbpedia.org/resource/john_lennon/singles网站/他将收到约翰写的单曲名单。由客户决定应用程序中是否存在与单个对象相关的Person对象。

结论

上述解决方案使我们能够传输所需的最少数量的数据,但仍为客户提供发现和获取相关对象的可能性。