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

spmallette pushed a commit to branch TINKERPOP-3028
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git

commit 97c2711a12540b18a0bc6332749f3a1c704e900d
Author: Valentyn Kahamlyk <[email protected]>
AuthorDate: Thu Jan 25 16:55:18 2024 -0800

    update golang translation
---
 .../translator/DotNetTranslateVisitor.java         |  2 +-
 .../language/translator/GoTranslateVisitor.java    | 19 +++++
 .../language/translator/JavaTranslateVisitor.java  |  2 +-
 .../language/translator/GremlinTranslatorTest.java | 13 ++-
 gremlin-go/driver/cucumber/gremlin.go              | 94 +++++++++++-----------
 gremlin-go/driver/strategies.go                    |  6 +-
 gremlin-go/driver/traversal.go                     | 19 +++++
 gremlin-go/go.mod                                  |  1 -
 8 files changed, 102 insertions(+), 54 deletions(-)

diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
index 273008e9e8..fc027ab3be 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/DotNetTranslateVisitor.java
@@ -191,7 +191,7 @@ public class DotNetTranslateVisitor extends 
AbstractTranslateVisitor {
     public Void visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
         sb.append("new List<string> { ");
         for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) {
-            if (ctx.getChild(ix).getChild(ix) instanceof TerminalNode)
+            if (ctx.getChild(1).getChild(ix) instanceof TerminalNode)
                 continue;
             visit(ctx.getChild(1).getChild(ix));
             if (ix < ctx.getChild(1).getChildCount() - 1)
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
index 0835643099..12f60296f9 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/GoTranslateVisitor.java
@@ -195,6 +195,23 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
         return null;
     }
 
