如何排除 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))
例如我想在查询时排除一些顶点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))