你能在Neo4j中使用关系类型的数字吗?

时间:2013-04-05 17:22:08

标签: neo4j cypher graph-databases

我创建了一些节点,以及它们之间的数字类型关系(例如'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"

1 个答案:

答案 0 :(得分:3)

显然我只是需要一些睡眠。昨天我对此感到头疼了一段时间,但刚刚想出了答案。显然,数字属于“不常见的角色”类别,需要用反引号包围。

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

现在它运作得很好。