通过流解析N-Triples

时间:2013-02-06 13:27:23

标签: python rdf redland n-triples

我对此已经相当困惑了一段时间,但我终于学会了如何使用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而不将其加载到模型或类似的任何复杂内容中该怎么办?

1 个答案:

答案 0 :(得分:2)

import RDF

parser=RDF.NTriplesParser()

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