/** * @see GraphTraversal#until(Traversal) */ public static <A> GraphTraversal<A, A> until(final Traversal<?, ?> untilTraversal) { return __.<A>start().until(untilTraversal); }
/** * @see GraphTraversal#until(Predicate) */ public static <A> GraphTraversal<A, A> until(final Predicate<Traverser<A>> untilPredicate) { return __.<A>start().until(untilPredicate); }
@Override public Traversal<Vertex, Map<String, Long>> get_g_V_repeatXbothX_untilXname_eq_marko_or_loops_gt_1X_groupCount_byXnameX() { return g.V().repeat(both()).until(t -> t.get().value("name").equals("lop") || t.loops() > 1).<String>groupCount().by("name"); }
@Override public Traversal<Vertex, String> get_g_V_repeatXrepeatXout_createdXX_untilXhasXname_rippleXXXemit_lang() { return g.V().repeat(__.repeat(out("created")).until(__.has("name", "ripple"))).emit().values("lang"); }
@Override public Traversal<Vertex, String> get_g_VX1X_repeatXoutX_untilXoutE_count_isX0XX_name(final Object v1Id) { return g.V(v1Id).repeat(out()).until(outE().count().is(0)).values("name"); }
@Override public Traversal<Vertex, String> get_g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold(Object v1Id, Object v6Id) { return g.V(v1Id).repeat(both().simplePath()).until(hasId(v6Id)).path().by("name").unfold(); } }
@Override public Traversal<Vertex, Path> get_g_V_repeatXoutXknowsXX_untilXrepeatXoutXcreatedXX_emitXhasXname_lopXXX_path_byXnameX() { return g.V().repeat(out("knows")).until(__.repeat(out("created")).emit(__.has("name", "lop"))).path().by("name"); }
@Override public Traversal<Vertex, String> get_g_V_untilXout_outX_repeatXin_asXaXX_selectXaX_byXtailXlocalX_nameX() { return g.V().until(__.out().out()).repeat(__.in().as("a")).<String>select("a").by(__.tail(local).values("name")); }
@Override public Traversal<Vertex, Map<String, String>> get_g_V_untilXout_outX_repeatXin_asXaX_in_asXbXX_selectXa_bX_byXnameX() { return g.V().until(__.out().out()).repeat(__.in().as("a").in().as("b")).<String>select("a", "b").by("name"); }
@Override public Traversal<Vertex, Path> get_g_V_hasXname_markoX_repeatXoutE_inV_simplePathX_untilXhasXname_rippleXX_path_byXnameX_byXlabelX() { return g.V().has("name", "marko").repeat(outE().inV().simplePath()).until(has("name", "ripple")).path().by("name").by(T.label); }
@Override public Traversal<Vertex, Path> get_g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX(final Object v1Id) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").and().loops().is(3)).has("name", "peter").path().by("name"); }
@Override public Traversal<Vertex, Path> get_g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX3XX_hasXname_peterX_path_byXnameX(final Object v1Id) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(3)).has("name", "peter").path().by("name"); }
@Override public Traversal<Vertex, Path> get_g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX(final Object v1Id) { return g.V(v1Id).repeat(__.both().simplePath()).until(__.has("name", "peter").or().loops().is(2)).has("name", "peter").path().by("name"); }
@Override public Traversal<Vertex, String> get_g_VX3X_repeatXbothX_createdXX_untilXloops_is_40XXemit_repeatXin_knowsXX_emit_loopsXisX1Xdedup_values(final Object v3Id) { return g.V(v3Id).repeat(__.both("created")).until(loops().is(40)).emit(__.repeat(__.in("knows")).emit(loops().is(1))).dedup().values("name"); }
public static List<Path> shortestPath(final HugeGraph graph, Object from, Object to, int maxDepth) { GraphTraversal<Vertex, Path> t = graph.traversal() .V(from) .repeat(__.out().simplePath()) .until(__.hasId(to).or().loops().is(P.gt(maxDepth))) .hasId(to) .path().by("name") .limit(1); return t.toList(); }
@Override public Traversal<Vertex, String> get_g_VX6X_repeatXa_bothXcreatedX_simplePathX_emitXrepeatXb_bothXknowsXX_untilXloopsXbX_asXb_whereXloopsXaX_asXbX_hasXname_vadasXX_dedup_name(final Object v6Id) { return g.V(v6Id).repeat("a", both("created").simplePath()).emit(__.repeat("b", __.both("knows")).until(loops("b").as("b").where(loops("a").as("b"))).has("name", "vadas")).dedup().values("name"); }
@Override public Traversal<Vertex, Map<String, List<String>>> getPlaylistPaths() { return g.V().has("name", "Bob_Dylan").in("sungBy").as("a"). repeat(out().order().by(Order.shuffle).simplePath().from("a")). until(out("writtenBy").has("name", "Johnny_Cash")).limit(1).as("b"). repeat(out().order().by(Order.shuffle).as("c").simplePath().from("b").to("c")). until(out("sungBy").has("name", "Grateful_Dead")).limit(1). path().from("a").unfold(). <List<String>>project("song", "artists"). by("name"). by(__.coalesce(out("sungBy", "writtenBy").dedup().values("name"), constant("Unknown")).fold()); } }
/** * @see GraphTraversal#until(Traversal) */ public static <A> GraphTraversal<A, A> until(final Traversal<?, ?> untilTraversal) { return __.<A>start().until(untilTraversal); }
/** * @see GraphTraversal#until(Predicate) */ public static <A> GraphTraversal<A, A> until(final Predicate<Traverser<A>> untilPredicate) { return __.<A>start().until(untilPredicate); }