1

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

4

1 回答 1

5

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

一些工具具有解析器设置,可以选择性地保留节点 ID。我不知道 RDFLib 是否支持这一点,但即使支持:除非您有一个非常具体的用例,否则您不应该依赖保留的空白节点 ID。它们被称为空白是有原因的:它们的 id 出于所有意图和目的都是“未知的”。

于 2016-08-15T20:59:59.783 回答