获取所有相关顶点的最佳 gremlin 查询

Most optimal gremlin query for getting all related vertices

我需要获取通过任意数量的关系与起始顶点相关的所有顶点。我有一个有效的查询,但在几百条边和图形的复杂性之后它开始显着变慢。有没有更有效的获取相关顶点的方法?

g.V(id)
 .emit()
 .repeat(both())
 .until(cyclicPath())
 .unfold()
 .dedup()
 .toList()

对于具有 202 个顶点、259 条边的子图,我们注意到了性能下降的一个例子。在运行个profile之后,好像发出了1,444,439次遍历,耗时80s左右。

其他信息:这来自 运行 使用 AWS Neptune 1.0.1.0.200258.0

看起来您只想找到所有以某种方式连接到初始顶点的顶点。试试这个查询(它不启用路径跟踪,因此应该快得多):

g.V(id).emit().repeat(both().dedup())