问题描述
我一直在尝试使用 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 为什么它不能与其他函数调用一起使用