我有2个节点类型,比方说A和B,以及与属性的关系,让我们用属性'value'称它为'a_has_b'
首先,我想计算A类特定节点的关系数。
MATCH (a:A)-[r:a_has_b]->(b:B)
WHERE a.id='123'
RETURN COUNT(r) as count
我还希望从关系
中获取属性所排序的前n个B.MATCH (a:A)-[r:a_has_b]->(b:B)
WHERE a.id='123'
RETURN r, b
ORDER BY r.value
LIMIT 3
现在,显然我做了两次相同的事情,改变了返回值。
如何将它们组合在一起以获得所需的结果?
答案 0 :(得分:4)
您可以合并collect
和range
:
MATCH (a:A)-[r:a_has_b]->(b:B)
WHERE a.id='123'
WITH a,
r,
b
ORDER BY r.value
RETURN a,
COUNT(r) AS count,
COLLECT([r,b])[0..3] AS rels