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

colegreer pushed a commit to branch from-to-id-fix
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit c4199638f4c8025424a46ea7dee147d8c57d6a7d
Author: Cole-Greer <[email protected]>
AuthorDate: Thu Oct 23 14:19:28 2025 -0700

    Remove GenericArgument from from() and to().
    
    from() and to() will now only accept Strings (alias for __.select()) and 
Traversals.
    If users wish to pass a vertex id, they may embed it in __.V() or 
__.constant().
    
    The primary motivation here is to ensure consistent behaviour accross 
providers regardless
    of if their id types are numerics, strings, or other.
---
 .../grammar/DefaultGremlinBaseVisitor.java         |  8 ----
 .../language/grammar/TraversalMethodVisitor.java   | 16 --------
 .../traversal/dsl/graph/GraphTraversal.java        | 48 ++++------------------
 .../traversal/step/TraversalParentTest.java        | 20 ++-------
 .../traversal/step/map/AddEdgeStartStepTest.java   |  7 ++--
 .../traversal/step/map/AddEdgeStepTest.java        |  6 +--
 .../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      |  6 +--
 .../TinkerGraphGremlinLangScriptEngineTest.java    | 28 ++++++-------
 13 files changed, 47 insertions(+), 118 deletions(-)

diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
index 58a9652a33..ff13fd765b 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/DefaultGremlinBaseVisitor.java
@@ -407,10 +407,6 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
         * {@inheritDoc}
         */
        @Override public T visitTraversalMethod_from_String(final 
GremlinParser.TraversalMethod_from_StringContext ctx) { notImplemented(ctx); 
return null; }
-       /**
-        * {@inheritDoc}
-        */
-       @Override public T visitTraversalMethod_from_GenricArgument(final 
GremlinParser.TraversalMethod_from_GenricArgumentContext ctx) { return null; }
        /**
         * {@inheritDoc}
         */
