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

Merge two properties using JSON-LD framing

我正在尝试在 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

Framing is used to shape the data in a JSON-LD document, using an example frame document which is used to both match the flattened data and show an example of how the resulting data should be shaped

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

这个beeing说,重塑数据并不意味着你可以改变语义。 rdfs:labeldcterms:title 在源数据中是不同的东西,在结果中也会是不同的东西,你不能将它们合并到一个只扩展到一个 URI 的 "title" 属性 (哪一个?)。如果是这样的话,结果将与源具有不同的语义,但框架只是为了改变结构。