Gremlin 在遍历路径时根据传入边过滤掉传出边

Gremlin filter out going edge based on incoming edge while traversing a path

我正在尝试使用 gremlin 遍历图,其中出边的选择取决于入边,例如,我有一个图

所以这里路径 A->B->C 是有效的,因为 arrives.time < (departs.time 并且路径 A->B->D 无效,因为 arrives.time > departs.time

g.V().has("name","A").outE().inV().outE().filter(values("time",lte(???))

关于我该怎么做的任何指示。

您可以将 where 步进与 by 调制器一起使用:

g.V().has("name","A")
  .outE("Arrives").as("arrives").inV()
  .outE("Departs").where(lte("arrives")).by("time").inV()