我试图编写一个使用聚合来回退最相关路径的Cypher查询。我想要的路径在下面的MATCH子句中描述
MATCH p=(a:TYP1)--(b:TYP2)--(c:TYP3)--(d:TYP4)
RETURN a, count(distinct d) as cntTYP4
ORDER BY cntTYP4 DESC
这将生成TYP1的节点列表,这些节点按照它们在MATCH子句中链接到的TYP4节点的数量按降序排序。我想做的是返回所有路径p,其中cntTYP4> 5(例如)。我到目前为止构建查询的尝试都没有成功。希望我错过了一些明显的东西!
答案 0 :(得分:1)
您可以使用WITH
执行此操作。类似的东西:
MATCH p=(a:TYP1)--(b:TYP2)--(c:TYP3)--(d:TYP4)
WITH a, count(distinct d) as cntTYP4
WHERE cntTYP4 > 5
RETURN a, cntTYP4
ORDER BY cntTYP4 DESC
HTH,
安德烈斯