我有一个RDF数据集,其中三元组以N-Triples格式存储,如下所示:
<http://ebola.ndssl.bi.vt.edu/country/1> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://ebola.ndssl.bi.vt.edu/vocab/country> .
_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1 <http://ebola.ndssl.bi.vt.edu/vocab/hasValue> "Guinea" .
我想用空白节点进行一些处理。我正在编写一个用Python读取这个文件的程序。我正在使用Python RDFLib库。阅读文件后,我打印其内容。但是,问题是空白节点名称的出现方式不同。例如:
_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1
is showing like following
N75424221e7df43708c3e2a135e3e888b
我需要原始RDF文件空白节点名称,如下所示:
_:AmapX3aXcountryX5fXcountryX5fXnameX5fXclassMapX40XX40X1
如何打印原始RDF文件空白节点名称?
答案 0 :(得分:5)
你(可能)不能。空白节点id对于它们所在的特定文件是本地的,它们不能保证在不同的序列化之间保留。 RDFLib只是用自己的新内部id替换id。
某些工具具有解析器设置,可选择保留节点ID。我不知道RDFLib是否支持这一点,但即使它确实如此:除非你有一个非常特定的用例,否则你不应该依赖于保留的空白节点id。它们被称为空白有一个原因:它们的id用于所有意图和目的&#34; unknown&#34;。