如果您正在寻找快速的性能,那么我建议您使用
Raptor与
Redland Python Bindings.Raptor,C写的性能比RDFLib好.你可以使用python绑定,以防你不想处理C.
另一种提高性能的建议,忘记解析RDF / XML,与Turtle或NTriples等RDF的其他风格一样,特别解析ntriples比解析RDF / XML要快得多.这是因为ntriples语法更简单.
您可以使用rapper(一种与猛禽配合使用的工具)将RDF / XML转换成ntriples:
rapper -i rdfxml -o ntriples YOUR_FILE.rdf > YOUR_FILE.ntriples
ntriples文件将包含三元组,如:
.
"literal" .
并且解析器往往非常有效地处理这种结构.此外,内存明智比RDF / XML更有效率,因为如您所见,这种数据结构更小.
下面的代码是使用redland python绑定的简单示例:
import RDF
parser=RDF.Parser(name="ntriples") #as name for parser you can use ntriples, turtle, rdfxml, ...
model=RDF.Model()
stream=parser.parse_into_model(model,"file://file_path","http://your_base_uri.org")
for triple in model:
print triple.subject, triple.predicate, triple.object
如果您在RDF文档中使用相对URI,则基本URI是前缀URI.您可以在here中检查有关Python Redland绑定API的文档
如果您不关心性能,那么使用RDFLib,它是简单易用的.