/** * @see GraphTraversal#flatMap(Function) */ public static <A, B> GraphTraversal<A, B> flatMap(final Function<Traverser<A>, Iterator<B>> function) { return __.<A>start().flatMap(function); }
/** * @see GraphTraversal#flatMap(Traversal) */ public static <A, B> GraphTraversal<A, B> flatMap(final Traversal<?, B> flatMapTraversal) { return __.<A>start().flatMap(flatMapTraversal); }
@Override public Traversal<Vertex, Vertex> get_g_V_asXaX_flatMapXselectXaXX() { return g.V().as("a").flatMap(select("a")); } }
@Override public GremlinSteps<GraphTraversal, P> flatMap(GremlinSteps<GraphTraversal, P> traversal) { g.flatMap(traversal.current()); return this; }
@Override public GraphTraversal<S, E> transformTraversal(final ChronoSphereTransactionInternal tx, final GraphTraversal<S, I> traversal) { return traversal.flatMap(t -> this.function.apply((t.get()))); } }
/** * @see GraphTraversal#flatMap(Function) */ public static <A, B> GraphTraversal<A, B> flatMap(final Function<Traverser<A>, Iterator<B>> function) { return __.<A>start().flatMap(function); }
/** * @see GraphTraversal#flatMap(Traversal) */ public static <A, B> GraphTraversal<A, B> flatMap(final Traversal<?, B> flatMapTraversal) { return __.<A>start().flatMap(flatMapTraversal); }
@Override public GraphTraversal<S, Object> transformTraversal(final ChronoSphereTransactionInternal tx, final GraphTraversal<S, Vertex> traversal) { return traversal.flatMap(this.eGetByName(this.eStructuralFeatureName, tx)); }
assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator); traversal = sg.V().flatMap(bothE()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = sg.V().flatMap(bothE().otherV()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator); traversal = sg.V().flatMap(both()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator);
@Override public GraphTraversal<S, Object> transformTraversal(final ChronoSphereTransactionInternal tx, final GraphTraversal<S, Vertex> traversal) { ChronoEPackageRegistry registry = tx.getEPackageRegistry(); return traversal.flatMap(this.eGetByEAttribute(this.eAttribute, registry)); }
assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(bothE()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(bothE().otherV()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(both()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator);
@Override public Traversal<Vertex, Vertex> get_g_V_asXaX_flatMapXselectXaXX() { return g.V().as("a").flatMap(select("a")); } }
@Override public GraphTraversal<S, Vertex> transformTraversal(final ChronoSphereTransactionInternal tx, final GraphTraversal<S, I> traversal) { return traversal.flatMap(traverser -> { Object value = traverser.get(); if (value instanceof EObject) { // return the vertex that represents the EObject return Iterators.singletonIterator(QueryUtils.mapEObjectToVertex(tx, (EObject) value)); } else if (value instanceof Vertex) { Vertex vertex = (Vertex) value; VertexKind kind = ChronoSphereGraphFormat.getVertexKind(vertex); if (Objects.equal(kind, VertexKind.EOBJECT)) { // this vertex represents an EObject return Iterators.singletonIterator(vertex); } else { // whatever this vertex is, it's not an EObject return Collections.emptyIterator(); } } else { return Collections.emptyIterator(); } }); }
.V() .filter(Lambda.predicate("it.get().label().equals('person')")) .flatMap(Lambda.function("it.get().vertices(Direction.OUT)")) .map(Lambda.<Traverser<Object>, Integer>function("it.get().value('name').length()")) .sideEffect(Lambda.consumer("{ x -> x.sideEffects(\"lengthSum\", x.<Integer>sideEffects('lengthSum') + x.get()) }"))
@Override public GraphTraversal<S, Vertex> transformTraversal(final ChronoSphereTransactionInternal tx, final GraphTraversal<S, Vertex> traversal) { ChronoEPackageRegistry registry = tx.getEPackageRegistry(); String edgeLabel = ChronoSphereGraphFormat.createReferenceEdgeLabel(registry, this.eReference); if (this.eReference.isOrdered()) { return traversal.flatMap(traverser -> { Vertex vertex = traverser.get(); if (this.eReference.isMany()) { List<Vertex> eReferenceTargets = ChronoSphereGraphFormat.getEReferenceTargets(registry, vertex, this.eReference); return eReferenceTargets.iterator(); } else { Vertex target = ChronoSphereGraphFormat.getEReferenceTarget(registry, vertex, this.eReference); return Iterators.singletonIterator(target); } }); } else { return traversal.out(edgeLabel); } }
assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator); traversal = sg.V().flatMap(bothE()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = sg.V().flatMap(bothE().otherV()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator); traversal = sg.V().flatMap(both()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_LP_O_P_S_SE_SL_TraverserGenerator);
assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(bothE()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(bothE().otherV()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator); traversal = itag.V().flatMap(both()).iterate().asAdmin(); assertTrue(traversal.getTraverserGenerator() instanceof B_O_TraverserGenerator);