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

How to exclude certain vertices in gremlin titan

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

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

g.V(1234).outE("following")

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


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

users = [3452,1233,6545]; g.V(1234).outE("following").inV().except(users)

输出: 9876,3246,2343。 它应该是这样的,但是 except 函数不起作用。有什么办法可以过滤特定的顶点id吗

您可以使用where步骤过滤顶点。这允许您根据 id 排除顶点。以下查询应该会给您预期的结果:

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

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

就这么简单:

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

或者只是:

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