/** * @see GraphTraversal#fold(Object, BiFunction) */ public static <A, B> GraphTraversal<A, B> fold(final B seed, final BiFunction<B, A, B> foldFunction) { return __.<A>start().fold(seed, foldFunction); }
@Override public Traversal<Vertex, String> get_g_V_name_fold_maxXlocalX() { return g.V().values("name").fold().max(Scope.local); }
@Override public Traversal<Vertex, Double> get_g_V_age_fold_meanXlocalX() { return g.V().values("age").fold().mean(Scope.local); }
public static <S, E> Traversal.Admin<S, E> convertValueTraversal(final Traversal.Admin<S, E> valueTraversal) { if (valueTraversal instanceof ElementValueTraversal || valueTraversal instanceof TokenTraversal || valueTraversal instanceof IdentityTraversal || valueTraversal instanceof ColumnTraversal || valueTraversal.getStartStep() instanceof LambdaMapStep && ((LambdaMapStep) valueTraversal.getStartStep()).getMapFunction() instanceof FunctionTraverser) { return (Traversal.Admin<S, E>) __.map(valueTraversal).fold(); } else return valueTraversal; }
@Override public Traversal<Vertex, Edge> get_g_V_localXoutE_foldX_unfold() { return g.V().local(outE().fold()).unfold(); }
@Override public Traversal<Vertex, List<Vertex>> get_g_V_hasLabelXpersonX_fold_orderXlocalX_byXageX() { return g.V().hasLabel("person").fold().order(Scope.local).by("age"); }
@Override public Traversal<Integer, List<Integer>> get_g_injectX2X_chooseXisX1X__constantX10Xfold__foldX() { return g.inject(2).choose(__.is(1), __.constant(10).fold(), __.fold()); } }
@Override public Traversal<Integer, List<Integer>> get_g_injectX1X_chooseXisX1X__constantX10Xfold__foldX() { return g.inject(1).choose(__.is(1), __.constant(10).fold(), __.fold()); }
@Override public Traversal<Vertex, Map<Integer, String>> get_g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX() { return g.V().hasLabel("person").values("name").fold().order(Scope.local) .<Map<Integer, String>> index().with(WithOptions.indexer, WithOptions.map); } }
/** * Creates or updates a user. */ public default GraphTraversal<S, Vertex> user(final String username, final String password) { return has(VERTEX_LABEL_USER, PROPERTY_USERNAME, username). fold(). coalesce(__.unfold(), __.addV(VERTEX_LABEL_USER).property(PROPERTY_USERNAME, username)). property(PROPERTY_PASSWORD, BCrypt.hashpw(password, BCrypt.gensalt(CredentialTraversalDsl.BCRYPT_ROUNDS))); } }
@Override public Traversal<Vertex, Map<String, List<Object>>> get_g_withSideEffectXa__marko_666_noone_blahX_V_groupXaX_byXnameX_byXoutE_label_foldX_capXaX(final Map<String, List<Object>> m) { return g.withSideEffect("a", m).V().group("a").by("name").by(outE().label().fold()).cap("a"); }
@Benchmark public List<List<Object>> g_V_out_localXout_out_valuesXnameX_foldX() throws Exception { return g.V().out().local(out().out().values("name").fold()).toList(); }
@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, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_tailXlocalX() { return g.V().as("a").out().as("a").out().as("a").<String>select(Pop.mixed, "a").by(unfold().values("name").fold()).tail(local); }
@Override public Traversal<Vertex, List<String>> get_g_V_asXaX_in_asXaX_in_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_limitXlocal_2X() { return g.V().as("a").in().as("a").in().as("a").<List<String>>select(Pop.mixed, "a").by(unfold().values("name").fold()).limit(local, 2); }
@Override public Traversal<Vertex, String> get_g_V_asXaX_in_asXaX_in_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_limitXlocal_1X() { return g.V().as("a").in().as("a").in().as("a").<List<String>>select(Pop.mixed, "a").by(unfold().values("name").fold()).limit(local, 1); }
@Override public Traversal<Vertex, String> get_g_V_asXaX_out_asXaX_out_asXaX_selectXmixed_aX_byXunfold_valuesXnameX_foldX_rangeXlocal_4_5X() { return g.V().as("a").out().as("a").out().as("a").<List<String>>select(Pop.mixed, "a").by(unfold().values("name").fold()).range(local, 4, 5); }
@Override public Traversal<Vertex, Map<String, Object>> get_g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_descX() { return g.V().as("v").map(__.bothE().<Double>values("weight").fold()).sum(Scope.local).as("s").select("v", "s").order().by(__.select("s"), Order.desc); }
@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, Map<String, Map<String, Object>>>> getCoworkerSummaryOLTP() { return g.V().hasLabel("person").filter(outE("created")).as("p1") .V().hasLabel("person").where(neq("p1")).filter(outE("created")).as("p2") .map(out("created").where(in("created").as("p1")).values("name").fold()) .<String, Map<String, Map<String, Object>>>group().by(select("p1").by("name")). by(group().by(select("p2").by("name")). by(project("numCoCreated", "coCreated").by(count(local)).by())); }