Py2neo 更新现有节点

问题描述

我一直在尝试使用 py2neo 更新现有节点。 一些值得一提的事情:

OS: Arch Linux x86_64
python version: 3.8
py2neo version: 2021.0.1
ne4j version: 4.2.1
flask version: 1.1.2
Application is running inside a docker container,the actual flask website is on port 5000,neo4j interface is on port 7474 and flask connects to port 7687 (neo4j)

以下是我尝试过的几种方法

1)

def update_node(self,node_name: str,node_group: str,property_update: dict):
    return self.name_search_person(node_name=node_name,node_group=node_group).update(**property_update)
def update_node(self,property_update: dict):
        node_to_update = self.name_search_person(node_name=node_name,node_group=node_group)
        if node_to_update:
            node_to_update.update(**property_update)
            self.g.push(node_to_update)
        del node_to_update
        return 'successfully updated node'

在第二种方法中,我尝试了以下函数调用

graph_db.update_node(node_name='Andrei',node_group='Person',property_update={'name': t['Updated']})

(这只是返回 NameErrror: name 't' is not defined(我见过这个 Here

graph_db.update_node(node_name='Andrei',property_update={'name':'Updated'})

函数调用有问题还是实际的更新函数由于某种原因不起作用?

解决方法

显然,解决方案是从函数调用中删除“t”

graph_db.update_node(node_name='Andrei',node_group='Person',property_update={'name': t['Updated']}

现在是:

graph_db.update_node(node_name='Andrei',property_update={'name': ['Updated']}

老实说 IDK 为什么它不能与其他函数调用一起使用