希望了解是否可以执行任何操作以使查询在大图上具有高性能。我试图找到两个节点之间的最短路径,但排除包含某些其他类型节点的路径。问题似乎是WHERE子句。下面的查询完全停止了。
MATCH p=shortestPath((p1:Party{suprRC:"21"})-[*..15]-(p2:Party{suprRC:"21"}))
WITH p
WHERE NONE(n in nodes(p) where labels(n) in [["Reporter"],["FirstName"],["LastName"]])
RETURN p limit 500;
答案 0 :(得分:0)
比较错误,labels(n)
返回标签集合,您将匹配一个单独的String元素集合。
正如Tom所说,你可以不使用WITH,但你必须使用两个NONE
谓词
MATCH p=shortestPath((p1:Party{suprRC:"21"})-[*..15]-(p2:Party{suprRC:"21"}))
WHERE NONE(x IN nodes(p)
WHERE NONE(l IN ['Reporter','LastName', 'FirstName']
WHERE l IN labels(x)
)
)
RETURN p limit 500;