Хранение транзакций в привязках Redland Python? - PullRequest
5 голосов
/ 01 ноября 2008

В настоящее время я просматривал привязки Python для Redland и не нашел чистого способа совершать через него транзакции на движке хранилища. Я нашел несколько модельных транзакций в низкоуровневом модуле 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 Ответ

4 голосов
/ 03 ноября 2008

Да, это должно работать. В настоящее время нет удобных функций для класса модели в оболочке Python, но они будут похожи на то, что вы написали:

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