2013-05-06 83 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,因为它涉及所有朋友的线性扫描,但我想不出任何更简单的方法来找到不在初始集合中的所有人。