+    @Override
+    public Void visitTraversalStrategyArgs_PartitionStrategy(final 
GremlinParser.TraversalStrategyArgs_PartitionStrategyContext ctx) {
+        appendStrategyArguments(ctx);
+
+        if (ctx.getChild(0).getText().equals("readPartitions")) {
+            final int ix = sb.lastIndexOf("ReadPartitions: [");
+            if (ix > 0) {
+                final int endIx = sb.indexOf("\"]", ix);
+                sb.replace(endIx, endIx + 2, "\")");
+                sb.replace(ix, ix + 17, "ReadPartitions: 
gremlingo.NewSimpleSet(");
+            }
+
+        }
+
+        return null;
+    }
+
     @Override
     public Void visitTraversalCardinality(final 
GremlinParser.TraversalCardinalityContext ctx) {
         // handle the enum style of cardinality if there is one child, 
otherwise it's the function call style
@@ -251,6 +268,8 @@ public class GoTranslateVisitor extends 
AbstractTranslateVisitor {
             TO_GO_MAP.put("OUT", "Out");
             TO_GO_MAP.put("IN", "In");
             TO_GO_MAP.put("BOTH", "Both");
+            TO_GO_MAP.put("WithOptions", GO_PACKAGE_NAME + "WithOptions");
+            TO_GO_MAP.put("IO", GO_PACKAGE_NAME + "IO");
             TO_GO_MAP.put("__", GO_PACKAGE_NAME + "T__");
             TO_GO_MAP.forEach((k, v) -> FROM_GO_MAP.put(v, k));
         }
diff --git 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
index 2fd5a349fb..480a1b5fa3 100644
--- 
a/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
+++ 
b/gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/language/translator/JavaTranslateVisitor.java
@@ -227,7 +227,7 @@ public class JavaTranslateVisitor extends 
AbstractTranslateVisitor {
     public Void visitStringLiteralList(final 
GremlinParser.StringLiteralListContext ctx) {
         sb.append("new ArrayList<String>() {{ ");
         for (int ix = 0; ix < ctx.getChild(1).getChildCount(); ix++) {
-            if (ctx.getChild(ix).getChild(ix) instanceof TerminalNode)
+            if (ctx.getChild(1).getChild(ix) instanceof TerminalNode)
                 continue;
             sb.append("add(");
             visit(ctx.getChild(1).getChild(ix));
diff --git 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
index 4120b23400..8f0892c268 100644
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/language/translator/GremlinTranslatorTest.java
@@ -617,7 +617,7 @@ public class GremlinTranslatorTest {
                             "g.withStrategies(new 
PartitionStrategy(partitionKey:\"_partition\", writePartition:\"a\", 
readPartitions:[\"a\", \"b\"])).V().values(\"name\")",
                             "g.withStrategies(new 
PartitionStrategy(partitionKey:string0, writePartition:string1, 
readPartitions:[string1, string2])).V().values(string3)",
                             "g.WithStrategies(new 
PartitionStrategy(partitionKey: \"_partition\", writePartition: \"a\", 
readPartitions: new HashSet<string> { \"a\", \"b\" 
})).V().Values<object>(\"name\")",
-                            
"g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 \"_partition\", WritePartition: \"a\", ReadPartitions: [\"a\", 
\"b\"]})).V().Values(\"name\")",
+                            
"g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 \"_partition\", WritePartition: \"a\", ReadPartitions: 
gremlingo.NewSimpleSet(\"a\", \"b\")})).V().Values(\"name\")",
                             "g.withStrategies(new 
PartitionStrategy(partitionKey:\"_partition\", writePartition:\"a\", 
readPartitions:[\"a\", \"b\"])).V().values(\"name\")",
                             
"g.withStrategies(PartitionStrategy.build().partitionKey(\"_partition\").writePartition(\"a\").readPartitions(new
 ArrayList<String>() {{ add(\"a\"); add(\"b\"); 
}}).create()).V().values(\"name\")",
                             "g.withStrategies(new 
PartitionStrategy({partitionKey: \"_partition\", writePartition: \"a\", 
readPartitions: [\"a\", \"b\"]})).V().values(\"name\")",
@@ -905,7 +905,7 @@ public class GremlinTranslatorTest {
                             null,
                             "g.io(string0).with(IO.reader, IO.graphml).read()",
                             
"g.Io<object>(\"data/tinkerpop-modern.xml\").With(IO.Reader, 
IO.GraphML).Read()",
-                            
"g.Io(\"data/tinkerpop-modern.xml\").With(IO.Reader, IO.Graphml).Read()",
+                            
"g.Io(\"data/tinkerpop-modern.xml\").With(gremlingo.IO.Reader, 
gremlingo.IO.Graphml).Read()",
                             null,
                             null,
                             
"g.io(\"data/tinkerpop-modern.xml\").with_(IO.reader, IO.graphml).read()",
@@ -964,6 +964,15 @@ public class GremlinTranslatorTest {
                             null,
                             null,
                             "g.V().value_map()"},
+                    {"g.V().valueMap().with(WithOptions.tokens)",
+                            null,
+                            null,
+                            "g.V().ValueMap<object, 
object>().With(WithOptions.Tokens)",
+                            
"g.V().ValueMap().With(gremlingo.WithOptions.Tokens)", // changed behavior, was 
string value
+                            null,
+                            null,
+                            "g.V().valueMap().with_(WithOptions.tokens)",
+                            "g.V().value_map().with_(WithOptions.tokens)"},
                     {"g.V().limit(1L)",
                             "g.V().limit(1l)",
                             "g.V().limit(long0)",
diff --git a/gremlin-go/driver/cucumber/gremlin.go 
b/gremlin-go/driver/cucumber/gremlin.go
index 260a22930f..e052f8c298 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -379,30 +379,30 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_V_asXnX_whereXorXselectXnX_hasLabelXsoftwareX_selectXnX_hasLabelXpersonXXX_selectXnX_byXnameX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().As("n").Where(gremlingo.T__.Or(gremlingo.T__.Select("n").HasLabel("software"),
 gremlingo.T__.Select("n").HasLabel("person"))).Select("n").By("name")}}, 
     "g_V_coworker": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).Aggregate("p").As("p1").Values("name").As("p1n").Select("p").Unfold().Where(gremlingo.P.Neq("p1")).As("p2").Values("name").As("p2n").Select("p2").Out("created").Choose(gremlingo.T__.In("created").Where(gremlingo.P.Eq("p1")),
 gremlingo.T__.Values("name"), 
gremlingo.T__.Constant(p["xx1"])).Group().By(gremling [...]
     "g_V_coworker_with_midV": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).As("p1").V().HasLabel("person").Where(gremlingo.P.Neq("p1")).Filter(gremlingo.T__.OutE("created")).As("p2").Map(gremlingo.T__.Out("created").Where(gremlingo.T__.In("created").As("p1")).Values("name").Fold()).Group().By(gremlingo.T__.Select("p1").By("name")).By(gremlingo.T__.Group().By(gremlingo.T_
 [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Part
 [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_bothE_dedup_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", "b").Property("wei 
[...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_both_dedup_name": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", "b").Property("weight 
[...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_out_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, f [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_in_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, fu [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_out_name": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_out_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, f [...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_addVXpersonX_propertyXname_aliceX_addXselfX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
["a"]})).AddV("person").Property("name", "alice").AddE("self")}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.Gr [...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectXzeroX_addVXpersonX_propertyXname_aliceX_addXselfX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
["a"]})).Inject(0).AddV("person").Property("name", "alice").AddE("self")}, 
func(g *gremlingo.GraphTraversalSource, p map[string]int [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeV": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: ["a"]})).MergeV(p["xx1"])}, 
func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("person", "name", 
"alice").Has("_partition" [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0X_mergeV": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
["a"]})).Inject(0).MergeV(p["xx1"])}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", 
"name", "alic [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeE": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"a").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
-    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0XmergeE": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"a").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConf 
[...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeVXlabel_person_name_aliceX_optionXonMatch_name_bobX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.Partit [...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeV_optionXonCreateX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPar [...]
-    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0X__mergeV_optionXonCreateX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: " [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Part
 [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_bothE_dedup_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", "b").Property("wei 
[...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_bothE_weight": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2) [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_both_dedup_name": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", "b").Property("weight 
[...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_both_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)},  [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_V_out_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, f [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_bXX_V_in_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, fu [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_a_bXX_V_out_name": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_cXX_V_out_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").As("a").AddV("person").Property("_partition", 
"b").Property("name", 
"bob").As("b").AddE("knows").From("a").To("b").Property("_partition", 
"a").Property("weight", 
1).AddE("knows").From("b").To("a").Property("_partition", 
"b").Property("weight", 2)}, f [...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_addVXpersonX_propertyXname_aliceX_addXselfX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
gremlingo.NewSimpleSet("a")})).AddV("person").Property("name", 
"alice").AddE("self")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]inte [...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectXzeroX_addVXpersonX_propertyXname_aliceX_addXselfX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
gremlingo.NewSimpleSet("a")})).Inject(0).AddV("person").Property("name", 
"alice").AddE("self")}, func(g *gremlingo.GraphTraversalSo [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeV": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
gremlingo.NewSimpleSet("a")})).MergeV(p["xx1"])}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("person", "name", "al [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0X_mergeV": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPartitions: 
gremlingo.NewSimpleSet("a")})).Inject(0).MergeV(p["xx1"])}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has(" [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeE": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"a").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{Partit
 [...]
+    "g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0XmergeE": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"a").Property("name", "bob")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConf 
[...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeVXlabel_person_name_aliceX_optionXonMatch_name_bobX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"a").Property("name", "alice").AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.Partit [...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_mergeV_optionXonCreateX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: "a", ReadPar [...]
+    
"g_withStrategiesXPartitionStrategyXwrite_a_read_aXX_injectX0X__mergeV_optionXonCreateX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.AddV("person").Property("_partition", 
"b").Property("name", "alice")}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.PartitionStrategy(gremlingo.PartitionStrategyConfig{PartitionKey:
 "_partition", WritePartition: " [...]
     "g_V_shortestpath": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().As("v").Both().As("v").Project("src", "tgt", 
"p").By(gremlingo.T__.Select(gremlingo.Pop.First, 
"v")).By(gremlingo.T__.Select(gremlingo.Pop.Last, 
"v")).By(gremlingo.T__.Select(gremlingo.Pop.All, 
"v")).As("triple").Group("x").By(gremlingo.T__.Select("src", 
"tgt")).By(gremlingo.T__.Select("p").Fold()).Select("tgt").Barrier().Repeat(gremlingo.T__.Both().As("v").P
 [...]
     "g_withStrategiesXReadOnlyStrategyX_V": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.ReadOnlyStrategy()).V()}}, 
     "g_withStrategiesXReadOnlyStrategyX_V_outXknowsX_name": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithStrategies(gremlingo.ReadOnlyStrategy()).V().Out("knows").Values("name")}},
 
@@ -497,7 +497,7 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX":
 {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).A [...]
     
"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX":
 {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" [...]
     "g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name": {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("n [...]
-    
"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX":
 {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"). [...]
+    
"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX":
 {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"). [...]
     "g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label": {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_addV_propertyXlabel_personX": {func(g *gremlingo.GraphTraversalSource, 
p map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddV().Property(gremlingo.T.Label, "person")}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().HasLabel("person")}}, 
     "g_addV_propertyXmapX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.AddV().Property(map[interface{}]interface{}{"name": "foo", "age": 42 })}, 
func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("name", "foo")}}, 
@@ -706,9 +706,9 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_V_hasXname_GarciaX_inXsungByX_asXsongX_V_hasXname_Willie_DixonX_inXwrittenByX_whereXeqXsongXX_name":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("artist", "name", 
"Garcia").In("sungBy").As("song").V().Has("artist", "name", 
"Willie_Dixon").In("writtenBy").Where(gremlingo.P.Eq("song")).Values("name")}}, 
     "g_V_hasLabelXpersonX_asXpX_VXsoftwareX_addInEXuses_pX": {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", " [...]
     "g_V_hasLabelXsoftwareX_index_unfold": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("software").Index().Unfold()}}, 
