RDFLib空白节点打印

时间:2016-08-15 20:01:47

标签: python rdf rdflib blank-nodes

我有一个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文件空白节点名称?

1 个答案:

答案 0 :(得分:5)

你(可能)不能。空白节点id对于它们所在的特定文件是本地的,它们不能保证在不同的序列化之间保留。 RDFLib只是用自己的新内部id替换id。

某些工具具有解析器设置,可选择保留节点ID。我不知道RDFLib是否支持这一点,但即使它确实如此:除非你有一个非常特定的用例,否则你不应该依赖于保留的空白节点id。它们被称为空白有一个原因:它们的id用于所有意图和目的&#34; unknown&#34;。