3

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

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

矿石:聚合 --- 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?

4

1 回答 1

2

请注意,在上下文中设置 @type 表示该术语应为具有该数据类型的文字;您可能想在正文中使用此@type ,如果您愿意,它将创建一个类型 edge 。

请注意,@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 总是好的。

于 2014-04-18T00:50:38.870 回答