【问题标题】:Gremlin traversal using both in and out edgesGremlin 使用进出边缘遍历
【发布时间】:2015-10-06 18:22:33
【问题描述】:

我正在尝试从给定的根节点开始遍历图形的所有节点。遍历时我想“修复”从前一个顶点到当前顶点的边,以便边从前一个顶点到当前顶点(可能是相反的方式,但结束图应该是一棵树以根顶点为根)。

问题似乎是被遍历的边缘并不都是严格的外边或内边。

我正在尝试创建广度优先遍历(我不应该先做广度吗?),但由于有进出边缘,我开始的查询看起来像这样

g.v('rootVertex').as('x').both.gather.scatter.loop('x'){true}{true}

由于“.both”(我认为),这似乎正在创建一个无限循环。

有没有办法在 gremlin 中执行此操作,不会创建无限循环并允许我修复/验证前一个节点的边缘?

另外,我能否获得一个简单的示例来说明查询的“gather.scatter”部分?我无法想象这一步到底是什么。

【问题讨论】:

    标签: java gremlin


    【解决方案1】:

    添加simplePath 步骤以防止遍历在两个节点之间循环:

    g.v('rootVertex').as('x').both().simplePath().loop('x'){true}{true}
    

    【讨论】:

    • 啊啊啊啊啊啊啊啊啊啊啊之前没见过simplePath这个选项谢谢!
    猜你喜欢
    • 2019-03-22
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2021-12-21
    • 2020-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多