如何在JSON-LD中描述三元组的谓词/边缘?

时间:2014-04-17 19:32:39

标签: json-ld

我是JSON-LD和LOD的新手,请原谅我使用的术语。我正致力于在JSON-LD中创建数据模型,以根据欧洲数据模型(http://pro.europeana.eu/edm-documentation)描述聚合数字馆藏。

我想创建一个描述关系的@context区域:

ore:Aggregation --- edm:aggregatedCHO - > edm:providedCHO

(其中'edm:aggregatedCHO'是谓词/边缘),但我想在我的模型中将edm:ProvidedCHO标记为'sourceResource'。

目前我的@context看起来像这样:

{
    "@context": {

        "edm" : "http://www.europeana.eu/schemas/edm/",

        "sourceResource" : {
            "@id" : "edm:ProvidedCHO",
            "@type" : "edm:aggregatedCHO" 

        }
    }
}

我的目的是使用@type定义谓词('edge'),使用@id定义节点内容,但在查看W3C建议书后,这似乎不正确,'edm:providedCHO'实际上应该是@ type,因为它描述了节点的内容类型(http://www.w3.org/TR/json-ld/#typed-values)。

我的问题一般是,在JSON-LD @context语句中包含三元组谓词的位置/方式是什么?

具体来说,在这种情况下,我如何表示一个名为'sourceResource'的节点,其中包含edm:ProvidedCHO对象,每个对象都是一个edm:aggregatedCHO?

1 个答案:

答案 0 :(得分:2)

请注意,在上下文中设置@type表示该术语应该是具有该数据类型的文字;您可能希望在正文中使用此@type,如果愿意,将创建类型边

请注意,@ context不定义关系,而是定义术语,以及如何解释术语的值(以及其他一些内容)。我想你想要的是一个@context,它只是简单地定义你想要在JSON主体中使用的术语,在那里你可以定义你的节点和他们的关系。

可能类似于以下内容:

{
  "@context": {
    "edm" : "http://www.europeana.eu/schemas/edm/",
    "ore": "http://example/",
    "edm:aggregatedCHO": {"@type": "@id"}
  },
  "@id": "ore:Aggregation",
  "edm:aggregatedCHO": "edm:ProvidedCHO"
}

在JSON-LD游乐场或类似的服务或工具上测试你的JSON-LD总是好的。