2012-04-01 29 views
2

什麼是最直接的方式來找到所有節點,使用Gremlin與特定節點共享雙向邊緣?例如,我想查找所有跟蹤我的用戶。如果我跟着他們,他們跟着我,那我們一定是朋友。否則,這種關係是一種方式。如何找到以下誰也跟着我Gremlin

答案可能太明顯,我看不到。我想出了這一點,但它似乎比必要的更復雜:

me=g.v(_id); me.out('follows').as("following").out('follows').filter{it == me}.back("following") 

回答

4

解決的辦法是:

me.out('follows').out('follows').retain([me]).back(2) 

這是說:

  1. 開始和我在一起。
  2. 找出我關注的人。
  3. 找出他們關注的人。
  4. 殺死不會回到我身邊的路徑。
  5. 回到那些追隨我的人。 (這也是我遵循的人)。