简体   繁体   English

小精灵遍历

[英]Gremlin Traversal

EDITED : After @Prashant answer I understood order of my output needs to be preserved, so accordingly I have edited my original question and reposted.已编辑:@Prashant 回答后,我知道需要保留输出的顺序,因此我编辑了原始问题并重新发布。

Below is my graph:下面是我的图表: 在此处输入图片说明

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(1).addE('related').to(V(2))
g.V(1).addE('related').to(V(3))
g.V(3).addE('related').to(V(4))
g.V(3).addE('related').to(V(5))
g.V(3).addE('related').to(V(7))
g.V(5).addE('related').to(V(6))
g.V(7).addE('related').to(V(8))
g.V(7).addE('related').to(V(10))
g.V(8).addE('related').to(V(9))
g.V(10).addE('related').to(V(11))
g.V(10).addE('related').to(V(12))
g.V(2).addE('chose').to(V(13))
g.V(6).addE('chose').to(V(13))
g.V(7).addE('chose').to(V(13))
g.V(9).addE('chose').to(V(13))
g.V(11).addE('chose').to(V(13))
g.V(12).addE('chose').to(V(13))

I want to traverse from root node (2) to leaf nodes (1, 6, 8, 3, 11 and 12).我想从根节点 (2) 遍历到叶节点 (1、6、8、3、11 和 12)。 While such traversal I want to fetch nodes which are connected to product node 13 ie) I wish to write a query which returns 1, 8, 9 3, 11 and 12.虽然这样的遍历我想获取连接到产品节点 13 的节点,即)我希望编写一个返回 1、8、9、3、11 和 12 的查询。

@Prashant's answer: @Prashant 的回答:

g.V().repeat(out().simplePath()).until(out().hasLabel("product")).dedup()

outputs产出

==>v[1]
==>v[9]
==>v[8]
==>v[3]
==>v[11]
==>v[12]

However order of my required output is 1, 8, 9, 3, 11 and 12. Any help here, please?但是,我需要的输出顺序是 1、8、9、3、11 和 12。请问有什么帮助吗? Thanks!!谢谢!!

下面的查询应该可以完成这项工作。

g.V().repeat(out().simplePath()).until(out().hasLabel("product")).dedup()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM