微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JSON-LD:将自定义 URI 分配给上下文中的空白节点

如何解决JSON-LD:将自定义 URI 分配给上下文中的空白节点

我正在尝试将一个非常大的 JSON 文件转换为 JSON-LD。当我将下面的示例代码导入 GraphDB 时,db:Metadata 成为一个属性/谓词,将每个 Geneset:setX 节点与一个自动创建的空白节点 _:bX(图中灰色)连接起来,其中的属性 { {1}} 和 set_name 然后指向它们对应的值。

Linked data example

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 举报,一经查实,本站将立刻删除。