我正在尝试从给定的根节点开始遍历图的所有节点。在遍历时我想“修复”从前一个顶点到当前顶点的边缘,以便边缘从前一个顶点变为当前顶点(可能是相反的方式,但结束图应该是一棵树在根的根顶点。)
问题似乎是被遍历的边缘并非全部严格地在边缘或边缘。
我正在尝试创建一个广度优先的遍历(我不应该先做宽度吗?),但是由于有两个进出边缘,我开始的查询看起来像这样
g.v('rootVertex').as('x').both.gather.scatter.loop('x'){true}{true}
由于“.both”(我认为),这似乎创造了一个无限循环。
有没有办法在gremlin中执行此操作,不会创建无限循环并允许我修复/验证前一节点的边缘?
另外,我可以获得查询中“gather.scatter”部分的简单说明吗?我无法直观地看到该步骤正在实现的目标。
答案 0 :(得分:3)
添加enum
步骤以防止遍历在两个节点之间循环:
enum