我有两个查询删除了图中相同初始顶点的某些顶点
g.V(id).outV().drop().iterate()
g.V(id).drop().iterate()
是否可以将这两个查询合并为一个?
第二个问题是如何在顶点被删除之前对其执行一些终端操作,我尝试了sideEffect,但它需要返回值
g.V(id).outV().sideEffect(outV().forEachRemainig(x -> // do something)).drop()
对于您最初的问题,您可以通过如下所示的 sideEffect()
来完成此操作:
g.V(id).sideEffect(out().drop()).drop()
对于第二次遍历,您可以通过将< code>sideEffect()切换到执行drop,然后将剩余的操作作为主遍历流的一部分来完成。由于< code>sideEffect()将传入的遍历流式传输到输出,因此您可以对它们执行如下操作:
g.V(id).sideEffect(drop()).valueMap()
这里需要注意的是,在最初的遍历中,你使用了g.V(id)。outV()这是不允许的,因为< code>outV()只在边上工作,所以我将其更改为< code>out(),它会带您到相邻的顶点。