Gremlin 查询展平嵌套顶点

Gremlin query flatten nested vertices

伙计们!我想弄清楚如何从以下示例数据中获取所有嵌套的 "child" 标记顶点,从 ID=1 顶点开始,有人可以帮助我吗?

gremlin> g.addV("parent").property(id, 1)
gremlin> g.addV("parent").property(id, 2)
gremlin> g.addV("parent").property(id, 3)
gremlin> g.addV("child").property(id, 4)
gremlin> g.addV("child").property(id, 5)
gremlin> g.addV("child").property(id, 6)
gremlin> g.V(1).addE("contains").to(g.V(4))
gremlin> g.V(2).addE("contains").to(g.V(5))
gremlin> g.V(3).addE("contains").to(g.V(6))
gremlin> g.V(1).addE("has").to(g.V(2))
gremlin> g.V(2).addE("has").to(g.V(3))

我想得到以下回复:

gremlin> g.V(1)...

==>v[4]
==>v[5]
==>v[6]

谢谢!

假设你想同时遍历 "has" 和 "contains",这个查询将执行:

gremlin> g.V(1).repeat(out()).until(hasLabel("child"))
==>v[4]
==>v[5]
==>v[6]

从V(1)开始递归遍历所有出边,直到到达"child"个顶点。