有一段时间我对此感到相当困惑,但我终于学会了如何使用 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/