-    "g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("software").Order().By("name").Index().With(WithOptions.Indexer, 
WithOptions.Map)}}, 
+    "g_V_hasLabelXsoftwareX_order_byXnameX_index_withXmapX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("software").Order().By("name").Index().With(gremlingo.WithOptions.Indexer,
 gremlingo.WithOptions.Map)}}, 
     
"g_V_hasLabelXsoftwareX_name_fold_orderXlocalX_index_unfold_order_byXtailXlocal_1XX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("software").Values("name").Fold().Order(gremlingo.Scope.Local).Index().Unfold().Order().By(gremlingo.T__.Tail(gremlingo.Scope.Local,
 1))}}, 
-    "g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Values("name").Fold().Order(gremlingo.Scope.Local).Index().With(WithOptions.Indexer,
 WithOptions.Map)}}, 
+    "g_V_hasLabelXpersonX_name_fold_orderXlocalX_index_withXmapX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Values("name").Fold().Order(gremlingo.Scope.Local).Index().With(gremlingo.WithOptions.Indexer,
 gremlingo.WithOptions.Map)}}, 
     "g_VX1X_valuesXageX_index_unfold_unfold": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).Values("age").Index().Unfold().Unfold()}}, 
     "g_injectXnullX_intersectXinjectX1XX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(nil).Intersect(gremlingo.T__.Inject(1))}}, 
     "g_V_valuesXnameX_intersectXV_foldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().Values("name").Intersect(gremlingo.T__.V().Fold())}}, 
