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

时间:2019-10-10 14:55:52

标签: gremlin janusgraph gremlin-server gremlinpython

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

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

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

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

1 个答案:

答案 0 :(得分:2)

您将使用both().simplePath()代替bothE().has('filter_property', lt(100)).otherV()

还要注意,loops().is(lt(4))将始终在第一迭代中求值true。您可能希望成为loops().is(3)