有一段时间我对此感到相当困惑,但我终于学会了如何使用 Raptor 和 Redland Python Extensions 解析大型 N-Triples RDF 存储 (.nt)。

一个常见的例子是执行以下操作:

import RDF
parser=RDF.Parser(name="ntriples")
model=RDF.Model()
stream=parser.parse_into_model(model,"file:./mybigfile.nt")
for triple in model:
    print triple.subject, triple.predicate, triple.object

Parse_into_model() 默认情况下将对象加载到内存中,因此如果您正在解析一个大文件,您可以考虑使用 HashStorage 作为您的模型并以这种方式对其进行序列化。

但是,如果您只想读取文件并说将其添加到 MongoDB 而不将其加载到模型或任何类似的复杂内容中,该怎么办?

最佳答案

import RDF

parser=RDF.NTriplesParser()

for triple in parser.parse_as_stream("file:./mybigNTfile.nt"):
  print triple.subject, triple.predicate, triple.object

关于python - 通过流解析 N-Triples,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14730255/

10-13 01:15