@@ -727,12 +727,6 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_injectXa_null_bX_intersectXa_cX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Intersect(p["xx2"])}}, 
     "g_injectXa_null_bX_intersectXa_null_cX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Intersect(p["xx2"])}}, 
     "g_injectX3_threeX_intersectXfive_three_7X": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Intersect(p["xx2"])}}, 
-    "g_injectX__feature___test__nullX_lTrim": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("  feature", " one test", nil, "", " 
").LTrim()}}, 
-    "g_injectX__feature__X_lTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("  feature  
").LTrim()}}, 
-    "g_injectXListXa_bXX_lTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).LTrim()}}, 
-    "g_injectXListX1_2XX_lTrimXlocalX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).LTrim(gremlingo.Scope.Local)}}, 
-    "g_V_valuesXnameX_lTrim": {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   ").Proper [...]
-    "g_V_valuesXnameX_order_fold_lTrimXlocalX": {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", "    [...]
     "g_injectXfeature_test_nullX_length": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("feature", "test", nil).Length()}}, 
     "g_injectXfeature_test_nullX_lengthXlocalX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("feature", "test", 
nil).Length(gremlingo.Scope.Local)}}, 
     "g_injectXListXa_bXX_length": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).Length()}}, 
@@ -742,6 +736,12 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     
"g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_or_loops_isX2XX_hasXname_peterX_path_byXnameX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).Repeat(gremlingo.T__.Both().SimplePath()).Until(gremlingo.T__.Has("name",
 "peter").Or().Loops().Is(2)).Has("name", "peter").Path().By("name")}}, 
     
