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 に答える