[英]Mutual followers cypher script - neo4j
我正在努力尋找共同的追隨者。 關注我 (ID) 並關注我的一位關注者 (followerID) 的人。 關系是 [:FOLLOWS{status:accepted}] 。
例如 MATCH (user:User)-[:FOLLOWS {status: 'accepted'}]->(:User {ID:$ID}) RETURN user
這個查詢給了我的追隨者。
當給出 ID 和 followerID 時,我如何找到共同的關注者?
嘗試以下查詢:
MATCH (user:User)-[:FOLLOWS {status: 'accepted'}]->(:User {ID:$ID})
WITH collect(user) as followers
UNWIND followers as follower
MATCH (follower)-[:FOLLOWS {status: 'accepted'}]->(node)
WHERE node in followers
RETURN follower
你可以找到這樣的三角形。 您可以在不指定 followerID 的情況下獲取您自己的關注者之一的關注者。
MATCH (me:User {ID:$ID})<-[:FOLLOWS {status: 'accepted'}]-(mutualFollower:User),
(mutualFollower)-[:FOLLOWS {status: 'accepted'}]->(myFollower:User),
(myFollower)-[:FOLLOWS {status: 'accepted'}]->(me)
// return the list of your followers, with for each the list of followers that you have in common.
RETURN myFollower.ID AS myFollower,
COLLECT(DISTINCT mutualFollower.ID) AS mutualFollowers
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.