我正在尝试使用params使这个查询工作没有运气。我总是得到同样的错误。
expected either node or relationship here
"start n={start} match n-[r:{rel}]-() return n, n.name, r, r.since"
^
然后,我删除了{start}
param,我使用了一个backtip(`)来表示关系,它就像一个魅力。
start n=node(*) match n-[r:`{rel}`]-() return n, n.name, r, r.since
那么,使用params的正确方法是什么?在查询中我可以在哪里使用它们?
以防万一,{start}
后退也不起作用。下一个请求也不起作用。
POST /db/data/cypher {"query": "start n=node({start}) match n-[r:`{rel}`]-() return n, n.name, r, r.since", "params": {"start": "*", "rel": "l353456"}}
我正在使用1.9M01
答案 0 :(得分:3)
反对start
(因为start是关键字)看起来像这样
POST /db/data/cypher {"query" : "start n=node({`start`}) return n", "params": {"start":0}}
在Neo4j Http控制台上测试。
答案 1 :(得分:0)
Javier,http://docs.neo4j.org/chunked/snapshot/cypher-parameters.html列出了模式,所以我认为
start n=({start}) match n-[r:XXX]-() return n, n.name, r, r.since
是你能做的。关系类型被视为更改查询的结构,因此不可参数化。您必须重新提交查询或在客户端代码中连接查询。