簡體   English   中英

使用py2neo事務更改節點屬性

[英]Change Node properties with py2neo transaction

我正在嘗試使用py2neo作為事務的一部分更新節點。

問題是我似乎找不到Graph.push()的等效項,例如Transaction.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 )

作為一個用例,我使用事務是因為它看起來可以在執行數千次操作時運行得更快,而不是因為我需要回滾功能。

您的整個方法主體可以替換為以下內容,該內容在事務中運行等效的Cypher語句:

t.run(
  "MERGE (n:Node {name: {name}}) SET n.size = {size}",
  {"name": self.name(), "size": self.get_size()}
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM