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(*)
我有下图: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(*)