This is an automated email from the ASF dual-hosted git repository.

colegreer pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 274c0bdece0c48950a63a8fb244d0ea406d28e63
Merge: 3a6e5c46e9 0b2e77e7f3
Author: Cole-Greer <[email protected]>
AuthorDate: Tue Oct 28 22:31:32 2025 -0700

    Merge branch '3.8-dev'

 docs/src/dev/provider/gremlin-semantics.asciidoc   |   6 ++
 docs/src/reference/the-traversal.asciidoc          |   2 +
 docs/src/upgrade/release-3.8.x.asciidoc            |  37 ++++---
 .../grammar/DefaultGremlinBaseVisitor.java         |   8 --
 .../language/grammar/TraversalMethodVisitor.java   |  16 ---
 .../traversal/dsl/graph/GraphTraversal.java        | 116 ++++++---------------
 .../map/AbstractAddElementStepPlaceholder.java     |   1 -
 .../gremlin/process/traversal/GremlinLangTest.java |   2 +-
 .../traversal/dsl/graph/GraphTraversalTest.java    |   2 +-
 .../traversal/step/TraversalParentTest.java        |  20 +---
 .../traversal/step/map/AddEdgeStartStepTest.java   |   9 +-
 .../traversal/step/map/AddEdgeStepTest.java        |   8 +-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |   6 +-
 gremlin-go/driver/cucumber/gremlin.go              |   6 +-
 .../gremlin-javascript/test/cucumber/gremlin.js    |   6 +-
 gremlin-language/src/main/antlr4/Gremlin.g4        |   2 -
 gremlin-python/src/main/python/radish/gremlin.py   |   6 +-
 .../gremlin/test/features/map/AddEdge.feature      |  10 +-
 .../TinkerGraphGremlinLangScriptEngineTest.java    |  28 ++---
 19 files changed, 106 insertions(+), 185 deletions(-)

diff --cc 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
index 950ce5764e,4ef2d82e24..e16ed4ddd2
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversal.java
@@@ -1621,8 -1609,8 +1621,8 @@@ public interface GraphTraversal<S, E> e
              throw new IllegalArgumentException(String.format(
                      "The from() step cannot follow %s", 
prev.getClass().getSimpleName()));
  
 -        this.asAdmin().getBytecode().addStep(Symbols.from, fromVertex);
 +        this.asAdmin().getGremlinLang().addStep(Symbols.from, fromVertex);
-         ((FromToModulating) prev).addFrom(new GValueConstantTraversal<S, 
Vertex>(fromVertex));
+         ((FromToModulating) prev).addFrom(new 
GValueConstantTraversal<>(fromVertex));
          return this;
      }
  
