2016-12-01 1 views
1

私は、トランザクションの一部としてpy2neoを使用してノードを更新しようとしています。py2neoトランザクションによるノードプロパティの変更

Transaction.Push()のようなGraph.push()の同等物を見つけることができないという問題があります。私は明白な何かを欠いていますか

現時点で私のコードはこのように見えますが、明らかな????ビットを解決したいと思います。ユースケースポイントとして

def write_to_database(self, t: Transaction) -> None: 

    n = None 
    use_existing = False 

    # Not part of the transaction: 
    n = t.graph.find_one("Node", "name", self.name()) 

    if n: 
     use_existing = True 
    else: 
     n = Node(label) 
     n[ "name" ] = self.name() 

    n["size"] = self.get_size() 


    if use_existing: 
     t.??????????????? # Put this in the transaction! 
    else: 
     t.create(n) 

操作の1000のために高速に実行するように見えるので、私はロールバック機能を必要としないので、トランザクションを使用しています。

答えて

0

あなたの全体のメソッド本体は、トランザクション内の同等のサイファーステートメントを実行する、次のように置き換えることができます。

t.run(
    "MERGE (n:Node {name: {name}}) SET n.size = {size}", 
    {"name": self.name(), "size": self.get_size()} 
); 
関連する問題