neo4j匹配与多个节点连接的节点,将它们作为数组返回

时间:2016-03-03 19:34:38

标签: neo4j cypher

假设此示例的节点有一个用户有很多朋友(他们也是用户) 我们也假设我通过唯一的id查找用户。

如何查询以朋友的属性作为数组返回一行? 例如:

MATCH (user:User {id: "some-id"})-[:FriendsWith]->(friend:User) RETURN user, friend

现在我希望结果是一个长度为1的数组, 像这样[{user: data, friend: [array of users]}]

但是我获得了行[{user:,friend:},{user,friend:}] user在每一行都重复了..

1 个答案:

答案 0 :(得分:2)

您可以使用collect function创建一个集合:

MATCH (user:User {id: "some-id"})-[:FriendsWith]->(friend:User)
RETURN user, collect(friend.name) AS friends

使用聚合时有一个隐含的组。