Мне нужен запрос, который пересекает вниз по определенному типу края до тех пор, пока он не достигнет вершины с заданным свойством ИЛИ не достигнет заданного расстояния от начальной вершины.Gremlin 3 stop repeat на указанной глубине (java)
Я могу пройти этот обход, когда он достигнет определенного типа вершин, но я не могу остановить его на заданной глубине/расстоянии. Должно быть что-то не так с тем, как я использую шаги «simplePath» и «count», но я не уверен, что это такое.
Вот код Java:
GraphTraversal<Vertex, TinkerGraph> traversal = g.V(start)
.repeat(__.outE("type").subgraph("subGraph").inV())
.until(
__.or(
//this line works just fine
__.has("type", "one"),
//this line doesn't seem to do what I expect,
//stop when the size of the path from "start" gets too long
__.simplePath().count().is(P.gt(3))
)
)
.cap("subGraph");
Так что мне нужно сделать, чтобы сделать это обход остановки, когда размер пути от «старта» вершины до текущей вершины больше 3?