如何在neo4j中有效地检索每个人的两个朋友

时间:2013-04-12 02:39:11

标签: nosql neo4j cypher

例如,我有一个像这样的neo4j图:

n1 -> n1
n1 -> n2
n1 -> n3
n2 -> n4
n2 -> n5
n3 -> n6

预期结果如下:

n1 -> n1
n1 -> n2
n2 -> n4
n2 -> n5
n3 -> n6

Cypher查询或REST API都可以。谢谢。

1 个答案:

答案 0 :(得分:1)

在当前版本(2.0.0-M01)中有点难看。

match a:Person-->b:Person 
return a, head(collect(b)), head(tail(collect(b))) 

很快你就可以做范围,这可能是

match a:Person-->b:Person 
return a, collect(b)[0..1]

请参阅https://groups.google.com/forum/?fromgroups=#!searchin/neo4j/subset/neo4j/nnihjVqMHbQ/PVbCe_3z85oJ

以及它的实际工作副本:

https://github.com/mneedham/neo4j/commits/