2013-02-06 86 views
3

我對此有些困惑了一段時間,但我終於學會了如何使用Raptor和Redland Python擴展來解析大型N-Triples RDF存儲(.nt)。通過流解析N-Triples

一個常見的例子是做到以下幾點:默認加載的對象

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而不加載到模型或任何類似的複雜?

回答

2
import RDF 

parser=RDF.NTriplesParser() 

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

你可以看看[這個問題](http://stackoverflow.com/questions/42493215/parse-rdf-file-python)? – Stuart2041