如何排除gremlin titan中的某些顶点

时间:2017-01-13 06:44:54

标签: titan gremlin tinkerpop3

例如,我想在查询时排除一些顶点id。

第1步:我正在接受用户跟随我(1234):

  

g.V(1234).outE("以下&#34)

输出: 9876,3246,2343,3452,1233,6545

第2步:我必须排除或删除某些ID

  

users = [3452,1233,6545];   g.V(1234).outE("以下&#34)。INV()除(用户)

输出: 9876,3246,2343。 它应该是这样的,但是除了功能之外没有用。是否有任何解决方案来过滤特定的顶点ID。

2 个答案:

答案 0 :(得分:3)

这很简单:

users = [3452, 1233, 6545]
g.V(1234).out("following").hasId(without(users))

或者只是:

g.V(1234).out("following").hasId(without(3452, 1233, 6545))

答案 1 :(得分:1)

您可以使用where步骤过滤顶点。这允许您根据其ID排除顶点。以下查询应该为您提供预期的结果:

users = [3452,1233,6545];
g.V(1234).out("following").where(__.not(hasId(within(users))))

注意,我使用out()作为outE().inV()的缩写形式,允许直接遍历邻居顶点。