【发布时间】:2021-12-21 11:22:16
【问题描述】:
已编辑:在@Prashant 回答后,我明白我的输出顺序需要保留,因此我编辑了我的原始问题并重新发布。
g.addV('person').property(id, 1)
g.addV('person').property(id, 2)
g.addV('person').property(id, 3)
g.addV('person').property(id, 4)
g.addV('person').property(id, 5)
g.addV('person').property(id, 6)
g.addV('person').property(id, 7)
g.addV('person').property(id, 8)
g.addV('person').property(id, 9)
g.addV('person').property(id, 10)
g.addV('person').property(id, 11)
g.addV('person').property(id, 12)
g.addV('product').property(id, 13)
g.V(2).addE('related').to(V(1))
g.V(2).addE('related').to(V(5))
g.V(5).addE('related').to(V(6))
g.V(5).addE('related').to(V(7))
g.V(5).addE('related').to(V(9))
g.V(7).addE('related').to(V(8))
g.V(9).addE('related').to(V(4))
g.V(9).addE('related').to(V(10))
g.V(4).addE('related').to(V(3))
g.V(10).addE('related').to(V(11))
g.V(10).addE('related').to(V(12))
g.V(1).addE('chose').to(V(13))
g.V(8).addE('chose').to(V(13))
g.V(9).addE('chose').to(V(13))
g.V(3).addE('chose').to(V(13))
g.V(11).addE('chose').to(V(13))
g.V(12).addE('chose').to(V(13))
我想从根节点 (2) 遍历到叶节点 (1、6、8、3、11 和 12)。虽然这样的遍历我想获取连接到产品节点 13 的节点,即)我希望编写一个返回 1、8、9、3、11 和 12 的查询。
@Prashant 的回答:
g.V().repeat(out().simplePath()).until(out().hasLabel("product")).dedup()
输出
==>v[1]
==>v[9]
==>v[8]
==>v[3]
==>v[11]
==>v[12]
但是,我要求的输出顺序是 1、8、9、3、11 和 12,即每个级别,要求是选择一个子节点并一直遍历到它的叶节点。树的每一层的节点顺序保证是升序的。请问这里有什么帮助吗?谢谢!!
【问题讨论】:
标签: gremlin graph-databases tinkerpop