使用 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 框架的示例或教程。
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:label
和 dcterms:title
在源数据中是不同的东西,在结果中也会是不同的东西,你不能将它们合并到一个只扩展到一个 URI 的 "title" 属性 (哪一个?)。如果是这样的话,结果将与源具有不同的语义,但框架只是为了改变结构。
我正在尝试在 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 框架的示例或教程。
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:label
和 dcterms:title
在源数据中是不同的东西,在结果中也会是不同的东西,你不能将它们合并到一个只扩展到一个 URI 的 "title" 属性 (哪一个?)。如果是这样的话,结果将与源具有不同的语义,但框架只是为了改变结构。