簡體   English   中英

相互追隨者密碼腳本 - neo4j

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM