/** * @see GraphTraversal#unfold() */ public static <A> GraphTraversal<A, A> unfold() { return __.<A>start().unfold(); }
@Override public Traversal<Vertex, Vertex> get_g_V_fold_unfold() { return g.V().fold().unfold(); }
@Override public Traversal<Vertex, List<Object>> get_g_V_hasLabelXsoftwareX_index_unfold() { return g.V().hasLabel("software").index().unfold(); }
@Override public Traversal<Vertex, String> get_g_V_valueMap_unfold_mapXkeyX() { return g.V().valueMap().<Map.Entry<String, List>>unfold().map(m -> m.get().getKey()); }
@Override public Traversal<Vertex, Long> get_g_V_groupCount_selectXvaluesX_unfold_dedup() { return g.V().groupCount().select(values).<Long>unfold().dedup(); }
@Override public Traversal<Vertex, Edge> get_g_V_localXoutE_foldX_unfold() { return g.V().local(outE().fold()).unfold(); }
@Override public Traversal<Vertex, Double> get_g_V_hasXageX_valueMap_mathXit_plus_itXbyXselectXageX_unfoldXX() { // https://issues.apache.org/jira/browse/TINKERPOP-1979 - should work in OLAP return g.V().has("age").valueMap().math("_+_").by(select("age").unfold()); }
@Override public Traversal<Vertex, String> get_g_V_out_in_valuesXnameX_fold_dedupXlocalX_unfold() { return g.V().out().in().values("name").fold().dedup(Scope.local).unfold(); }
@Override public Traversal<Vertex, Edge> get_g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX() { return g.V().aggregate("x").as("a").select("x").unfold().addE("existsWith").to("a").property("time", "now"); }
@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, List<Object>> get_g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX() { return g.V().hasLabel("software").values("name").fold().order(Scope.local).index() .<List<Object>> unfold().order().by(tail(Scope.local, 1)); }
@Override public Traversal<Vertex, Map<Vertex, Long>> get_g_V_both_groupCountXaX_out_capXaX_selectXkeysX_unfold_both_groupCountXaX_capXaX() { return g.V().both().groupCount("a").out().cap("a").select(Column.keys).unfold().both().groupCount("a").cap("a"); }
@Override public Traversal<Vertex, Map.Entry<String, Number>> get_g_V_hasLabelXpersonX_group_byXnameX_byXoutE_weight_sumX_unfold_order_byXvalues_descX() { return g.V().hasLabel("person").group().by("name").by(outE().values("weight").sum()).<Map.Entry<String, Number>>unfold().order().by(Column.values, Order.desc); } }
@Override public Traversal<Edge, Edge> get_g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX() { return g.addE(V().outE().label().groupCount().order(local).by(values, desc).select(keys).<String>unfold().limit(1)).from(V().has("name", "vadas")).to(V().has("name", "lop")); } }
@Override public Traversal<Vertex, Collection<String>> get_g_V_asXaX_repeatXbothX_timesX3X_emit_name_asXbX_group_byXselectXaXX_byXselectXbX_dedup_order_foldX_selectXvaluesX_unfold_dedup() { return g.V().as("a").repeat(both()).times(3).emit().values("name").as("b").group().by(select("a")).by(select("b").dedup().order().fold()).select(values).<Collection<String>>unfold().dedup(); }
@Override public Traversal<Vertex, Map<String, Map<String, Map<String, Object>>>> getCoworkerSummary() { return g.V().hasLabel("person").filter(outE("created")).aggregate("p").as("p1").values("name").as("p1n") .select("p").unfold().where(neq("p1")).as("p2").values("name").as("p2n").select("p2") .out("created").choose(in("created").where(eq("p1")), values("name"), constant(emptyList())) .<String, Map<String, Map<String, Object>>>group().by(select("p1n")). by(group().by(select("p2n")). by(unfold().fold().project("numCoCreated", "coCreated").by(count(local)).by())); }
@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()); } }