"g_VX1X_repeatXboth_simplePathX_untilXhasXname_peterX_and_loops_isX3XX_hasXname_peterX_path_byXnameX":
 {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).Repeat(gremlingo.T__.Both().SimplePath()).Until(gremlingo.T__.Has("name",
 "peter").And().Loops().Is(3)).Has("name", "peter").Path().By("name")}}, 
     "g_V_emitXhasXname_markoX_or_loops_isX2XX_repeatXoutX_valuesXnameX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Emit(gremlingo.T__.Has("name", 
"marko").Or().Loops().Is(2)).Repeat(gremlingo.T__.Out()).Values("name")}}, 
+    "g_injectX__feature___test__nullX_lTrim": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("  feature", " one test", nil, "", " 
").LTrim()}}, 
+    "g_injectX__feature__X_lTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("  feature  
").LTrim()}}, 
+    "g_injectXListXa_bXX_lTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).LTrim()}}, 
+    "g_injectXListX1_2XX_lTrimXlocalX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).LTrim(gremlingo.Scope.Local)}}, 
+    "g_V_valuesXnameX_lTrim": {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   ").Proper [...]
+    "g_V_valuesXnameX_order_fold_lTrimXlocalX": {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", "    [...]
     "g_VX1X_mapXnameX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return nil}},  // skipping 
as it contains a lambda
     "g_VX1X_outE_label_mapXlengthX": {func(g *gremlingo.GraphTraversalSource, 
p map[string]interface{}) *gremlingo.GraphTraversal {return nil}},  // skipping 
as it contains a lambda
     "g_VX1X_out_mapXnameX_mapXlengthX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return nil}},  // skipping as it contains a lambda
@@ -1044,12 +1044,6 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_V_hasXageX_propertiesXage_nameX_value": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Has("age").Properties("age", 
"name").Value()}}, 
     "g_V_propertiesXname_age_nullX_value": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().Properties("name", "age", 
nil).Value()}}, 
     "g_V_valuesXname_age_nullX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Values("name", 
"age", nil)}}, 
-    "g_injectX__feature___test__nullX_rTrim": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("feature  ", "one test ", nil, "", " 
").RTrim()}}, 
-    "g_injectX__feature__X_rTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("  feature  
").RTrim()}}, 
-    "g_injectXListXa_bXX_rTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).RTrim()}}, 
-    "g_injectXListX1_2XX_rTrimXlocalX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).RTrim(gremlingo.Scope.Local)}}, 
-    "g_V_valuesXnameX_rTrim": {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   ").Proper [...]
-    "g_V_valuesXnameX_order_fold_rTrimXlocalX": {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", "    [...]
     "g_injectXthat_this_test_nullX_replaceXh_jX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("that", "this", "test", 
nil).Replace("h", "j")}}, 
     "g_injectXthat_this_test_nullX_fold_replaceXlocal_h_jX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("that", "this", "test", 
nil).Fold().Replace(gremlingo.Scope.Local, "h", "j")}}, 
     "g_injectXListXa_bXcX_replaceXa_bX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject(p["xx1"]).Replace("a", "b")}}, 
@@ -1066,6 +1060,12 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_injectXnullX_reverse": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(nil).Reverse()}}, 
     "g_injectXbX_reverse": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject("b").Reverse()}}, 
     "g_injectX3_threeX_reverse": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).Reverse()}}, 
+    "g_injectX__feature___test__nullX_rTrim": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject("feature  ", "one test ", nil, "", " 
").RTrim()}}, 
+    "g_injectX__feature__X_rTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject("  feature  
").RTrim()}}, 
+    "g_injectXListXa_bXX_rTrim": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).RTrim()}}, 
+    "g_injectXListX1_2XX_rTrimXlocalX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Inject(p["xx1"]).RTrim(gremlingo.Scope.Local)}}, 
+    "g_V_valuesXnameX_rTrim": {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   ").Proper [...]
+    "g_V_valuesXnameX_order_fold_rTrimXlocalX": {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", "    [...]
     "g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).As("a").Out("knows").As("b").Select("a", "b")}}, 
     "g_VX1X_asXaX_outXknowsX_asXbX_selectXa_bX_byXnameX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).As("a").Out("knows").As("b").Select("a", "b").By("name")}}, 
     "g_VX1X_asXaX_outXknowsX_asXbX_selectXaX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).As("a").Out("knows").As("b").Select("a")}}, 
@@ -1203,15 +1203,15 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_VX1X_repeatXboth_simplePathX_untilXhasIdX6XX_path_byXnameX_unfold": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V(p["vid1"]).Repeat(gremlingo.T__.Both().SimplePath()).Until(gremlingo.T__.HasId(p["vid6"])).Path().By("name").Unfold()}},
 
     "g_V_valueMap": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap()}}, 
     "g_V_valueMapXtrueX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().ValueMap(true)}}, 
