1

这是场景:我在 orient-db 中有许多用户顶点。我想检索不是特定用户的朋友的所有用户,其中朋友是优势。我需要 gremlin 命令。任何人都可以帮助我吗?谢谢你。迭戈

4

1 回答 1

2

因为您想找到不是特定用户朋友的所有用户,所以我不确定是否有一种非常有效的方法可以做到这一点。我正在使用玩具图进行演示,但我假设所有顶点都是用户,所有边都是朋友边。我会做类似的事情:

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

于 2013-05-06T21:19:03.367 回答