我想通过shell在neo4j 3.0.3上运行一个简单的密码查询。我的查询如下:在neo4j 3.0中为变量指定路径时出错
MATCH p=(me)<-[:contains*1..10000]-(end) RETURN p;
当我尝试运行此查询我得到以下错误:
WARNING: Invalid input '=': expected an identifier character, node labels, a property map, a relationship pattern, ',', USING, WHERE, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, CALL, RETURN, UNION, ';' or end of input (line 1, column 8 (offset: 7)) "MATCH p=(me)<-[:contains*1..10000]-(end) RETURN p" ^
当我告诉shell来取悦CYPHER使用2.3版本,运行相同的查询一切都很好:
CYPHER 2.3 MATCH p=(me)<-[:contains*1..10000]-(end) WHERE id(me)=51 AND ALL(x in nodes(p) WHERE x.rtype <> 'unknown') AND NOT (end)<-[:contains]-(:res) AND end.rtype='project' RETURN p;
当我删除的路径的分配到变量p如例如在下面的查询:○
MATCH (me)<-[:contains*1..10000]-(end) RETURN me;
此查询执行得很好。
我已阅读密码手册,并找到吨的例子,使用匹配子句分配路径的变量,就像我的代码。
任何线索我做错了什么?
我无法重现错误。您是否编辑过要添加“CYPHER 2.3”的行或者是否再次输入了该行?你确定你没有设法输入一个看起来像“=”的不同的字符吗? –
@FrankPavageau:请参阅下面的答案。这实际上是一个maven依赖问题。感谢您对此进行调查。 – Valentin