質問

現在、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)

これらはストレージ層にも変換されますか?

ありがとう:-)

役に立ちましたか?

解決

はい、これは動作するはずです。現在、Pythonラッパーにはモデルクラス用の便利な関数はありませんが、記述したものに似ています:

class Model(object):
  ...
  def transaction_start(self):
    return Redland.librdf_model_transaction_start(self._model) 
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top