@@@ -1636,14 -1624,33 +1636,7 @@@
       * @since 3.3.0
       */
      public default GraphTraversal<S, E> from(final Vertex fromVertex) {
--        final Step<?,?> prev = this.asAdmin().getEndStep();
--        if (!(prev instanceof FromToModulating))
--            throw new IllegalArgumentException(String.format(
--                    "The from() step cannot follow %s", 
prev.getClass().getSimpleName()));
--
-         this.asAdmin().getGremlinLang().addStep(Symbols.from, fromVertex);
 -        this.asAdmin().getBytecode().addStep(Symbols.from, fromVertex);
--        ((FromToModulating) prev).addFrom(__.constant(fromVertex).asAdmin());
 -        return this;
 -    }
 -
 -    /**
 -     * Provide {@code to()}-modulation to respective steps.
 -     *
 -     * @param toStepLabel the step label to modulate to.
 -     * @return the traversal with the modified {@link FromToModulating} step.
 -     * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#to-step"; 
target="_blank">Reference Documentation - To Step</a>
 -     * @since 3.1.0-incubating
 -     */
 -    public default GraphTraversal<S, E> to(final String toStepLabel) {
 -        final Step<?,?> prev = this.asAdmin().getEndStep();
 -        if (!(prev instanceof FromToModulating))
 -            throw new IllegalArgumentException(String.format(
 -                    "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
 -
 -        this.asAdmin().getBytecode().addStep(Symbols.to, toStepLabel);
 -        ((FromToModulating) prev).addTo(toStepLabel);
--        return this;
++        return this.from(__.V(fromVertex.id()));
      }
  
      /**
@@@ -1659,10 -1666,10 +1652,10 @@@
          final Step<?,?> prev = this.asAdmin().getEndStep();
          if (!(prev instanceof FromToModulating))
              throw new IllegalArgumentException(String.format(
-                     "The from() step cannot follow %s", 
prev.getClass().getSimpleName()));
+                     "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
  
-         this.asAdmin().getGremlinLang().addStep(Symbols.from, fromVertex);
-         ((FromToModulating) prev).addFrom(fromVertex.asAdmin());
 -        this.asAdmin().getBytecode().addStep(Symbols.to, toVertex);
++        this.asAdmin().getGremlinLang().addStep(Symbols.to, toVertex);
+         ((FromToModulating) prev).addTo(new 
GValueConstantTraversal<>(toVertex));
          return this;
      }
  
@@@ -1681,8 -1688,8 +1674,8 @@@
              throw new IllegalArgumentException(String.format(
                      "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
  
 -        this.asAdmin().getBytecode().addStep(Symbols.to, toVertex);
 +        this.asAdmin().getGremlinLang().addStep(Symbols.to, toVertex);
-         ((FromToModulating) prev).addTo(new GValueConstantTraversal<S, 
Vertex>(toVertex));
+         ((FromToModulating) prev).addTo(toVertex.asAdmin());
          return this;
      }
  
@@@ -1728,10 -1706,10 +1692,10 @@@
          final Step<?,?> prev = this.asAdmin().getEndStep();
          if (!(prev instanceof FromToModulating))
              throw new IllegalArgumentException(String.format(
-                     "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
+                     "The from() step cannot follow %s", 
prev.getClass().getSimpleName()));
  
-         this.asAdmin().getGremlinLang().addStep(Symbols.to, toStepLabel);
-         ((FromToModulating) prev).addTo(toStepLabel);
 -        this.asAdmin().getBytecode().addStep(Symbols.from, fromVertex);
++        this.asAdmin().getGremlinLang().addStep(Symbols.from, fromVertex);
+         ((FromToModulating) prev).addFrom(fromVertex.asAdmin());
          return this;
      }
  
@@@ -1739,47 -1717,21 +1703,31 @@@
       * When used as a modifier to {@link #addE(String)} this method specifies 
the traversal to use for selecting the
       * incoming vertex of the newly added {@link Edge}.
       *
-      * @param toVertex the traversal for selecting the incoming vertex
-      * @return the traversal with the modified {@link AddEdgeStep}
+      * @param toVertex the vertex for selecting the incoming vertex
+      * @return the traversal with the modified {@link AddEdgeStepContract}
       * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#addedge-step";
 target="_blank">Reference Documentation - From Step</a>
-      * @since 3.1.0-incubating
 -     * @since 3.3.0
++     * @since 3.8.0
       */
-     public default GraphTraversal<S, E> to(final Traversal<?, Object> 
toVertex) {
-         final Step<?,?> prev = this.asAdmin().getEndStep();
-         if (!(prev instanceof FromToModulating))
-             throw new IllegalArgumentException(String.format(
-                     "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
- 
-         this.asAdmin().getGremlinLang().addStep(Symbols.to, toVertex);
-         ((FromToModulating) prev).addTo(toVertex.asAdmin());
-         return this;
+      public default GraphTraversal<S, E> to(final Vertex toVertex) {
++        return this.to(__.V(toVertex.id()));
 +    }
 +
 +    /**
-      * When used as a modifier to {@link #addE(String)} this method specifies 
the traversal to use for selecting the
-      * incoming vertex of the newly added {@link Edge}.
++     * Provide {@code to()}-modulation to respective steps.
 +     *
-      * @param toVertexOrId the vertex for selecting the incoming vertex
-      * @return the traversal with the modified {@link AddEdgeStep}
-      * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#addedge-step";
 target="_blank">Reference Documentation - From Step</a>
-      * @since 3.3.0
++     * @param toStepLabel the step label to modulate to.
++     * @return the traversal with the modified {@link FromToModulating} step.
++     * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#to-step"; 
target="_blank">Reference Documentation - To Step</a>
++     * @since 3.1.0-incubating
 +     */
-     public default GraphTraversal<S, E> to(final Object toVertexOrId) {
-         if (toVertexOrId instanceof String) {
-             return this.to((String) toVertexOrId);
-         } else if (toVertexOrId instanceof Traversal) {
-             this.to((Traversal<?, Object>)toVertexOrId);
-             return this;
-         }
++    public default GraphTraversal<S, E> to(final String toStepLabel) {
          final Step<?,?> prev = this.asAdmin().getEndStep();
          if (!(prev instanceof FromToModulating))
              throw new IllegalArgumentException(String.format(
                      "The to() step cannot follow %s", 
prev.getClass().getSimpleName()));
  
-         this.asAdmin().getGremlinLang().addStep(Symbols.to, toVertexOrId);
-         ((FromToModulating) prev).addTo(toVertexOrId instanceof GValue ?
-                 new GValueConstantTraversal<>((GValue<Object>) toVertexOrId) :
-                 __.constant(toVertexOrId).asAdmin());
 -        this.asAdmin().getBytecode().addStep(Symbols.to, toVertex);
 -        ((FromToModulating) prev).addTo(toVertex instanceof GValue ?
 -                new GValueConstantTraversal<>((GValue<Object>) toVertex) :
 -                __.constant(toVertex).asAdmin());
++        this.asAdmin().getGremlinLang().addStep(Symbols.to, toStepLabel);
++        ((FromToModulating) prev).addTo(toStepLabel);
          return this;
      }
  
diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
index 09a8a21101,0000000000..7b004332df
mode 100644,000000..100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/GremlinLangTest.java
@@@ -1,169 -1,0 +1,169 @@@
 +/*
 + *  Licensed to the Apache Software Foundation (ASF) under one
 + *  or more contributor license agreements.  See the NOTICE file
 + *  distributed with this work for additional information
 + *  regarding copyright ownership.  The ASF licenses this file
 + *  to you under the Apache License, Version 2.0 (the
 + *  "License"); you may not use this file except in compliance
 + *  with the License.  You may obtain a copy of the License at
 + *
 + *  http://www.apache.org/licenses/LICENSE-2.0
 + *
 + *  Unless required by applicable law or agreed to in writing,
 + *  software distributed under the License is distributed on an
 + *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 + *  KIND, either express or implied.  See the License for the
 + *  specific language governing permissions and limitations
 + *  under the License.
 + */
 +package org.apache.tinkerpop.gremlin.process.traversal;
 +
 +import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversalSource;
 +import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__;
 +import org.apache.tinkerpop.gremlin.process.traversal.step.GValue;
 +import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SeedStrategy;
 +import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy;
 +import 
org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy;
 +import org.apache.tinkerpop.gremlin.structure.T;
 +import org.apache.tinkerpop.gremlin.structure.VertexProperty;
 +import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex;
 +import org.apache.tinkerpop.gremlin.structure.util.empty.EmptyGraph;
 +import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceEdge;
 +import org.apache.tinkerpop.gremlin.structure.util.reference.ReferenceVertex;
 +import org.apache.tinkerpop.gremlin.util.DatetimeHelper;
 +import org.junit.Test;
 +import org.junit.runner.RunWith;
 +import org.junit.runners.Parameterized;
 +
 +import java.math.BigDecimal;
 +import java.math.BigInteger;
 +import java.util.Arrays;
 +import java.util.Collections;
 +import java.util.HashMap;
 +import java.util.HashSet;
 +import java.util.UUID;
 +
 +import static 
org.apache.tinkerpop.gremlin.process.traversal.AnonymousTraversalSource.traversal;
 +import static org.apache.tinkerpop.gremlin.process.traversal.Scope.local;
 +import static 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.both;
 +import static 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.hasLabel;
 +import static org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.__.out;
 +import static org.apache.tinkerpop.gremlin.util.CollectionUtil.asMap;
 +import static org.junit.Assert.assertEquals;
 +
 +@RunWith(Parameterized.class)
 +public class GremlinLangTest {
 +
 +    private static final GraphTraversalSource g = 
traversal().with(EmptyGraph.instance());
 +
 +    @Parameterized.Parameter(value = 0)
 +    public Traversal traversal;
 +
 +    @Parameterized.Parameter(value = 1)
 +    public String expected;
 +
 +    @Test
 +    public void doTest() {
 +        final String gremlin = 
traversal.asAdmin().getGremlinLang().getGremlin();
 +        assertEquals(expected, gremlin);
 +    }
 +
 +    private static GraphTraversalSource newG() {
 +        final GraphTraversalSource g = 
traversal().with(EmptyGraph.instance());
 +        g.getGremlinLang().reset();
 +        return g;
 +    }
 +
 +    @Parameterized.Parameters(name = "{0}")
 +    public static Iterable<Object[]> generateTestParameters() {
 +        return Arrays.asList(new Object[][]{
 +                {g.V().count(), "g.V().count()"},
 +                {g.addV("test"), "g.addV(\"test\")"},
 +                {g.addV("t\"'est"), "g.addV(\"t\\\"'est\")"},
 +                {g.inject(true, (byte) 1, (short) 2, 3, 4L, 5f, 6d, 
BigInteger.valueOf(7L), BigDecimal.valueOf(8L)),
 +                        "g.inject(true,1B,2S,3,4L,5.0F,6.0D,7N,8M)"},
 +                {g.inject(Double.POSITIVE_INFINITY, Double.NEGATIVE_INFINITY),
 +                        "g.inject(+Infinity,-Infinity)"},
 +                {g.inject(DatetimeHelper.parse("2018-03-21T08:35:44.741Z")),
 +                        "g.inject(datetime(\"2018-03-21T08:35:44.741Z\"))"},
 +                {g.inject(asMap("age", VertexProperty.Cardinality.list(33))),
 +                        "g.inject([\"age\":Cardinality.list(33)])"},
 +                {g.inject(new HashMap<>()), "g.inject([:])"},
 +                
{g.inject(UUID.fromString("bfa9bbe8-c3a3-4017-acc3-cd02dda55e3e")), 
"g.inject(UUID(\"bfa9bbe8-c3a3-4017-acc3-cd02dda55e3e\"))"},
 +                {g.V(1).out("knows").values("name"), 
"g.V(1).out(\"knows\").values(\"name\")"},
 +                {g.V().has(T.label, "person"), 
"g.V().has(T.label,\"person\")"},
 +                {g.addE("knows").from(new DetachedVertex(1, "test1", 
Collections.emptyList())).to(new DetachedVertex(6, "test2", 
Collections.emptyList())),
-                         "g.addE(\"knows\").from(1).to(6)"},
++                        "g.addE(\"knows\").from(__.V(1)).to(__.V(6))"},
 +                {newG().E(new ReferenceEdge(1, "test label", new 
ReferenceVertex(1, "v1"), new ReferenceVertex(1, "v1"))),
 +                        "g.E(_0)"},
 +                {g.V().hasId(P.within(Collections.emptyList())).count(), 
"g.V().hasId(P.within([])).count()"},
 +                {g.V(1).outE().has("weight", P.inside(0.0, 0.6)), 
"g.V(1).outE().has(\"weight\",P.gt(0.0D).and(P.lt(0.6D)))"},
 +                {g.withSack(1.0, 
Operator.sum).V(1).local(__.out("knows").barrier(SackFunctions.Barrier.normSack)).in("knows").barrier().sack(),
 +                        
"g.withSack(1.0D,Operator.sum).V(1).local(__.out(\"knows\").barrier(Barrier.normSack)).in(\"knows\").barrier().sack()"},
 +                {g.inject(Arrays.asList(1, 2, 3)).skip(local, 1), 
"g.inject([1,2,3]).skip(Scope.local,1L)"},
 +                {g.V().repeat(both()).times(10), 
"g.V().repeat(__.both()).times(10)"},
 +                {g.V().has("name", "marko").
 +                        project("name", "friendsNames").
 +                        by("name").
 +                        by(out("knows").values("name").fold()),
 +                        "g.V().has(\"name\",\"marko\")." +
 +                                "project(\"name\",\"friendsNames\")." +
 +                                "by(\"name\")." +
 +                                
"by(__.out(\"knows\").values(\"name\").fold())"},
 +                {g.inject(new int[]{5, 6}).union(__.V(Arrays.asList(1, 2)), 
__.V(Arrays.asList(3L, new int[]{4}))),
 +                        "g.inject([5,6]).union(__.V([1,2]),__.V([3L,[4]]))"},
 +                {g.with("evaluationTimeout", 1000).V(), "g.V()"},
 +                {g.withSideEffect("a", 1).V(), 
"g.withSideEffect(\"a\",1).V()"},
 +                {g.withStrategies(ReadOnlyStrategy.instance()).V(), 
"g.withStrategies(ReadOnlyStrategy).V()"},
 +                {g.withoutStrategies(ReadOnlyStrategy.class).V(), 
"g.withoutStrategies(ReadOnlyStrategy).V()"},
 +                {g.withStrategies(new 
SeedStrategy(999999)).V().order().by("name").coin(0.5),
 +                        "g.withStrategies(new 
SeedStrategy(seed:999999L)).V().order().by(\"name\").coin(0.5D)"},
 +                
{g.withStrategies(SubgraphStrategy.build().vertices(hasLabel("person")).create()).V(),
 +                        "g.withStrategies(new 
SubgraphStrategy(checkAdjacentVertices:true,vertices:__.hasLabel(\"person\"))).V()",},
 +                
{g.withStrategies(SubgraphStrategy.build().vertices(__.has("name", 
P.within("josh", "lop", "ripple"))).create()).V(),
 +                        "g.withStrategies(new 
SubgraphStrategy(checkAdjacentVertices:true,vertices:__.has(\"name\",P.within([\"josh\",\"lop\",\"ripple\"])))).V()"},
 +                {g.inject(GValue.of("x", "x")).V(GValue.of("ids", new 
int[]{1, 2, 3})), "g.inject(x).V(ids)"},
 +                {newG().inject(GValue.of(null, "test1"), GValue.of("xx2", 
"test2")), "g.inject(\"test1\",xx2)"},
 +                {newG().inject(new HashSet<>(Arrays.asList(1, 2))), 
"g.inject({1,2})"},
 +        });
 +    }
 +
 +    public static class ParameterTests {
 +
 +        @Test(expected = IllegalArgumentException.class)
 +        public void shouldCheckParameterNameDontNeedEscaping() {
 +            g.V(GValue.of("\"", new int[]{1, 2, 3}));
 +        }
 +
 +        @Test(expected = IllegalArgumentException.class)
 +        public void shouldCheckParameterNameIsNotNumber() {
 +            g.V(GValue.of("1", new int[]{1, 2, 3}));
 +        }
 +
 +        @Test(expected = IllegalArgumentException.class)
 +        public void shouldCheckParameterNameIsValidIdentifier() {
 +            g.V(GValue.of("1a", new int[]{1, 2, 3}));
 +        }
 +
 +        @Test(expected = IllegalArgumentException.class)
 +        public void shouldCheckParameterNameIsNotReserved() {
 +            g.V(GValue.of("_1", new int[]{1, 2, 3}));
 +        }
 +
 +        @Test(expected = IllegalArgumentException.class)
 +        public void shouldNowAllowParameterNameDuplicates() {
 +            final GremlinLang gremlin = g.inject(GValue.of("ids", new 
int[]{1, 2})).V(GValue.of("ids", new int[]{2, 3}))
 +                    .asAdmin().getGremlinLang();
 +        }
 +
 +        @Test
 +        public void shouldAllowToUseSameParameterTwice() {
 +            final int[] value = new int[]{1, 2, 3};
 +            final GValue<int[]> gValue = GValue.of("ids", value);
 +            final GremlinLang gremlin = 
g.inject(gValue).V(gValue).asAdmin().getGremlinLang();
 +
 +            assertEquals("g.inject(ids).V(ids)", gremlin.getGremlin());
 +            assertEquals(value, gremlin.getParameters().get("ids"));
 +        }
 +    }
 +}
diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
index ad1515d4b2,194e53c832..6595288ea8
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/dsl/graph/GraphTraversalTest.java
@@@ -138,44 -144,116 +138,44 @@@ public class GraphTraversalTest 
      }
  
      @Test
 -    public void 
shouldGenerateCorrespondingBytecodeFromGraphTraversalMethods() throws Exception 
{
 -        final long seed = System.currentTimeMillis();
 -        final Random random = new Random(seed);
 -        logger.info("***RANDOM*** 
GraphTraversalTest.shouldGenerateCorrespondingBytecodeFromGraphTraversalMethods 
- seed is {}", seed);
 -
 -        for (Method stepMethod : GraphTraversal.class.getMethods()) {
 -            if (Traversal.class.isAssignableFrom(stepMethod.getReturnType()) 
&& !IGNORES_BYTECODE.contains(stepMethod.getName())) {
 -                final GraphTraversal.Admin<?, ?> traversal = new 
DefaultGraphTraversal<>();
 -                Object[] arguments = new 
Object[stepMethod.getParameterCount()];
 -                final List<Object> list = new ArrayList<>();
 -                boolean doTest = true;
 -                ///
 -                if (stepMethod.getName().equals("by"))
 -                    traversal.order();
 -                else if (stepMethod.getName().equals("with"))
 -                    randomPossibleStep(random, traversal,
 -                            GraphTraversal::V, GraphTraversal::shortestPath, 
GraphTraversal::pageRank,
 -                            GraphTraversal::connectedComponent, 
GraphTraversal::peerPressure);
 -                else if (stepMethod.getName().equals("option"))
 -                    traversal.branch(__.identity().out(randomString(random)));
 -                else if (stepMethod.getName().equals("to") || 
stepMethod.getName().equals("from"))
 -                    traversal.addE(randomString(random));
 -
 -                if (stepMethod.getName().equals("range") && 
!GValue.class.isAssignableFrom(stepMethod.getParameterTypes()[1])) { // skip 
GValue case
 -                    if 
(Scope.class.isAssignableFrom(stepMethod.getParameterTypes()[0])) {
 -                        list.add(arguments[0] = Scope.local);
 -                        list.add(arguments[1] = (long) 
(Math.abs(random.nextInt(10))));
 -                        list.add(arguments[2] = (long) 
(Math.abs(random.nextInt(10) + 100)));
 -                    } else {
 -                        list.add(arguments[0] = (long) 
(Math.abs(random.nextInt(10))));
 -                        list.add(arguments[1] = (long) 
(Math.abs(random.nextInt(10) + 100)));
 -                    }
 -                } else if (stepMethod.getName().equals("math")) {
 -                    list.add(arguments[0] = random.nextInt(100) + " + " + 
random.nextInt(100));
 -                } else if (stepMethod.getName().equals("project")) {
 -                    // project has two arguments [String, String[]]
 -                    list.add(arguments[0] = randomString(random));
 -                    arguments[1] = new String[random.nextInt(10) + 1];
 -                    for (int j = 0; j < ((String[]) arguments[1]).length; 
j++) {
 -                        ((String[]) arguments[1])[j] = arguments[0] + 
randomString(random); // adds argument[0] to avoid getting its duplicate in 
argument[1]
 -                    }
 -                    // remove duplicates in argument[1] if any
 -                    arguments[1] = Arrays.stream((String[]) 
arguments[1]).distinct().toArray(String[]::new);
 -                    list.addAll(Arrays.asList((String[]) arguments[1]));
 -                } else {
 -                    for (int i = 0; i < 
stepMethod.getParameterTypes().length; i++) {
 -                        final Class<?> type = 
stepMethod.getParameterTypes()[i];
 -                        if (int.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = 
Math.abs(random.nextInt(100)));
 -                        else if (long.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = (long) 
(Math.abs(random.nextInt(100))));
 -                        else if (double.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = 
Math.abs(random.nextDouble()));
 -                        else if (String.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = randomString(random));
 -                        else if (boolean.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = random.nextBoolean());
 -                        else if (String[].class.isAssignableFrom(type)) {
 -                            arguments[i] = new String[random.nextInt(10) + 1];
 -                            for (int j = 0; j < ((String[]) 
arguments[i]).length; j++) {
 -                                list.add(((String[]) arguments[i])[j] = 
randomString(random));
 -                            }
 -                        } else if (Traversal.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = 
__.out(randomString(random)).in(randomString(random)).groupCount(randomString(random)));
 -                        else if (Traversal[].class.isAssignableFrom(type)) {
 -                            arguments[i] = new Traversal[random.nextInt(5) + 
1];
 -                            for (int j = 0; j < ((Traversal[]) 
arguments[i]).length; j++) {
 -                                list.add(((Traversal[]) arguments[i])[j] = 
__.as(randomString(random)).out(randomString(random)).both(randomString(random)).has(randomString(random)).local(aggregate(randomString(random))));
 -                            }
 -                        } else if (P.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = 
P.gte(stepMethod.getName().contains("where") ? randomString(random) : 
random.nextInt()));
 -                        else if (Enum.class.isAssignableFrom(type))
 -                            list.add(arguments[i] = 
type.getEnumConstants()[0]);
 -                        else {
 -                            // System.out.println(type);
 -                            doTest = false;
 -                            break;
 -                        }
 -                    }
 -                }
 -                if (doTest) {
 -                    stepMethod.invoke(traversal, arguments);
 -                    // System.out.print(stepMethod.getName() + "---");
 -                    final Bytecode.Instruction instruction = 
traversal.getBytecode().getStepInstructions().get(traversal.getBytecode().getStepInstructions().size()
 - 1);
 -                    // System.out.println(instruction);
 -                    assertEquals(stepMethod.getName(), 
instruction.getOperator());
 -                    assertEquals(list.size(), 
instruction.getArguments().length);
 -                    for (int i = 0; i < list.size(); i++) {
 -                        assertEquals(list.get(i) instanceof Traversal ? 
((Traversal) list.get(i)).asAdmin().getBytecode() : list.get(i), 
instruction.getArguments()[i]);
 -                    }
 -                }
 -            }
 -        }
 +    public void hasIdShouldUnrollListOfIds() {
 +        assertEquals(g.V().hasId(1,2,3,4,5,6,7,8),
 +                g.V().hasId(new Integer[]{1, 2, 3}, new Integer[]{4, 5}, 
Arrays.asList(6, 7), 8));
      }
  
 -    private static void randomPossibleStep(final Random random, final 
GraphTraversal t, final Consumer<GraphTraversal>... possible) {
 -        possible[random.nextInt(possible.length)].accept(t);
 +    @Test
 +    public void hasIdShouldUnrollGValueListOfIds() {
 +        assertEquals(
 +                g.V().hasId(
 +                        GValue.ofInteger(null, 1), GValue.ofInteger(null, 2), 
GValue.ofInteger(null, 3),
 +                        GValue.ofInteger(null, 4), GValue.ofInteger(null, 5), 
GValue.ofInteger(null, 6),
 +                        GValue.ofInteger(null, 7), GValue.ofInteger("d", 8)
 +                ),
 +                g.V().hasId(
 +                        GValue.of("a", new Integer[]{1, 2, 3}), 
GValue.of("b", new Integer[]{4, 5}),
 +                        GValue.of("c", Arrays.asList(6, 7)), 
GValue.ofInteger("d", 8)));
      }
  
 -    private static String randomString(final Random random) {
 -        String s = "";
 -        for (int i = 0; i < random.nextInt(10) + 1; i++) {
 -            s = (s + (char) (random.nextInt(100) + 1)).trim();
 -        }
 -        final String temp = "" + random.nextBoolean();
 -        return temp.substring(temp.length() - (random.nextInt(2) + 1)) + 
s.replace("\"", "x").replace(",", "y").replace("'", "z");
 -    }
 +    @Test
 +    public void shouldExtractIdFromVertex() {
 +        GraphTraversal VStart = g.V(1, new ReferenceVertex(2));
 +        assertEquals("g.V(1,2)", 
VStart.asAdmin().getGremlinLang().getGremlin());
  
 -    public void hasIdShouldUnrollListOfIds() {
 -        assertEquals(g.V().hasId(1,2,3,4,5,6,7,8),
 -                g.V().hasId(new Integer[]{1, 2, 3}, new Integer[]{4, 5}, 
Arrays.asList(6, 7), 8));
 +        GraphTraversal VMid = g.inject("foo").V(1, new ReferenceVertex(2));
 +        assertEquals("g.inject(\"foo\").V(1,2)", 
VMid.asAdmin().getGremlinLang().getGremlin());
 +
 +        GraphTraversal fromTo = g.addE("Edge").from(new 
ReferenceVertex(1)).to(new ReferenceVertex(2));
-         assertEquals("g.addE(\"Edge\").from(1).to(2)", 
fromTo.asAdmin().getGremlinLang().getGremlin());
++        assertEquals("g.addE(\"Edge\").from(__.V(1)).to(__.V(2))", 
fromTo.asAdmin().getGremlinLang().getGremlin());
 +
 +        Map mergeMap = new LinkedHashMap();
 +        mergeMap.put(T.label, "knows");
 +        mergeMap.put(Direction.OUT, new ReferenceVertex(1));
 +        mergeMap.put(Direction.IN, new ReferenceVertex(2));
 +
 +        GraphTraversal mergeEStart = g.mergeE(mergeMap);
 +        
assertEquals("g.mergeE([(T.label):\"knows\",(Direction.OUT):1,(Direction.IN):2])",
 mergeEStart.asAdmin().getGremlinLang().getGremlin());
 +
 +        GraphTraversal mergeEMid = g.inject("foo").mergeE(mergeMap);
 +        
assertEquals("g.inject(\"foo\").mergeE([(T.label):\"knows\",(Direction.OUT):1,(Direction.IN):2])",
 mergeEMid.asAdmin().getGremlinLang().getGremlin());
      }
  }
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index cb035999d0,abb46e1776..887c21992a
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@@ -869,40 -869,40 +869,40 @@@ namespace Gremlin.Net.IntegrationTest.G
                 {"g_withoutStrategiesXVertexProgramRestrictionStrategyX_V", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(VertexProgramRestrictionStrategy)).WithStrategies(new
 VertexProgramStrategy()).V()}}, 
                 {"g_withStrategiesXVertexProgramStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new VertexProgramStrategy()).V()}}, 
                 {"g_withoutStrategiesXVertexProgramStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithoutStrategies(typeof(VertexProgramStrategy)).V()}}, 
 -               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple" [...]
 -               
{"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Proper [...]
 -               {"g_V_outE_propertyXweight_nullX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Property("lang" [...]
 -               
{"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("so [...]
 -               
{"g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age" [...]
 -               
{"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").Add [...]
 -               
{"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Propert [...]
 -               
{"g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.AddV().As("first").Repeat(__.AddE("next").To(__.AddV()).InV()).Times(5).AddE("next").To(__.Select<object>("first")),
 (g,p) =>g.V(), (g,p) =>g.E(), (g,p) =>g.E().HasLabel("next"), (g,p) 
=>g.V().Limit<object>(1).BothE(), (g,p) =>g.V().Limit<object>(1).InE(), (g,p) 
=>g.V().Limit<object>(1).OutE()}}, 
 -               
{"g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("softwa [...]
 -               
{"g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("na [...]
 -               {"g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple [...]
 -               {"g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "rip [...]
 -               {"g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple"). [...]
 -               
{"g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE("knows").Property("weight", null).From(__.V().Has("name", 
"marko")).To(__.V().Has("name", "vadas")), (g,p) =>g.E().Has("knows", "weight", 
(object) null)}}, 
 -               
{"g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE((string) p["xx1"]).Property("weight", null).From(__.V().Has("name", 
"marko")).To(__.V().Has("name", "vadas")), (g,p) =>g.E().Has("knows", "weight", 
(object) null)}}, 
 -               
{"g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.Union<object>(__.AddE((string) p["xx1"]).Property("weight", 
1).From(__.V().Has("name", "marko")).To(__.V().Has("name", "vadas"))), (g,p) 
=>g.E().Has("knows", "w [...]
 -               
{"g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).AddV("person").Property("name", "vadas").Property("age", 27), (g,p) 
=>g.AddE("edge").From(__.V().Has("name", "marko")).To(__.V().Has("name", 
"vadas")).Property("weight", 0.5).With("key", "value").Values<obje [...]
 -               
{"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software"). [...]
 -               {"g_V_addVXanimalX_propertyXage_0X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Property("lan [...]
 -               {"g_V_addVXanimalvarX_propertyXage_0varX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Propert [...]
 -               {"g_addVXpersonX_propertyXname_stephenX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Property [...]
 -               {"g_addVXpersonvarX_propertyXname_stephenvarX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Pr [...]
 -               {"g_V_hasLabelXpersonX_propertyXname_nullX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ripple").Prope [...]
 -               
{"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software [...]
 -               
{"get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh") [...]
 -               
{"g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("softw [...]
 -               
{"g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("jos [...]
 -               
{"g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("na [...]
 -               
{"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").Add [...]
 -               
{"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As [...]
 -               
{"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh") [...]
 -               
{"g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("na [...]
 -               
{"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").P [...]
 -               {"g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV("person").Property("name", "marko").Property("age", 
29).As("marko").AddV("person").Property("name", "vadas").Property("age", 
27).As("vadas").AddV("software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV("person").Property("name", "josh").Property("age", 
32).As("josh").AddV("software").Property("name", "ri [...]
 +               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV(( [...]
 +               
{"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32 [...]
 +               {"g_V_outE_propertyXweight_nullX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((string) "software [...]
 +               
{"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh").Pro [...]
 +               
{"g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Pro [...]
 +               
{"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh" [...]
 +               
{"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32) [...]
 +               
{"g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV().As("first").Repeat(__.AddE((string) 
"next").To(__.AddV()).InV()).Times(5).AddE((string) 
"next").To(__.Select<object>("first")), (g,p) =>g.V(), (g,p) =>g.E(), (g,p) 
=>g.E().HasLabel("next"), (g,p) =>g.V().Limit<object>(1).BothE(), (g,p) 
=>g.V().Limit<object>(1).InE(), (g,p) =>g.V().Limit<o [...]
 +               
{"g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh").Propert [...]
 +               
{"g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", "java").As("lop"). [...]
-                {"g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV( [...]
-                {"g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").Ad [...]
-                {"g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((st [...]
++               
{"g_addEXknowsX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As(" [...]
++               
{"g_addEXknowsvarX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).A [...]
++               {"g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((st [...]
 +               
{"g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).AddV((string) "person").Property("name", "vadas").Property("age", 27), 
(g,p) =>g.AddE((string) "knows").Property("weight", 
null).From(__.V().Has("name", "marko")).To(__.V().Has("name", "vadas")), (g,p) 
=>g.E().Has("knows", "weight",  [...]
 +               
{"g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).AddV((string) "person").Property("name", "vadas").Property("age", 27), 
(g,p) =>g.AddE((string) p["xx1"]).Property("weight", 
null).From(__.V().Has("name", "marko")).To(__.V().Has("name", "vadas")), (g,p) 
=>g.E().Has("knows", "weigh [...]
 +               
{"g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).AddV((string) "person").Property("name", "vadas").Property("age", 27), 
(g,p) =>g.Union<object>(__.AddE((string) p["xx1"]).Property("weight", 
1).From(__.V().Has("name", "marko")).To(__.V().Has("name", "vadas"))), (g,p) 
=>g.E [...]
 +               
{"g_addEXedgeX_fromXV_hasXname_markoXX_toXV_hasXname_vadasXX_propertyXweight_0_5X_withXkey_valueX_valuesXweight_keyX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).AddV((string) "person").Property("name", "vadas").Property("age", 27), 
(g,p) =>g.AddE((string) "edge").From(__.V().Has("name", 
"marko")).To(__.V().Has("name", "vadas")).Property("weight", 0.5).With( [...]
 +               
{"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh").Property("ag 
[...]
 +               {"g_V_addVXanimalX_propertyXage_0X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((string) "softwa [...]
 +               {"g_V_addVXanimalvarX_propertyXage_0varX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((string) " [...]
 +               {"g_addVXpersonX_propertyXname_stephenX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((string) "s [...]
 +               {"g_addVXpersonvarX_propertyXname_stephenvarX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((stri [...]
 +               {"g_V_hasLabelXpersonX_propertyXname_nullX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").AddV((string) [...]
 +               
{"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh").Property( 
[...]
 +               
{"get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "j [...]
 +               
{"g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh").Proper [...]
 +               
{"g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", [...]
 +               
{"g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As(" [...]
 +               
{"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "josh" [...]
 +               
{"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("n [...]
 +               
{"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", "j [...]
 +               
{"g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As(" [...]
 +               
{"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string)  [...]
 +               {"g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV((string) "person").Property("name", "marko").Property("age", 
29).As("marko").AddV((string) "person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV((string) 
"software").Property("name", "lop").Property("lang", 
"java").As("lop").AddV((string) "person").Property("name", 
"josh").Property("age", 32).As("josh").A [...]
                 {"g_addV_propertyXlabel_personX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV().Property(T.Label, "person"), (g,p) 
=>g.V().HasLabel("person")}}, 
                 {"g_addV_propertyXlabel_personvarX", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.AddV().Property(T.Label, p["xx1"]), (g,p) 
=>g.V().HasLabel("person")}}, 
                 {"g_addV_propertyXid_1X", new List<Func<GraphTraversalSource, 
IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property(T.Id, 1), 
(g,p) =>g.V().HasId("1")}}, 
diff --cc gremlin-go/driver/cucumber/gremlin.go
index 4e7a62076d,5f80cdf7bc..c99e401578
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@@ -850,9 -849,9 +850,9 @@@ var translationMap = map[string][]func(
      
"g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.AddV().As("first").Repeat(gremlingo.T__.AddE("next").To(gremlingo.T__.AddV()).InV()).Times(5).AddE("next").To(gremlingo.T__.Select("first"))},
 func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p m [...]
      
"g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("soft [...]
      
"g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property(" [...]
-     "g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripp 
[...]
-     "g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", "r 
[...]
-     "g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", 
"ripple" [...]
 -    "g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripp 
[...]
 -    "g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", "r 
[...]
++    "g_addEXknowsX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property(" [...]
++    "g_addEXknowsvarX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Propert [...]
+     "g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).As("marko").AddV("person").Property("name", 
"vadas").Property("age", 27).As("vadas").AddV("software").Property("name", 
"lop").Property("lang", "java").As("lop").AddV("person").Property("name", 
"josh").Property("age", 32).As("josh").AddV("software").Property("name", 
"ripple" [...]
      
"g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddE("knows").Property("weight", nil).From(gremlingo.T__.V().Has("name", "m 
[...]
      
"g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddE(p["xx1"]).Property("weight", nil).From(gremlingo.T__.V().Has("name" [...]
      
"g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("name", 
"marko").Property("age", 29).AddV("person").Property("name", 
"vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Union(gremlingo.T__.AddE(p["xx1"]).Property("weight", 1).From(gre [...]
diff --cc 
gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index 7660de1199,72140c39ef..f53cebe140
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@@ -881,9 -880,9 +881,9 @@@ const gremlins = 
      
g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX:
 [function({g}) { return 
g.addV().as("first").repeat(__.addE("next").to(__.addV()).inV()).times(5).addE("next").to(__.select("first"))
 }, function({g}) { return g.V() }, function({g}) { return g.E() }, 
function({g}) { return g.E().hasLabel("next") }, function({g}) { return 
g.V().limit(1).bothE() }, function({g}) { return g.V().limit(1).inE() }, 
function({g}) { return g.V().limit(1).outE() }], 
      
g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX: 
[function({g, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").a [...]
      
g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX:
 [function({g, vid2}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property(" [...]
-     g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, xx1, 
vid6, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("person").prop [...]
-     g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, xx1, 
vid6, xx2, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("perso [...]
-     g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, xx1, vid6, 
vid1}) { return g.addV("person").property("name", "marko").property("age", 
29).as("marko").addV("person").property("name", "vadas").property("age", 
27).as("vadas").addV("software").property("name", "lop").property("lang", 
"java").as("lop").addV("person").property("name", "josh").property("age", 
32).as("josh").addV("software").property("name", "ripple").property("lang", 
"java").as("ripple").addV("person").propert [...]
 -    g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, xx1, 
vid6, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("person").prop [...]
 -    g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, xx1, 
vid6, xx2, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("perso [...]
++    g_addEXknowsX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X: 
[function({g, xx1, vid6, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple").addV("p [...]
++    g_addEXknowsvarX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X: 
[function({g, xx1, vid6, xx2, vid1}) { return g.addV("person").property("name", 
"marko").property("age", 29).as("marko").addV("person").property("name", 
"vadas").property("age", 27).as("vadas").addV("software").property("name", 
"lop").property("lang", "java").as("lop").addV("person").property("name", 
"josh").property("age", 32).as("josh").addV("software").property("name", 
"ripple").property("lang", "java").as("ripple") [...]
+     g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, xx1, vid6, 
vid1}) { return g.addV("person").property("name", "marko").property("age", 
29).as("marko").addV("person").property("name", "vadas").property("age", 
27).as("vadas").addV("software").property("name", "lop").property("lang", 
"java").as("lop").addV("person").property("name", "josh").property("age", 
32).as("josh").addV("software").property("name", "ripple").property("lang", 
"java").as("ripple").addV("person").propert [...]
      
g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX:
 [function({g}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g}) { return 
g.addE("knows").property("weight", null).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas")) }, function({g}) { return 
g.E().has("knows", "weight", null) }], 
      
g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX:
 [function({g, xx1}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g, xx1}) { return 
g.addE(xx1).property("weight", null).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas")) }, function({g, xx1}) { return 
g.E().has("knows", "weight", null) }], 
      
g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX:
 [function({g, xx1}) { return g.addV("person").property("name", 
"marko").property("age", 29).addV("person").property("name", 
"vadas").property("age", 27) }, function({g, xx1}) { return 
g.union(__.addE(xx1).property("weight", 1).from_(__.V().has("name", 
"marko")).to(__.V().has("name", "vadas"))) }, function({g, xx1}) { return 
g.E().has("knows", "weight", 1) }], 
diff --cc gremlin-python/src/main/python/radish/gremlin.py
index 68d3ea8736,1d4dad5b72..3586c62e62
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@@ -853,9 -852,9 +853,9 @@@ world.gremlins = 
      
'g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX':
 [(lambda 
g:g.add_v().as_('first').repeat(__.add_e('next').to(__.add_v()).in_v()).times(5).add_e('next').to(__.select('first'))),
 (lambda g:g.V()), (lambda g:g.E()), (lambda g:g.E().has_label('next')), 
(lambda g:g.V().limit(1).both_e()), (lambda g:g.V().limit(1).in_e()), (lambda 
g:g.V().limit(1).out_e())], 
      
'g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX':
 [(lambda g, vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple [...]
      
'g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX':
 [(lambda g, vid2=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').propert [...]
-     'g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple').add_v(' [...]
-     'g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,xx2=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripp [...]
-     'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple').add_v('per [...]
 -    'g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple').add_v(' [...]
 -    'g_addEXknowsvarX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,xx2=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripp [...]
++    'g_addEXknowsX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X': [(lambda 
g, xx1=None,vid6=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripp [...]
++    'g_addEXknowsvarX_fromXVXvid1XX_toXVXvid6XX_propertyXweight_0_1X': 
[(lambda g, 
xx1=None,vid6=None,xx2=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java [...]
+     'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, 
xx1=None,vid6=None,vid1=None:g.add_v('person').property('name', 
'marko').property('age', 29).as_('marko').add_v('person').property('name', 
'vadas').property('age', 27).as_('vadas').add_v('software').property('name', 
'lop').property('lang', 'java').as_('lop').add_v('person').property('name', 
'josh').property('age', 32).as_('josh').add_v('software').property('name', 
'ripple').property('lang', 'java').as_('ripple').add_v('per [...]
      
'g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX':
 [(lambda g:g.add_v('person').property('name', 'marko').property('age', 
29).add_v('person').property('name', 'vadas').property('age', 27)), (lambda 
g:g.add_e('knows').property('weight', None).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas'))), (lambda g:g.E().has('knows', 
'weight', None))], 
      
'g_addEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX':
 [(lambda g, xx1=None:g.add_v('person').property('name', 
'marko').property('age', 29).add_v('person').property('name', 
'vadas').property('age', 27)), (lambda g, 
xx1=None:g.add_e(xx1).property('weight', None).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas'))), (lambda g, 
xx1=None:g.E().has('knows', 'weight', None))], 
      
'g_unionXaddEXknowsvarXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXXX':
 [(lambda g, xx1=None:g.add_v('person').property('name', 
'marko').property('age', 29).add_v('person').property('name', 
'vadas').property('age', 27)), (lambda g, 
xx1=None:g.union(__.add_e(xx1).property('weight', 1).from_(__.V().has('name', 
'marko')).to(__.V().has('name', 'vadas')))), (lambda g, 
xx1=None:g.E().has('knows', 'weight', 1))], 


Reply via email to