Вопрос

В настоящее время я просматривал привязки 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)

Они также переносятся на уровень хранения?

Спасибо: -)

Это было полезно?

Решение

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

class Model(object):
  ...
  def transaction_start(self):
    return Redland.librdf_model_transaction_start(self._model) 
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top