首页 > 解决方案 > Py2neo (V4) - CypherSyntaxError: 变量 `$x` 未定义

问题描述

我正在尝试以我能想到的最简单的方式使用 py2neo 在我的 neo4j 数据库中创建一个节点。这是一个例子:

from py2neo import Graph, Node

db = Graph()
node = Node('band', name='The Yeah Yeah Yeahs')
db.create(node)

有了这个(及其每一个变体),我得到以下错误:

neo4j.exceptions.CypherSyntaxError: Variable `$x` not defined (line 1, column 8 (offset: 7))
"UNWIND $x AS data CREATE (_:band) SET _ = data RETURN id(_)"

我已经尝试了我能想到的每一种排列方式,但在我的代码中仍然看不到任何可能导致语法错误的东西。这似乎是某种用于生成密码查询以创建节点的内部机制,但即使有完整的堆栈跟踪,我也无法追踪此错误可能来自何处或可能导致它的原因.

我正在使用一个使用 Python 3.7.2 和 py2neo 4.1.3 的虚拟环境。

任何想法或见解将不胜感激。首先十分感谢。

标签: pythonpython-3.xneo4jpy2neo

解决方案


您使用的是哪个版本的 Neo4j?$x替换旧语法{x}和错误消息意味着$x无法识别。如果这不是最新版本,请尝试升级您的数据库并重试。


推荐阅读