Gremlin - 如何在获得最短路径时过滤 属性 上的边

Gremlin - How to filter edges on property when getting shortest path

以下查询搜索从给定顶点 (377524408) 到具有 属性 test_property 边的另一个顶点的最短路径集,并在 3 次迭代后退出(即如果在 3 个遍历上没有找到顶点,我们 return 没有路径)。

s.V(377524408).repeat(both().simplePath())
    .until(or(__.bothE().has('test_feature', gt(0)), 
              loops().is(lt(4))))
    .path().dedup().toList()

但是,我想过滤上面查询遍历的边。

例如,仅遍历 属性 filter_property < 100 的边。我将如何修改上述查询以包含此边过滤器?

而不是 both().simplePath() 你会使用 bothE().has('filter_property', lt(100)).otherV().

另外,请注意,loops().is(lt(4)) 将始终在第一次迭代中评估 true。您可能希望它是 loops().is(3).