Redland的Python绑定存储事务?

时间:2008-10-31 23:42:20

标签: python transactions rdf rdfstore redland

我目前正在浏览Redland的Python绑定,并且还没有找到一种通过它在存储引擎上进行事务处理的简洁方法。我在低级Redland模块中找到了一些模型事务:

import RDF, Redland

storage = RDF.Storage(...)
model = RDF.Model(storage)
Redland.librdf_model_transaction_start(model._model)
try:
    # Do something
    Redland.librdf_model_transaction_commit(model._model)
    model.sync()
except:
    Redland.librdf_model_transaction_rollback(model._model)

这些还会转换为存储层吗?

谢谢: - )

1 个答案:

答案 0 :(得分:4)

是的,这应该有效。 python包装器中的模型类没有便利函数,但它们与你写的类似:

class Model(object):
  ...
  def transaction_start(self):
    return Redland.librdf_model_transaction_start(self._model)