问题描述
目前正在生产中使用的版本。
NEO4J==3.2.2
python3.8 py2neo==3.1.2
现在升级到新版本
py2neo==4.2.0
我遇到了错误。
使用 py2neo==3.1.2 这段代码运行良好
selector = Nodeselector(graph)
student_node = selector.select("school",studen_key=studen_key).first()
selector = NodeMatcher(graph)
student_node = selector.match("school",studen_key=studen_key).first()
但它正在抛出错误。
py2neo.database.ClientError: SyntaxError: Invalid input '{': expected "+" or "-" (line 1,column 39 (offset: 38))
"MATCH (_:student) WHERE _.student_key = {1} RETURN _"
解决方法
这里py2neo版本和Neo4j版本不匹配。升级到 py2neo 版本 4.anything 仍然会给你一个已有几年历史的版本,为当时的 Neo4j 构建。从那时起,参数语法发生了变化,因此您不能使用较旧的 Neo4j 版本的旧驱动程序。
改为升级到更新版本的 py2neo。