如何解决JSON-LD:将自定义 URI 分配给上下文中的空白节点
我正在尝试将一个非常大的 JSON 文件转换为 JSON-LD。当我将下面的示例代码导入 GraphDB 时,db:Metadata
成为一个属性/谓词,将每个 Geneset:setX
节点与一个自动创建的空白节点 _:bX
(图中灰色)连接起来,其中的属性 { {1}} 和 set_name
然后指向它们对应的值。
set_id
我想将这些空白节点转换为实际的 URI,最好使用唯一的形式 {
"@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"}
}]
}
,但更通用的 db:setX/data
也可以工作。我知道我可以通过在每个 db:data
定义的大括号内添加 "@id": "db:data/setX"
来实现前者,但由于我的完整数据有超过 100,000 个这些 Geneset,我想通过简单地修改 {{ 1}}。
这可能吗?
解决方法
通过 JSON-LD @context
机制(故意)不可能实现您所追求的那种“模板化”ID 生成。 @context
用于将树数据映射到图形数据,而不是转换它。
因此,在处理之前以编程方式将这些 ID 值注入 JSON-LD 是一种选择。
您可能还想在 JSON-LD WG's mailing list 上询问以获得更多选项。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。