【问题标题】:Search path in gremlin upto a given distance在 gremlin 中搜索路径到给定距离
【发布时间】:2018-06-27 11:43:33
【问题描述】:

我想找到 2 个顶点之间的路径,直到找到路径或距离超过给定值(比如 10)。

例如,说一个图表(A)->(B)<-(C)<-(D)<-(E)->(F)<-(G)<-(H)->(I)。最大距离为 4。因此,如果我搜索路径(A-E),我会得到ABCDE,但如果我搜索(B-G),我会得到"too far away"

我目前使用它来查找 2 个顶点之间的路径: g.V(nodeID1).repeat(__.both().simplePath()).until(__.hasId(nodeID2)).path().limit(limit).toList()

顺便说一句,我正在使用 gremlin_python 进行此操作

我发现了这个问题 (Limiting depth of shortest path query using Gremlin on JanusGraph),这会对我有所帮助。但是还没有回答。

【问题讨论】:

    标签: python path gremlin janusgraph


    【解决方案1】:

    您只需在until() 中添加另一个中断条件:

    g.V(nodeID1).
      repeat(__.both().simplePath()).
        until(__.hasId(nodeID2).or().loops().is(eq(4))).
      hasId(nodeID2).limit(limit).path().toList()
    

    如果列表为空,则在给定距离内未找到路径。


    蟒蛇编辑:
    g.V(nodeID1).
      repeat(__.both().simplePath()).
        until(__.hasId(nodeID2).or_().loops().is_(P.eq(4))).
      hasId(nodeID2).limit(limit).path().toList()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-20
      • 2021-04-07
      • 1970-01-01
      • 1970-01-01
      • 2010-12-28
      相关资源
      最近更新 更多