2008-10-31 7 views
5

현재 Redland의 Python 바인딩을 건너 뛰었으며이를 통해 스토리지 엔진에서 트랜잭션을 수행 할 수있는 확실한 방법을 찾지 못했습니다. 저급 Redland 모듈에서 몇 가지 모델 트랜잭션을 발견했습니다.Redland의 Python 바인딩에서 저장소 트랜잭션?

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

예. 정상적으로 작동합니다. 지금은 파이썬 래퍼의 모델 클래스에 대한 편리한 함수는 없지만 여러분이 작성한 것과 비슷할 것입니다 :

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