-    "g_V_valueMap_withXtokensX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().ValueMap().With(WithOptions.Tokens)}}, 
+    "g_V_valueMap_withXtokensX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().ValueMap().With(gremlingo.WithOptions.Tokens)}}, 
     "g_V_valueMapXname_ageX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().ValueMap("name", "age")}}, 
     "g_V_valueMapXtrue_name_ageX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V().ValueMap(true, 
"name", "age")}}, 
-    "g_V_valueMapXname_ageX_withXtokensX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(WithOptions.Tokens)}}, 
-    "g_V_valueMapXname_ageX_withXtokens_labelsX_byXunfoldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(WithOptions.Tokens, 
WithOptions.Labels).By(gremlingo.T__.Unfold())}}, 
-    "g_V_valueMapXname_ageX_withXtokens_idsX_byXunfoldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(WithOptions.Tokens, WithOptions.Ids).By(gremlingo.T__.Unfold())}}, 
+    "g_V_valueMapXname_ageX_withXtokensX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(gremlingo.WithOptions.Tokens)}}, 
+    "g_V_valueMapXname_ageX_withXtokens_labelsX_byXunfoldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(gremlingo.WithOptions.Tokens, 
gremlingo.WithOptions.Labels).By(gremlingo.T__.Unfold())}}, 
+    "g_V_valueMapXname_ageX_withXtokens_idsX_byXunfoldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").With(gremlingo.WithOptions.Tokens, 
gremlingo.WithOptions.Ids).By(gremlingo.T__.Unfold())}}, 
     "g_VX1X_outXcreatedX_valueMap": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V(p["vid1"]).Out("created").ValueMap()}}, 
     "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMapXtrueX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).ValueMap(true)}},
 
-    "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMap_withXtokensX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).ValueMap().With(WithOptions.Tokens)}},
 
+    "g_V_hasLabelXpersonX_filterXoutEXcreatedXX_valueMap_withXtokensX": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.V().HasLabel("person").Filter(gremlingo.T__.OutE("created")).ValueMap().With(gremlingo.WithOptions.Tokens)}},
 
     "g_VX1X_valueMapXname_locationX_byXunfoldX_by": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V(p["vid1"]).ValueMap("name", 
"location").By(gremlingo.T__.Unfold()).By()}}, 
     "g_V_valueMapXname_age_nullX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.V().ValueMap("name", "age", nil)}}, 
     "g_V_valueMapXname_ageX_byXisXxXXbyXunfoldX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V().ValueMap("name", 
"age").By(gremlingo.T__.Is("x")).By(gremlingo.T__.Unfold())}}, 
@@ -1443,11 +1443,11 @@ var translationMap = map[string][]func(g 
*gremlingo.GraphTraversalSource, p map[
     "g_injectXnull_1_3_nullX_asXaX_selectXaX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.Inject(nil, 1, 3, 
nil).As("a").Select("a")}}, 
     "g_injectX1_3lX_injectX100_300X": {func(g *gremlingo.GraphTraversalSource, 
p map[string]interface{}) *gremlingo.GraphTraversal {return g.Inject(1, 
3).Inject(100, 300)}}, 
     "g_io_readXkryoX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.kryo").Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
-    "g_io_read_withXreader_gryoX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.kryo").With(IO.Reader, IO.Gryo).Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
+    "g_io_read_withXreader_gryoX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.kryo").With(gremlingo.IO.Reader, 
gremlingo.IO.Gryo).Read()}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
     "g_io_readXgraphsonX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.json").Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
