首页 文章

在neo4j cypher 3.0中为变量分配路径时出错

提问于
浏览
1

我试图通过shell运行neo4j 3.0.3的简单cypher查询 . 我的查询如下:

MATCH p=(me)<-[:contains*1..10000]-(end) RETURN p;

当我尝试运行此查询时,我收到以下错误:

警告:无效输入'=':预期标识符字符,节点标签,属性映射,关系模式,',',USING,WHERE,LOAD CSV,START,MATCH,UNWIND,MERGE,CREATE,SET,DELETE,删除,前进,使用,呼叫,返回,联盟,';'或输入结束(第1行,第8列(偏移:7))“匹配p =(我)< - [:包含* 1..10000] - (结束)返回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的路径分配时,例如在以下查询中:o

MATCH (me)<-[:contains*1..10000]-(end) RETURN me;

这个查询执行得很好 .

我已经阅读了密码手册并找到了大量使用匹配子句的示例,就像在我的代码中一样为变量分配路径 .

什么线索我做错了什么?

1 回答

  • 0

    事实证明这实际上是项目设置的问题 . 我在maven管理的大型项目中使用neo4j . 设置是这样的,旧版本的parboiled覆盖了neo4j 3使用的版本 . 这个旧版本无法成功解析这些查询 .

相关问题