问题描述
我正在使用此查询来计算与节点的入和出关系:
match (a)-[]->(b)
where b.val = 11
return count(a.val) as n
union
match (b)-[]->(c)
where b.val = 11
return count(c.val) as n
解决方法
首先,通常需要在模式中指定适当的节点标签,以免系统被迫扫描每个节点。而且您可能还想添加一个index。
Degreeness checks之所以非常快,是因为它们实际上不需要遍历任何关系或聚合任何东西:
MATCH (a:Foo)
WHERE a.val = 11
RETURN SIZE((a)<--()) AS inCount,SIZE((a)-->()) AS outCount