5

我目前浏览了 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)

这些是否也转化为存储层?

谢谢 :-)

4

1 回答 1

4

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

class Model(object):
  ...
  def transaction_start(self):
    return Redland.librdf_model_transaction_start(self._model) 
于 2008-11-02T23:40:46.347 回答