我对此已经相当困惑了一段时间,但我终于学会了如何使用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而不将其加载到模型或类似的任何复杂内容中该怎么办?
答案 0 :(得分:2)
import RDF
parser=RDF.NTriplesParser()
for triple in parser.parse_as_stream("file:./mybigNTfile.nt"):
print triple.subject, triple.predicate, triple.object