Gremlin 查询从下到上遍历图捕获顶点子项
Gremlin query to traverse graph bottom to top capturing vertex children
我们使用 Gremlin 3.2 兼容的数据库。实际上,我们在 graph/gremlin 模式下尝试 Cosmos DB。但我正在寻找 gremlin 查询,所以没有必要它只与 Cosmos DB
有关
图表如下图所示
我创建了一个能够捕获红色的查询 vertices/nodes。
g.V("A").emit().repeat(__.in('depends')).until(__.inE().count().is(0))
但努力扩展查询以捕获每个顶点的直接子节点。在图片上标为蓝色的。
任何人都可以帮助处理这样的 gremlin 查询吗?
这是在线编辑器中的查询https://gremlify.com/spml2ktk03
如果使用在线编辑器:
- 实际:B->A->D->TOP
- 预期:B-> A(包括有关 C 的信息)-> D
(包括关于 E 的信息)-> TOP
您应该能够通过使用 store() 将所有顶点存储在树中来完成您正在寻找的内容,然后对于 repeat 的每次迭代,您可以使用 sideEffect() 找到它的子节点并存储它们还有。
g.V().hasLabel('B').store('v').
repeat(__.in('depends').store('v').
sideEffect(out('depends').store('v'))).
until(__.inE().
count().is(0)).cap('v')
这个returns我:
B -> A -> C-> D -> E -> TOP
我们使用 Gremlin 3.2 兼容的数据库。实际上,我们在 graph/gremlin 模式下尝试 Cosmos DB。但我正在寻找 gremlin 查询,所以没有必要它只与 Cosmos DB
有关图表如下图所示
我创建了一个能够捕获红色的查询 vertices/nodes。
g.V("A").emit().repeat(__.in('depends')).until(__.inE().count().is(0))
但努力扩展查询以捕获每个顶点的直接子节点。在图片上标为蓝色的。
任何人都可以帮助处理这样的 gremlin 查询吗?
这是在线编辑器中的查询https://gremlify.com/spml2ktk03 如果使用在线编辑器:
- 实际:B->A->D->TOP
- 预期:B-> A(包括有关 C 的信息)-> D (包括关于 E 的信息)-> TOP
您应该能够通过使用 store() 将所有顶点存储在树中来完成您正在寻找的内容,然后对于 repeat 的每次迭代,您可以使用 sideEffect() 找到它的子节点并存储它们还有。
g.V().hasLabel('B').store('v').
repeat(__.in('depends').store('v').
sideEffect(out('depends').store('v'))).
until(__.inE().
count().is(0)).cap('v')
这个returns我:
B -> A -> C-> D -> E -> TOP