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