使用py2neo更新节点属性不能用于远程

2024-05-06 07:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Neo4j数据库中有一个节点,我使用py2neo接口的find_one()方法检索该节点。在

profile = graph.find_one('Facebook','fb_id', fb_id)
profile['nb_friends'] = nb_friends  # a list of posts
profile.push()  

上面的语句在更新本地Neo4j数据库时可以正常工作,但在使用远程Neo4j服务器时则不行(没有任何更改)。在

但是,如果我运行原始Cypher查询,它可以在本地和远程运行。在

^{pr2}$

你知道为什么会这样吗?怎么解决?在

注意:我对服务器配置所做的唯一修改是禁用身份验证。


Tags: 方法id数据库facebookfb节点远程find
2条回答

如果本地/远程方面在这里有直接意义,我会感到惊讶。Py2neo不知道或不关心服务器的位置,也不为localhost采用不同的代码路径。在

我建议确保您在两台服务器上使用相同的版本,您的连接uri都有相同的路径(应该以斜杠结尾),并且两台服务器上的数据相似。在

您可能还遇到了以下错误: https://github.com/nigelsmall/py2neo/issues/395

空列表不支持作为属性值,并且py2neo有一个错误,当尝试此操作时,push会自动失败。在下一个版本中将对此引发一个异常。在

我知道这是个老问题,但我在Py2Neo3上也遇到过类似的问题(图形推送()正在无声地失败)。原来我使用的是我在事故中安装的旧版本的Neo4j(2.1.7)。请尝试下载较新版本并重试。在

相关问题 更多 >