JSON-LD:将自定义 URI 分配给上下文中的空白节点
JSON-LD: Assign custom URIs to blank nodes within context
我正在尝试将一个非常大的 JSON 文件转换为 JSON-LD。当我将下面的示例代码导入 GraphDB 时,db:metadata
变成一个 property/predicate 连接每个 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
也可以。我知道我可以通过在每个 "data": {...}
定义的大括号内添加 "@id": "db:data/setX"
来实现前者,但是由于我的完整数据有超过 100,000 个这些 GeneSets 我想通过简单地修改 @context
.
这可能吗?
通过 JSON-LD @context
机制(故意)无法实现您之后的那种“模板化”ID 生成。 @context
用于将树数据映射为图形数据,而不是对其进行转换。
因此,考虑在处理 JSON-LD 之前以编程方式将这些 ID 值注入到它是一种选择。
您可能还想在 JSON-LD WG's mailing list 上询问以获得更多选项。
我正在尝试将一个非常大的 JSON 文件转换为 JSON-LD。当我将下面的示例代码导入 GraphDB 时,db:metadata
变成一个 property/predicate 连接每个 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
也可以。我知道我可以通过在每个 "data": {...}
定义的大括号内添加 "@id": "db:data/setX"
来实现前者,但是由于我的完整数据有超过 100,000 个这些 GeneSets 我想通过简单地修改 @context
.
这可能吗?
通过 JSON-LD @context
机制(故意)无法实现您之后的那种“模板化”ID 生成。 @context
用于将树数据映射为图形数据,而不是对其进行转换。
因此,考虑在处理 JSON-LD 之前以编程方式将这些 ID 值注入到它是一种选择。
您可能还想在 JSON-LD WG's mailing list 上询问以获得更多选项。