我正在尝试将一个非常大的 JSON 文件转换为 JSON-LD。当我将下面的示例代码导入到 GraphDB 中时,db:metadata
成为一个属性/谓词,将每个GeneSet:setX
节点与一个自动创建的空白节点_:bX
(图中灰色)连接起来,然后属性从中set_name
指向set_id
它们对应的值。
{
"@context":{
"xsd": "http://www.w3.org/2001/XMLSchema#",
"db": "http://example.com/setDB#",
"_id": "@id",
"GeneSet": {"@id": "db:GeneSet"},
"data": {"@id": "db:metadata"},
"set_name": {
"@id": "db:set_name",
"@type": "xsd:string"
},
"set_id": {
"@id": "db:set_id",
"@type": "xsd:string"
}
},
"@graph": [
{
"_id": "GeneSet:set1",
"data": {
"set_name": "set1",
"set_id": "M123"}},
{
"_id": "GeneSet:set2",
"data": {
"set_name": "set2",
"set_id": "M456"}},
{
"_id": "GeneSet:set3",
"data": {
"set_name": "set3",
"set_id": "M789"}
}]
}
我想将这些空白节点转换为实际的 URI,最好使用唯一的形式db:setX/data
,但更通用的db:data
也可以。"@id": "db:data/setX"
我知道我可以通过在每个定义的大括号内添加来实现前者"data": {...}
,但由于我的完整数据有超过 100,000 个这些 GeneSet,我想通过简单地修改@context
.
这可能吗?