如何在neo4j cypher查询中使用参数

时间:2017-04-05 14:45:47

标签: neo4j cypher

在分配参数值时,Cypher官方文档似乎不一致和误导。我们在refcard中有以下示例:

SET n.property1 = $value1

其中value1是定义的参数

{
 "value1": somevalue
}

但是,如果使用此SET语法,则会得到未定义的错误值1。正确的语法似乎是:

SET n.property1 = {value1}

如果它的MATCH查询参数如下所示:

  {
     email: someemail
    }

请注意电子邮件周围没有引号 因此,如果您有带参数的MATCH和SET查询,则参数定义如下所示:

{
email: someemail,
"status" : somestatus
}

有人可以解释这种明显的不一致吗?

编辑: 这也是neo4j文档的一个例子:

使用带有SET子句的参数:

{
  "surname" : "Taylor"
}

MATCH (n { name: 'Andres' })
SET n.surname = $surname
RETURN n

这会返回姓氏未定义。

1 个答案:

答案 0 :(得分:0)

您可以使用:params 在neo4j桌面浏览器中设置参数。

例如,

  1. 执行,:params {surname: 'Taylor'}
  2. 执行,MATCH (n { name: 'Andres' }) SET n.surname = $surname RETURN n
  3. 有关参数的更多信息,请使用:help params