2013-05-06 84 views

回答

1

因爲您想查找所有不是特定用戶的朋友的用戶,所以我不確定是否有非常有效的方法來執行此操作。我使用玩具圖來演示,但我假設所有頂點都是用戶,所有邊都是朋友邊。我會做這樣的事情:

gremlin> g = TinkerGraphFactory.createTinkerGraph() 
==>tinkergraph[vertices:6 edges:6] 
gremlin> l=[g.v(1)] as Set;g.v(1).out.fill(l)     
==>v[1] 
==>v[2] 
==>v[4] 
==>v[3] 

因此得到特定用戶到列表l以及他們的朋友

gremlin> g.V.except(l)           
==>v[6] 
==>v[5] 

然後找人,除那些人別的。那將是每個不是特定用戶或特定用戶本人的朋友的人。我不是特別喜歡你必須迭代g.V,因爲它涉及所有朋友的線性掃描,但我想不出任何更簡單的方法來找到不在初始集合中的所有人。