-    "g_io_read_withXreader_graphsonX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.json").With(IO.Reader, IO.Graphson).Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
+    "g_io_read_withXreader_graphsonX": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.json").With(gremlingo.IO.Reader, 
gremlingo.IO.Graphson).Read()}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
     "g_io_readXgraphmlX": {func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.xml").Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
-    "g_io_read_withXreader_graphmlX": {func(g *gremlingo.GraphTraversalSource, 
p map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.xml").With(IO.Reader, IO.Graphml).Read()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
+    "g_io_read_withXreader_graphmlX": {func(g *gremlingo.GraphTraversalSource, 
p map[string]interface{}) *gremlingo.GraphTraversal {return 
g.Io("data/tinkerpop-modern.xml").With(gremlingo.IO.Reader, 
gremlingo.IO.Graphml).Read()}, func(g *gremlingo.GraphTraversalSource, p 
map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return g.E()}}, 
     "g_withSackXhelloX_V_outE_sackXassignX_byXlabelX_inV_sack": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithSack("hello").V().OutE().Sack(gremlingo.Operator.Assign).By(gremlingo.T.Label).InV().Sack()}},
 
     "g_withSackX0X_V_outE_sackXsumX_byXweightX_inV_sack_sum": {func(g 
*gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithSack(0.0).V().OutE().Sack(gremlingo.Operator.Sum).By("weight").InV().Sack().Sum()}},
 
     "g_withSackX0X_V_repeatXoutE_sackXsumX_byXweightX_inVX_timesX2X_sack": 
{func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) 
*gremlingo.GraphTraversal {return 
g.WithSack(0.0).V().Repeat(gremlingo.T__.OutE().Sack(gremlingo.Operator.Sum).By("weight").InV()).Times(2).Sack()}},
 
diff --git a/gremlin-go/driver/strategies.go b/gremlin-go/driver/strategies.go
index 756d3c3a49..a2573c5fcc 100644
--- a/gremlin-go/driver/strategies.go
+++ b/gremlin-go/driver/strategies.go
@@ -364,9 +364,11 @@ func PathRetractionStrategy() TraversalStrategy {
 // the initial Traversal argument or null. In this way, the By() is always 
"productive". This strategy
 // is an "optimization" but it is perhaps more of a "decoration", but it 
should follow
 // ByModulatorOptimizationStrategy which features optimizations relevant to 
this one.
-func ProductiveByStrategy(config ProductiveByStrategyConfig) TraversalStrategy 
{
+func ProductiveByStrategy(config ...ProductiveByStrategyConfig) 
TraversalStrategy {
        configMap := make(map[string]interface{})
-       configMap["productiveKeys"] = config.ProductiveKeys
+       if len(config) == 1 {
+               configMap["productiveKeys"] = config[0].ProductiveKeys
+       }
 
        return &traversalStrategy{name: optimizationNamespace + 
"ProductiveByStrategy", configuration: configMap}
 }
diff --git a/gremlin-go/driver/traversal.go b/gremlin-go/driver/traversal.go
index 9532d98f7d..ea1ccd4baf 100644
--- a/gremlin-go/driver/traversal.go
+++ b/gremlin-go/driver/traversal.go
@@ -653,6 +653,25 @@ var WithOptions = withOptions{
        Map:     1,
 }
 
+type io struct {
+       Graphson string
+       Gryo     string
+       Graphml  string
+       Reader   string
+       Writer   string
+       Registry string
+}
+
+// IO holds configuration options to be passed to the GraphTraversal.io.
+var IO = io{
+       Graphson: "graphson",
+       Gryo:     "gryo",
+       Graphml:  "graphml",
+       Reader:   "~tinkerpop.io.reader",
+       Writer:   "~tinkerpop.io.writer",
+       Registry: "~tinkerpop.io.registry",
+}
+
 // Metrics holds metrics data; typically for .profile()-step analysis. Metrics 
may be nested. Nesting enables
 // the ability to capture explicit metrics for multiple distinct operations. 
Annotations are used to store
 // miscellaneous notes that might be useful to a developer when examining 
results, such as index coverage
diff --git a/gremlin-go/go.mod b/gremlin-go/go.mod
index a44e094cc7..c80edd0503 100644
--- a/gremlin-go/go.mod
+++ b/gremlin-go/go.mod
@@ -41,5 +41,4 @@ require (
        github.com/spf13/pflag v1.0.5 // indirect
        github.com/stretchr/objx v0.5.0 // indirect
        golang.org/x/net v0.17.0 // indirect
-       gopkg.in/yaml.v3 v3.0.1 // indirect
 )

Reply via email to