@@ -847,10 +843,6 @@ public class DefaultGremlinBaseVisitor<T> extends 
AbstractParseTreeVisitor<T> im
         * {@inheritDoc}
         */
        @Override public T visitTraversalMethod_to_String(final 
GremlinParser.TraversalMethod_to_StringContext ctx) { notImplemented(ctx); 
return null; }
-       /**
-        * {@inheritDoc}
-        */
-       @Override public T visitTraversalMethod_to_GenricArgument(final 
GremlinParser.TraversalMethod_to_GenricArgumentContext ctx) { 
notImplemented(ctx); return null; }
        /**
         * {@inheritDoc}
         */
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
index 42a7cd42c5..d89aba6d16 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/grammar/TraversalMethodVisitor.java
@@ -1884,22 +1884,6 @@ public class TraversalMethodVisitor extends 
TraversalRootVisitor<GraphTraversal>
                 antlr.tvisitor.visitNestedTraversal(ctx.nestedTraversal()));
     }
 
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public GraphTraversal visitTraversalMethod_from_GenricArgument(final 
GremlinParser.TraversalMethod_from_GenricArgumentContext ctx) {
-        return 
graphTraversal.from(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public Traversal visitTraversalMethod_to_GenricArgument(final 
GremlinParser.TraversalMethod_to_GenricArgumentContext ctx) {
-        return 
graphTraversal.to(antlr.argumentVisitor.visitGenericArgument(ctx.genericArgument()));
-    }
-
     /**
      * {@inheritDoc}
      */
diff --git 
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
index 11a186dce4..24cb94b9b0 100644
--- 
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
@@ -1604,14 +1604,14 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#addedge-step";
 target="_blank">Reference Documentation - From Step</a>
      * @since 3.8.0
      */
-    public default GraphTraversal<S, E> from(final GValue<Vertex> fromVertex) {
+    public default GraphTraversal<S, E> from(final GValue<?> 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().getBytecode().addStep(Symbols.from, fromVertex);
-        ((FromToModulating) prev).addFrom(new GValueConstantTraversal<S, 
Vertex>(fromVertex));
+        ((FromToModulating) prev).addFrom(new 
GValueConstantTraversal<>(fromVertex));
         return this;
     }
 
@@ -1663,14 +1663,14 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#addedge-step";
 target="_blank">Reference Documentation - From Step</a>
      * @since 3.8.0
      */
-    public default GraphTraversal<S, E> to(final GValue<Vertex> toVertex) {
+    public default GraphTraversal<S, E> to(final GValue<?> 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().getBytecode().addStep(Symbols.to, toVertex);
-        ((FromToModulating) prev).addTo(new GValueConstantTraversal<S, 
Vertex>(toVertex));
+        ((FromToModulating) prev).addTo(new 
GValueConstantTraversal<>(toVertex));
         return this;
     }
 
@@ -1683,7 +1683,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @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
      */
-    public default GraphTraversal<S, E> to(final Traversal<?, Object> 
toVertex) {
+    public default GraphTraversal<S, E> to(final Traversal<?, ?> toVertex) {
         final Step<?,?> prev = this.asAdmin().getEndStep();
         if (!(prev instanceof FromToModulating))
             throw new IllegalArgumentException(String.format(
@@ -1703,7 +1703,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @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
      */
-    public default GraphTraversal<S, E> from(final Traversal<?, Object> 
fromVertex) {
+    public default GraphTraversal<S, E> from(final Traversal<?, ?> fromVertex) 
{
         final Step<?,?> prev = this.asAdmin().getEndStep();
         if (!(prev instanceof FromToModulating))
             throw new IllegalArgumentException(String.format(
@@ -1723,13 +1723,7 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
      * @see <a 
href="http://tinkerpop.apache.org/docs/${project.version}/reference/#addedge-step";
 target="_blank">Reference Documentation - From Step</a>
      * @since 3.3.0
      */
-    public default GraphTraversal<S, E> to(final Object toVertex) {
-        if (toVertex instanceof String) {
-            return this.to((String) toVertex);
-        } else if (toVertex instanceof Traversal) {
-            this.to((Traversal<?, Object>)toVertex);
-            return this;
-        }
+     public default GraphTraversal<S, E> to(final Vertex toVertex) {
         final Step<?,?> prev = this.asAdmin().getEndStep();
         if (!(prev instanceof FromToModulating))
             throw new IllegalArgumentException(String.format(
@@ -1742,34 +1736,6 @@ public interface GraphTraversal<S, E> extends 
Traversal<S, E> {
         return this;
     }
 
-    /**
-     * When used as a modifier to {@link #addE(String)} this method specifies 
the traversal to use for selecting the
-     * outgoing vertex of the newly added {@link Edge}.
-     *
-     * @param fromVertex the vertex for selecting the outgoing 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.3.0
-     */
-    public default GraphTraversal<S, E> from(final Object fromVertex) {
-        if (fromVertex instanceof String) {
-            return this.from((String) fromVertex);
-        } else if (fromVertex instanceof Traversal) {
-            this.from((Traversal<?, Object>)fromVertex);
-            return this;
-        }
-        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().getBytecode().addStep(Symbols.from, fromVertex);
-        ((FromToModulating) prev).addFrom(fromVertex instanceof GValue ?
-                new GValueConstantTraversal<>((GValue<Object>) fromVertex) :
-                __.constant(fromVertex).asAdmin());
-        return this;
-    }
-
     /**
      * Map the {@link Traverser} to a {@link Double} according to the 
mathematical expression provided in the argument.
      *
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParentTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParentTest.java
index c422f18b81..4a55bb6a39 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParentTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/TraversalParentTest.java
@@ -208,12 +208,6 @@ public class TraversalParentTest {
                         List.of(__.constant("name"), __.constant("cole")),
                         null, null
                 },
-                {AddEdgeStepContract.class,
-                        g.addE("label").from(1).to(2).property("name", 
__.constant("cole")),
-                        List.of(),
-                        List.of(__.constant("cole"), __.constant(1), 
__.constant(2)),
-                        null, null
-                },
                 {AddEdgeStepContract.class,
                         g.addE("label").from(__.V(1)).to(__.V(2))
                                 .property("name", __.constant("cole"))
@@ -235,15 +229,9 @@ public class TraversalParentTest {
                         null, null
                 },
                 {AddEdgeStepContract.class,
-                        
g.addE("label").from(1).to(2).property(__.constant("name"), 
__.constant("cole")),
-                        List.of(),
-                        List.of(__.constant("name"), __.constant("cole"), 
__.constant(1), __.constant(2)),
-                        null, null
-                },
-                {AddEdgeStepContract.class,
-                        
g.inject(1).addE("label").from(1).to(2).property("name", __.constant("cole")),
+                        
g.addE("label").from(__.V(1)).to(__.V(2)).property(__.constant("name"), 
__.constant("cole")),
                         List.of(),
-                        List.of(__.constant("cole"), __.constant(1), 
__.constant(2)),
+                        List.of(__.constant("name"), __.constant("cole"), 
__.V(1), __.V(2)),
                         null, null
                 },
                 {AddEdgeStepContract.class,
@@ -259,9 +247,9 @@ public class TraversalParentTest {
                         null, null
                 },
                 {AddEdgeStepContract.class,
-                        
g.inject(1).addE("label").from(1).to(2).property(__.constant("name"), 
__.constant("cole")),
+                        
g.inject(1).addE("label").from(__.V(1)).to(__.V(2)).property(__.constant("name"),
 __.constant("cole")),
                         List.of(),
-                        List.of(__.constant("name"), __.constant("cole"), 
__.constant(1), __.constant(2)),
+                        List.of(__.constant("name"), __.constant("cole"), 
__.V(1), __.V(2)),
                         null, null
                 },
                 {CallStepContract.class,
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStepTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStepTest.java
index 4fe528b85d..a4c5a09375 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStepTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStartStepTest.java
@@ -29,6 +29,7 @@ import 
org.apache.tinkerpop.gremlin.process.traversal.Traversal;
 import 
org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.DefaultGraphTraversal;
 import org.apache.tinkerpop.gremlin.process.traversal.dsl.graph.GraphTraversal;
 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.step.GValueStepTest;
 import org.apache.tinkerpop.gremlin.structure.Edge;
@@ -55,7 +56,7 @@ public class AddEdgeStartStepTest extends GValueStepTest {
                 g.addE("created").property("a", "b"),
                 g.addE("knows").property("a", "b").property("c", "e"),
                 g.addE("knows").property("c", "e"),
-                g.addE("knows").from(1).to(2).property("a", "b"),
+                g.addE("knows").from(__.V(1)).to(__.V(2)).property("a", "b"),
                 g.addE(GValue.of("label", "knows")).property("a", "b"),
                 g.addE(GValue.of("label", "created")).property("a", 
GValue.of("prop", "b")),
                 g.addE(GValue.of("label", "knows")).property("a", 
GValue.of("prop1", "b")).property("c", GValue.of("prop2", "e")),
@@ -213,8 +214,8 @@ public class AddEdgeStartStepTest extends GValueStepTest {
     @Test
     public void getGValuesNonShouldReturnEmptyCollection() {
         GraphTraversal.Admin<Edge, Edge> traversal = g.addE("likes")
-                .from(1)
-                .to(2)
+                .from(__.V(1))
+                .to(__.V(2))
                 .property(T.id, "1234")
                 .property("rating", "great")
                 .asAdmin();
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStepTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStepTest.java
index 0abec8d7fd..d5025bd20c 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStepTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/step/map/AddEdgeStepTest.java
@@ -60,7 +60,7 @@ public class AddEdgeStepTest extends GValueStepTest {
                 __.addE("created").property("a", "b"),
                 __.addE("knows").property("a", "b").property("c", "e"),
                 __.addE("knows").property("c", "e"),
-                __.addE("knows").from(1).to(2).property("a", "b"),
+                __.addE("knows").from(__.V(1)).to(__.V(2)).property("a", "b"),
                 __.addE(GValue.of("label", "knows")).property("a", "b"),
                 __.addE(GValue.of("label", "created")).property("a", 
GValue.of("prop", "b")),
                 __.addE(GValue.of("label", "knows")).property("a", 
GValue.of("prop1", "b")).property("c", GValue.of("prop2", "e")),
@@ -306,8 +306,8 @@ public class AddEdgeStepTest extends GValueStepTest {
     @Test
     public void getGValuesNonShouldReturnEmptyCollection() {
         GraphTraversal.Admin<Object, Edge> traversal = __.addE("likes")
-                .from(1)
-                .to(2)
+                .from(__.V(1))
+                .to(__.V(2))
                 .property(T.id, "1234")
                 .property("rating", "great")
                 .asAdmin();
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs 
b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index e866092001..e1f9f95735 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -704,9 +704,9 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
                
{"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("softwar [...]
                
{"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("nam [...]
-               {"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", "ripp [...]
-               {"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").P [...]
+               {"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", "ripp [...]
+               {"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").P [...]
                
{"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", "we [...]
diff --git a/gremlin-go/driver/cucumber/gremlin.go 
b/gremlin-go/driver/cucumber/gremlin.go
index 6c04494f85..00af888eaa 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -674,9 +674,9 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"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 ma [...]
     
"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("softw [...]
     
"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("n [...]
-    "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", "rippl 
[...]
-    "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", "ri 
[...]
-    "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", "rippl 
[...]
+    "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", "ri 
[...]
+    "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", "ma 
[...]
     
"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(grem [...]
diff --git 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index d0ddb78ba9..c1a513ede7 100644
--- 
a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ 
b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@ -705,9 +705,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").ad [...]
     
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("n [...]
-    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").prope [...]
-    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("person [...]
-    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").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").prope [...]
+    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("person [...]
+    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").property [...]
     
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 --git a/gremlin-language/src/main/antlr4/Gremlin.g4 
b/gremlin-language/src/main/antlr4/Gremlin.g4
index 8b17b61d36..6ccbf79800 100644
--- a/gremlin-language/src/main/antlr4/Gremlin.g4
+++ b/gremlin-language/src/main/antlr4/Gremlin.g4
@@ -532,7 +532,6 @@ traversalMethod_format
 
 traversalMethod_from
     : K_FROM LPAREN stringLiteral RPAREN #traversalMethod_from_String
-    | K_FROM LPAREN genericArgument RPAREN #traversalMethod_from_GenricArgument
     | K_FROM LPAREN nestedTraversal RPAREN #traversalMethod_from_Traversal
     ;
 
@@ -887,7 +886,6 @@ traversalMethod_times
 traversalMethod_to
     : K_TO LPAREN traversalDirection (COMMA stringNullableArgumentVarargs)? 
RPAREN #traversalMethod_to_Direction_String
     | K_TO LPAREN stringLiteral RPAREN #traversalMethod_to_String
-    | K_TO LPAREN genericArgument RPAREN #traversalMethod_to_GenricArgument
     | K_TO LPAREN nestedTraversal RPAREN #traversalMethod_to_Traversal
     ;
 
diff --git a/gremlin-python/src/main/python/radish/gremlin.py 
b/gremlin-python/src/main/python/radish/gremlin.py
index 3f822f3701..74912b34ca 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -677,9 +677,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').property [...]
-    '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('p [...]
-    '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_('rippl [...]
-    '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('pers [...]
+    '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('p [...]
+    '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_('rippl [...]
+    '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('pers [...]
     
'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))], 
diff --git 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
index aa04e6a6b8..3682335e5c 100644
--- 
a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
+++ 
b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/map/AddEdge.feature
@@ -381,7 +381,7 @@ Feature: Step - addE()
     And using the parameter xx1 defined as "d[0.1].d"
     And the traversal of
       """
-      g.addE("knows").from(vid1).to(vid6).property("weight", xx1)
+      g.addE("knows").from(V(vid1)).to(V(vid6)).property("weight", xx1)
       """
     When iterated to list
     Then the result should have a count of 1
@@ -412,7 +412,7 @@ Feature: Step - addE()
     And using the parameter xx2 defined as "d[0.1].d"
     And the traversal of
       """
-      g.addE(xx1).from(vid1).to(vid6).property("weight", xx2)
+      g.addE(xx1).from(V(vid1)).to(V(vid6)).property("weight", xx2)
       """
     When iterated to list
     Then the result should have a count of 1
@@ -442,7 +442,7 @@ Feature: Step - addE()
     And using the parameter xx1 defined as "d[0.1].d"
     And the traversal of
       """
-      g.V(vid1).addE("knows").to(vid6).property("weight", xx1)
+      g.V(vid1).addE("knows").to(V(vid6)).property("weight", xx1)
       """
     When iterated to list
     Then the result should have a count of 1
diff --git 
a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/jsr223/TinkerGraphGremlinLangScriptEngineTest.java
 
b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/jsr223/TinkerGraphGremlinLangScriptEngineTest.java
index 858d0aa6ed..47a422bf68 100644
--- 
a/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/jsr223/TinkerGraphGremlinLangScriptEngineTest.java
+++ 
b/tinkergraph-gremlin/src/test/java/org/apache/tinkerpop/gremlin/tinkergraph/jsr223/TinkerGraphGremlinLangScriptEngineTest.java
@@ -278,45 +278,45 @@ public class TinkerGraphGremlinLangScriptEngineTest {
                     TinkerFactory.createModern()
                 },
                 {
-                    "g.addE(\"knows\").from(v1).to(v2).project(\"from\", 
\"to\").by(outV()).by(inV())",
+                    
"g.addE(\"knows\").from(V(vid1)).to(V(vid2)).project(\"from\", 
\"to\").by(outV()).by(inV())",
                     Arrays.asList(
-                        Pair.of(createBindings("v1", V_MARKO, "v2", V_PETER), 
Arrays.asList(
+                        Pair.of(createBindings("vid1", V_MARKO.id(), "vid2", 
V_PETER.id()), Arrays.asList(
                                 Map.of("from", V_MARKO, "to", V_PETER)
                         )),
-                        Pair.of(createBindings("v1", V_JOSH, "v2", V_MARKO), 
Arrays.asList(
+                        Pair.of(createBindings("vid1", V_JOSH.id(), "vid2", 
V_MARKO.id()), Arrays.asList(
                                 Map.of("from", V_JOSH, "to", V_MARKO)
                         )),
-                        Pair.of(createBindings("v1", V_PETER, "v2", V_JOSH), 
Arrays.asList(
+                        Pair.of(createBindings("vid1", V_PETER.id(), "vid2", 
V_JOSH.id()), Arrays.asList(
                                 Map.of("from", V_PETER, "to", V_JOSH)
                         ))
                     ),
-                    TinkerGraph.open()
+                    TinkerFactory.createModern()
                 },
                 {
-                    "g.addE(xx1).from(v1).to(v2).property(\"weight\", 
xx2).project(\"label\", \"from\", \"to\", 
\"weight\").by(label).by(outV()).by(inV()).by(\"weight\")",
+                    
"g.addE(xx1).from(V(vid1)).to(V(vid2)).property(\"weight\", 
xx2).project(\"label\", \"from\", \"to\", 
\"weight\").by(label).by(outV()).by(inV()).by(\"weight\")",
                     Arrays.asList(
-                        Pair.of(createBindings("xx1", "knows", "v1", V_MARKO, 
"v2", V_PETER, "xx2", 0.1d), Arrays.asList(
+                        Pair.of(createBindings("xx1", "knows", "vid1", 1, 
"vid2", 6, "xx2", 0.1d), Arrays.asList(
                                 Map.of("label", "knows", "from", V_MARKO, 
"to", V_PETER, "weight", 0.1d)
                         )),
-                        Pair.of(createBindings("xx1", "created", "v1", V_JOSH, 
"v2", V_MARKO, "xx2", 0.2d), Arrays.asList(
+                        Pair.of(createBindings("xx1", "created", "vid1", 
V_JOSH.id(), "vid2", V_MARKO.id(), "xx2", 0.2d), Arrays.asList(
                                 Map.of("label", "created", "from", V_JOSH, 
"to", V_MARKO, "weight", 0.2d)
                         )),
-                        Pair.of(createBindings("xx1", "knows", "v1", V_PETER, 
"v2", V_JOSH, "xx2", 0.3d), Arrays.asList(
+                        Pair.of(createBindings("xx1", "knows", "vid1", 
V_PETER.id(), "vid2", V_JOSH.id(), "xx2", 0.3d), Arrays.asList(
                                 Map.of("label", "knows", "from", V_PETER, 
"to", V_JOSH, "weight", 0.3d)
                         ))
                     ),
-                    TinkerGraph.open()
+                    TinkerFactory.createModern()
                 },
                 {
-                    "g.V(v1).addE(\"knows\").to(v2).project(\"from\", 
\"to\").by(outV()).by(inV())",
+                    "g.V(v1).addE(\"knows\").to(V(vid2)).project(\"from\", 
\"to\").by(outV()).by(inV())",
                     Arrays.asList(
-                            Pair.of(createBindings("v1", V_MARKO, "v2", 
V_PETER), Arrays.asList(
+                            Pair.of(createBindings("v1", V_MARKO, "vid2", 
V_PETER.id()), Arrays.asList(
                                     Map.of("from", V_MARKO, "to", V_PETER)
                             )),
-                            Pair.of(createBindings("v1", V_JOSH, "v2", 
V_MARKO), Arrays.asList(
+                            Pair.of(createBindings("v1", V_JOSH, "vid2", 
V_MARKO.id()), Arrays.asList(
                                     Map.of("from", V_JOSH, "to", V_MARKO)
                             )),
-                            Pair.of(createBindings("v1", V_PETER, "v2", 
V_JOSH), Arrays.asList(
+                            Pair.of(createBindings("v1", V_PETER, "vid2", 
V_JOSH.id()), Arrays.asList(
                                     Map.of("from", V_PETER, "to", V_JOSH)
                             ))
                     ),

Reply via email to