当涉及到分配参数值时,Cypher官方文档似乎存在不一致和误导。在参考卡中我们有以下示例:
SET n.property1 = $value1
value1是一个定义好的参数
{
"value1": somevalue
}
然而,如果您使用此SET语法,则会出现错误值1未定义的情况。正确的语法似乎应该是:
SET n.property1 = {value1}
如果是MATCH查询,参数的格式如下:
{
email: someemail
}
注意:电子邮件地址周围不需要引号。因此,如果您有一个带有参数的匹配和设置查询,则参数定义如下:
{
email: someemail,
"status" : somestatus
}
有人能解释一下这个明显的不一致吗?
编辑: 这也是neo4j文档中的一个例子: 使用SET子句的参数:
{
"surname" : "Taylor"
}
MATCH (n { name: 'Andres' })
SET n.surname = $surname
RETURN n
这将返回姓氏未定义。
$
语法来传递参数是在3.x版本中引入的。 - William Lyon$
语法从3.1版本开始是有效的。您能展示一下您是如何传递参数的吗? - cybersam})
- MichaelE