Java Neo4J无效输入';(';:应为标识符字符、空格和节点标签

Java Neo4J无效输入';(';:应为标识符字符、空格和节点标签,java,servlets,neo4j,cypher,Java,Servlets,Neo4j,Cypher,我刚刚将我的密码查询从1.8.2版移到了2.0版,这行密码失败了 start n=node(*) match p=n-[r:OWES*1..200]->n where HAS(n.taxnumber) AND NOT(n IN nodes(p)[1..-1]) return extract(s in relationships(p) :s.amount), extract(t in nodes(p) :ID(t)), length(p) ; 我在ID(t)上得到一个错误

我刚刚将我的密码查询从1.8.2版移到了2.0版,这行密码失败了

    start n=node(*) match p=n-[r:OWES*1..200]->n 
where  HAS(n.taxnumber) AND NOT(n IN nodes(p)[1..-1]) 
return extract(s in relationships(p) :s.amount), 
extract(t in nodes(p) :ID(t)), length(p) ;
我在ID(t)上得到一个错误

因为1.8.2不支持和不支持(n在节点(p)[1..-1]),如果我将此部分从2.0版本中移动,它将以同样的方式失败。
该图显示了欠公司与关系财产金额之间的关系,即多少。

我更新了另一个问题中1.8的答案

如果将查询移动到2.0,则必须将提取、筛选等中的
替换为
|

start n=node(*) match p=n-[r:OWES*1..200]->n 
where  HAS(n.taxnumber) AND NOT(n IN nodes(p)[1..-1]) 
return extract(s in relationships(p) | s.amount), 
       extract(t in nodes(p) | ID(t)), length(p) 

当我使用“AND NOT(n IN nodes(p)[1..-1])”时,我没有得到任何结果,但查询现在可以工作了。我再次得到了双重结果。
start n=node(*) match p=n-[r:OWES*1..200]->n 
where  HAS(n.taxnumber) [1..-1]) 
return extract(s in relationships(p) :s.amount), 
extract(t in nodes(p) :ID(t)), length(p) ;
start n=node(*) match p=n-[r:OWES*1..200]->n 
where  HAS(n.taxnumber) AND NOT(n IN nodes(p)[1..-1]) 
return extract(s in relationships(p) | s.amount), 
       extract(t in nodes(p) | ID(t)), length(p)