上下文
我正在rdflib中加载一个rdf文件,并试图将其导出到json-ld中。
原始的rdf看起来像:
<cim:Substation rdf:ID="_1234">
<cim:IdentifiedObject.name>A substation</cim:IdentifiedObject.name>
</cim:Substation>
导出的json-lib看起来像:
{
"@id": "file:///path/to/original/xml#_418866779",
"@type": "cim:Substation",
"cim:IdentifiedObject.name": "A substation"
},
我似乎无法覆盖json中的file:///path/to/original/xml
组件。
编码
这就是我正在做的:
from rdflib import Graph
g = Graph(
# Giving an identifier or base does not seem to change anything
)
g.parse('path to rdf')
js = g.serialize(
format="json-ld",
encoding="utf-8",
destination='path to json',
sort_keys=True, # repeatable output is Good.
context={ some relevant entries (rdf, cim) },
auto_compact=True,
# giving base does not seem to change anything
)
问题如何设置/覆盖导出的json-ld中ID的第一个组件?
1条答案
按热度按时间8gsdolmq1#
该解决方案是在
parse
方法中,参数publicID
在源代码中描述。用作文档基础的逻辑URI。如果指定None,则使用文档位置(至少在存在文档位置的情况下)。
所以我在问题中的例子变成了
其余的保持原样