Neo4j:Returns 多条路径的唯一 endNode

Neo4j: Returns unique endNode by multiple paths

我有下图:http://console.neo4j.org/?id=dsxkmb

我关注帕特里克、莉娜和汉斯。 Patrick 发布了他自己的视频(视频 2),但 Lena 和 Hans 只分享了这个视频(视频 2)。

现在我的声明是:

MATCH (u:User)-[follows:FOLLOW]->(n:User)-[rel:MY_VIDEO_IS|MY_SHAREVIDEO_IS]->(v:Video)
WHERE u.profilname='Me'
WITH v,n,rel
WITH DISTINCT v,n,rel
RETURN v,n,rel
LIMIT 10

这条语句returns4个结果。 3 次 "Video 2" 和 1 次 "Video 1"。但我只希望 "Video 2" 和 "Video 1" 返回 1 次。

我该如何解决?

您需要根据您关注的人(n 此处)汇总结果:

MATCH (u:User{profilname:'Me'})-[follows:FOLLOW]->(n:User)
    -[rel:MY_VIDEO_IS|MY_SHAREVIDEO_IS]->(v:Video)
RETURN v.videoname, collect(n.profilname), collect(type(rel)), count(*)