2008-10-31 6 views
5

मैं वर्तमान में रेडलैंड के लिए पायथन-बाइंडिंग के माध्यम से स्किमिंग कर रहा हूं और इसके माध्यम से स्टोरेज इंजन पर लेनदेन करने का एक साफ तरीका नहीं मिला है। मैं निम्न स्तर 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

हां, यह काम करना चाहिए। पाइथन रैपर में मॉडल क्लास के लिए अभी कोई सुविधा कार्य नहीं है लेकिन वे आपके द्वारा लिखे गए समान होंगे:

class Model(object): 
    ... 
    def transaction_start(self): 
    return Redland.librdf_model_transaction_start(self._model) 
संबंधित मुद्दे