我正在测试 Redland 的 Python 绑定。从一些简单的测试来看,插入数据似乎比 RDFLib 慢很多很多倍。一个简单的脚本,例如:
import RDF
h1=RDF.HashStorage(
"/var/tmp/redland.bdb", options="hash-type='bdb', contexts='yes'")
g = RDF.Model(h1)
for i in range(10000):
if i % 100 == 0:
print('Inserting {} triples.'.format(i))
g.append(RDF.Statement(
RDF.Uri('urn:s:{}'.format(i % 1000)),
RDF.Uri('urn:p:{}'.format(i %100)),
RDF.Uri('urn:o:{}'.format(i))))
我正在使用支持 BDB 的 Python 3.5、Redland 1.0.17(手动编译)。
运行需要几分钟,而 RDFLib 需要几秒钟。10K 三元组现在是一个很小的数字,以至于这样的性能会使库几乎无法用于大多数生产场景;所以我想知道我是否在这里做错了什么。
谢谢您的帮助,
斯特凡诺