无效输入:[,应为“+”或“-”neo4j

问题描述 投票:0回答:1

我在 neo4j 中运行了这个查询:

MATCH (n1:`Anumber`)-[*..2]-(n2)
WHERE n1 <> n2
AND all(node in nodes(n1)-[*..2]-(n2) WHERE node:`Anumber` OR node:`Bnumber`)
WITH n1, n2, COLLECT(p) AS paths
WHERE size(paths) > 1
RETURN n1, n2, size(paths) AS degree, paths

但出现此错误:

Invalid input '[': expected "+" or "-" (line 3, column 27 (offset: 76))
"AND all(node in nodes(n1)-[*..2]-(n2) WHERE node:`Anumber` OR node:`Bnumber`)"

如何解决这个问题?

neo4j cypher
1个回答
0
投票

你可能打算使用这个逻辑:

MATCH p=(n1:Anumber)-[*..2]-(n2)
WHERE n1 <> n2 AND
  ALL(n IN NODES(p) WHERE n:Anumber OR n:Bnumber)
WITH n1, n2, COLLECT(p) AS paths
WHERE size(paths) > 1
RETURN n1, n2, size(paths) AS degree, paths
© www.soinside.com 2019 - 2024. All rights reserved.