在Cypher查询中使用聚合阈值来优化结果

时间:2014-03-13 19:52:39

标签: neo4j cypher graph-databases

我试图编写一个使用聚合来回退最相关路径的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(例如)。我到目前为止构建查询的尝试都没有成功。希望我错过了一些明显的东西!

1 个答案:

答案 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,

安德烈斯