3

我创建了一些节点,以及它们与数字类型之间的关系(例如'3')。创建工作正常,但现在我无法使用 Cypher 选择它们。

因为它允许我创建它们,所以我假设我得到的错误要么是我做错了,要么是一个错误?

这是一个例子。第一个查询有效,并返回类型为“3”的关系。但是,当我将其更改为仅指定类型 3 的关系时,出现错误。

neo4j-sh (?)$ START n=node(127) MATCH n-[r]-m RETURN n, r, m;
==> +--------------------------------------------------------------------------------+
==> | n                                 | r           | m                            |
==> +--------------------------------------------------------------------------------+
==> | Node[127]{user_id:"1",name:"Bob"} | :3[0] {}    | Node[118]{category:"state"}  |

neo4j-sh (?)$ START n=node(127) MATCH n-[r:3]-m RETURN n, r, m;
==> SyntaxException: string matching regex ``(``|[^`])*`' expected but `3' found
==> 
==> Think we should have better error message here? Help us by sending this query to cypher@neo4j.org.
==> 
==> Thank you, the Neo4j Team.
==> 
==> "START n=node(127) MATCH n-[r:3]-m RETURN n, r, m"
4

1 回答 1

3

很明显,我只是需要一些睡眠。昨天在这个问题上敲了一段时间,但只是想出了答案。显然数字属于“不常见字符”类别,需要用反引号括起来。

http://docs.neo4j.org/chunked/stable/query-match.html#match-relationship-types-with-uncommon-characters

现在它工作得很好。

于 2013-04-05T17:25:16.040 回答