Gremlin 查询以获取所有直接和间接相关的顶点

Gremlin query to get all the directly as well as indirectly related vertices

我有一个图形数据库,其中有一个根顶点和一些 "id= Xyz"。这个顶点与另外 3 个顶点相关,其边具有 "child" 的关系。 现在这 3 个顶点本身有 2 个连接的顶点,每个顶点具有与 "child".

相同的关系

我想获取所有直接或间接连接的顶点的信息,以保持嵌套结构。 JSON 输出应该是间接顶点的嵌套形式。

我们能做到吗?

如果树的深度增加到n怎么办 请帮助

不确定您希望数据如何显示,但您可以通过多种方式实现:

使用 path 得到一棵完整的树:

g.V().hasLabel('root').emit().repeat(out()).path()

如果您只想要两个级别:

g.V().hasLabel('root').emit().repeat(out()).times(2).path()

如果你想要特定的数据结构,你也可以使用project步骤:

g.V().hasLabel('root').project('v', 'c').
    by(id).
    by(out().project('v', 'c').by(id).
        by(out().id().fold()).fold())

示例:https://gremlify.com/at