使用JSON-LD框架合并两个属性

时间:2019-03-06 12:05:15

标签: json-ld

我正在尝试对json-ld文档中的属性进行标准化处理。一个简单的例子:

json-ld

{
  "@context": {
    "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
    "dcterms": "http://purl.org/dc/terms/"
  },
  "@graph": [
    {
      "@id": "1",
      "rdfs:label": "A title"
    },
    {
      "@id": "2",
      "dcterms:title": "Another title"
    }
  ]
}

框架(尝试失败)

{
  "type": "array",
  "items": {
    "title": ["rdfs:label", "dcterms:title"]
  }
}

这将生成一个空图,而不是:

所需的输出

[{
  "title": "A title"
},
{
  "title": "Another title"
}]

https://json-ld.org/primer/latest/#framing上的文档似乎正在开发中,实际上并没有很多有关json-ld框架的示例或教程。

Playground example

1 个答案:

答案 0 :(得分:1)

  

框架用于示例JSON-LD文档中的数据整形,其中使用示例框架文档,该文档用于匹配展平的数据并显示如何整形结果数据的示例

https://json-ld.org/spec/latest/json-ld-framing/#framing

这只蜜蜂说,重新整形数据并不意味着您可以更改语义。 rdfs:labeldcterms:title在源数据中是不同的东西,在结果中将是不同的东西,您不能将它们合并为仅扩展到一个URI(哪个是URI)的“ title”属性。如果是这样,结果的语义将与源语义不同,但是成帧仅是为了改变结构。