You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by sp...@apache.org on 2023/07/13 20:01:56 UTC

[tinkerpop] 01/03: Merge branch '3.5-dev' into 3.6-dev

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

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

commit 9f22a712926e1d725915a6c357573732d38e2571
Merge: 5e1e1195af 309e332b2e
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Thu Jul 13 14:58:33 2023 -0400

    Merge branch '3.5-dev' into 3.6-dev

 CHANGELOG.asciidoc                                 |  1 +
 .../optimization/FilterRankingStrategy.java        | 33 ++++++++++-----
 .../process/traversal/util/DepthComparator.java    | 47 ++++++++++++++++++++++
 .../process/traversal/util/TraversalHelper.java    | 35 ++++++++++++++++
 .../traversal/util/TraversalHelperTest.java        | 43 +++++++++++++++++++-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |  2 +
 gremlin-go/driver/cucumber/gremlin.go              |  2 +
 .../gremlin-javascript/test/cucumber/gremlin.js    |  2 +
 gremlin-python/src/main/python/radish/gremlin.py   |  2 +
 .../gremlin/test/features/filter/Where.feature     | 36 +++++++++++++++++
 10 files changed, 192 insertions(+), 11 deletions(-)

diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index f47e9e287b,030deae2a4..a3f3717f6c
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@@ -350,135 -333,37 +350,137 @@@ namespace Gremlin.Net.IntegrationTest.G
                 {"g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("a").OutE("created").As("b").InV().As("c").In("created").As("d").Where("a",P.Lt("b").Or(P.Gt("c")).And(P.Neq("d"))).By("age").By("weight").By(__.In("created").Values<object>("age").Min<object>()).Select<object>("a"," [...]
                 {"g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).As("a").Out().Has("age").Where(P.Gt("a")).By("age").Values<object>("name")}}, 
                 {"g_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid3"]).As("a").In().Out().As("b").Where("a",P.Eq("b")).By("age").Values<object>("name")}}, 
 +               {"g_withStrategiesXProductiveByStrategyX_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ProductiveByStrategy(productiveKeys: new List<object> {})).V(p["vid3"]).As("a").In().Out().As("b").Where("a",P.Eq("b")).By("age").Values<object>("name")}}, 
+                {"g_V_asXnX_whereXorXhasLabelXsoftwareX_hasLabelXpersonXXX_selectXnX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("n").Where(__.Or(__.HasLabel("software"),__.HasLabel("person"))).Select<object>("n").By("name")}}, 
+                {"g_V_asXnX_whereXorXselectXnX_hasLabelXsoftwareX_selectXnX_hasLabelXpersonXXX_selectXnX_byXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("n").Where(__.Or(__.Select<object>("n").HasLabel("software"),__.Select<object>("n").HasLabel("person"))).Select<object>("n").By("name")}}, 
 -               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("ag [...]
 -               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name"," [...]
 -               {"g_V_outE_propertyXweight_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh") [...]
 -               {"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Pr [...]
 -               {"g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("per [...]
 -               {"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id, [...]
 -               {"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","j [...]
 +               {"g_V_coworker", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).Aggregate("p").As("p1").Values<object>("name").As("p1n").Select<object>("p").Unfold<object>().Where(P.Neq("p1")).As("p2").Values<object>("name").As("p2n").Select<object>("p2").Out("created").Choose<object>(__.In("created").Where(P.Eq("p1")),__.Values<object>("name"),__.Constant<object>(p["xx1"])).Group<object,object>() [...]
 +               {"g_V_coworker_with_midV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().HasLabel("person").Filter(__.OutE("created")).As("p1").V().HasLabel("person").Where(P.Neq("p1")).Filter(__.OutE("created")).As("p2").Map<object>(__.Out("created").Where(__.In("created").As("p1")).Values<object>("name").Fold()).Group<object,object>().By(__.Select<object>("p1").By("name")).By(__.Group<object,object>().By(__.Select<object>("p2").By("name")) [...]
 +               {"g_V_shortestpath", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Both().As("v").Project<object>("src","tgt","p").By(__.Select<object>(Pop.First,"v")).By(__.Select<object>(Pop.Last,"v")).By(__.Select<object>(Pop.All,"v")).As("triple").Group("x").By(__.Select<object>("src","tgt")).By(__.Select<object>("p").Fold()).Select<object>("tgt").Barrier().Repeat(__.Both().As("v").Project<object>("src","tgt","p").By(__.Select<ob [...]
 +               {"g_withStrategiesXReadOnlyStrategyX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).V()}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_V_outXknowsX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).V().Out("knows").Values<object>("name")}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_addVXpersonX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).AddV("person")}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_addVXpersonX_fromXVX1XX_toXVX2XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).AddE("link").From(__.V(p["vid1"])).To(__.V(p["vid2"]))}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_V_addVXpersonX_fromXVX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).V().AddE("link").From(__.V(p["vid1"]))}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_V_propertyXname_joshX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).V().Property("name","josh")}}, 
 +               {"g_withStrategiesXReadOnlyStrategyX_E_propertyXweight_0X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new ReadOnlyStrategy()).E().Property("weight",0)}}, 
 +               {"g_V_classic_recommendation", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Has("name","DARK STAR").As("a").Out("followedBy").Aggregate("stash").In("followedBy").Where(P.Neq("a").And(P.Without(new List<object> {"stash"}))).GroupCount<object>().Unfold<object>().Project<object>("x","y","z").By(__.Select<object>(Column.Keys).Values<object>("name")).By(__.Select<object>(Column.Keys).Values<object>("performances")).By(__.Select<o [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})))))).V()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_E", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})))))).E()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_inE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_in", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})))) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_both", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_bothE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}) [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_localXbothE_limitX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", " [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"} [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"}))),__.OutV().Filter(__.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"} [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_E", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).E()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid1"]).OutE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid1"]).Out()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outXcreatedX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid1"]).Out("knows")}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outXcreatedX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Out("created")}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).OutE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Out()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_bothE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).BothE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_both", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Both()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outV_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.Or(__.Has("weight",1.0).HasLabel("knows"),__.Has("weight",0.4).HasLabel("created").OutV().Has("name","marko"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid8"]).OutV().OutE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.In("knows").Has("name","marko"), edges: __.And(__.InV().Filter(__.In("knows").Has("name","marko")),__.OutV().Filter(__.In("knows").Has("name","marko"))))).V().Values<object>("name")}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoXXX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.In().Has("name","marko"), edges: __.And(__.InV().Filter(__.In().Has("name","marko")),__.OutV().Filter(__.In().Has("name","marko"))))).V().Values<object>("name")}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_whereXoutXcreatedX_hasXname_lopXXXX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.In("knows").Where(__.Out("created").Has("name","lop")), edges: __.And(__.InV().Filter(__.In("knows").Where(__.Out("created").Has("name","lop"))),__.OutV().Filter(__.In("knows").Where(__.Out("created").Has("nam [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoX_outXcreatedX_hasXname_lopXXXX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.In().Where(__.Has("name","marko").Out("created").Has("name","lop")), edges: __.And(__.InV().Filter(__.In().Where(__.Has("name","marko").Out("created").Has("name","lop"))),__.OutV().Filter(__.In().Where(__.H [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertices_orXboth_hasXname_markoX_hasXname_markoXXXX_V_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Or(__.Both().Has("name","marko"),__.Has("name","marko")), edges: __.And(__.InV().Filter(__.Or(__.Both().Has("name","marko"),__.Has("name","marko"))),__.OutV().Filter(__.Or(__.Both().Has("name","marko"),__.Has("na [...]
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_E", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).OutE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_inE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).InE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Out()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_in", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).In()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_both", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Both()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_bothE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).BothE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_localXbothE_limitX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Local<object>(__.BothE().Limit<object>(1))}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX11X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid11"]).BothV()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX12X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid12"]).BothV()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX9X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid9"]).BothV()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertices_hasXname_withinXripple_josh_markoXXX_V_asXaX_out_in_asXbX_dedupXa_bX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Within(new List<object> {"ripple", "josh", "marko"})), edges: __.And(__.InV().Filter(__.Has("name",P.Within(new List<object> {"ripple", "josh", "marko"}))),__.OutV().Filter(__ [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertexProperties: __.Has("startTime",P.Gt(2005)))).V().Properties<object>("location").Value<object>()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertexProperties: __.Has("startTime",P.Gt(2005)))).V().Values<object>("location")}}, 
 +               {"g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_propertiesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_value_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertexProperties: __.Has("startTime",P.Gt(2005)))).V().As("a").Properties<object>("location").As("b").Select<object>("a").OutE().Properties<object>().Select<o [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_valuesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_dedup", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertexProperties: __.Has("startTime",P.Gt(2005)))).V().As("a").Values<object>("location").As("b").Select<object>("a").OutE().Properties<object>().Select<object>("b").De [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Neq("stephen")), edges: __.And(__.InV().Filter(__.Has("name",P.Neq("stephen"))),__.OutV().Filter(__.Has("name",P.Neq("stephen")))), vertexProperties: __.H [...]
 +               {"g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, vertices: __.Has("name",P.Neq("stephen")), edges: __.And(__.InV().Filter(__.Has("name",P.Neq("stephen"))),__.OutV().Filter(__.Has("name",P.Neq("stephen")))), vertexProperties: __.Has("startT [...]
 +               {"g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: true, edges: __.HasLabel("uses").Has("skill",5))).V().OutE().ValueMap<object,object>().Select<object>(Column.Values).Unfold<object>()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_V", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_E", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).OutE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).InE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Out()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_in", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).In()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_both", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Both()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_bothE", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).BothE()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_localXbothE_limitX1XX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).V(p["vid4"]).Local<object>(__.BothE().Limit<object>(1))}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid11"]).BothV()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid12"]).BothV()}}, 
 +               {"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.WithStrategies(new SubgraphStrategy(checkAdjacentVertices: false, vertices: __.Has("name",P.Within(new List<object> {"josh", "lop", "ripple"})), edges: __.Or(__.Has("weight",0.4).HasLabel("created"),__.Has("weight",1.0).HasLabel("created")))).E(p["eid9"]).BothV()}}, 
 +               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Propert [...]
 +               {"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name [...]
 +               {"g_V_outE_propertyXweight_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Property("lang","java"). [...]
 +               {"g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software") [...]
 +               {"g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As [...]
 +               {"g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("softw [...]
 +               {"g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name" [...]
                 {"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(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Proper [...]
 -               {"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(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang", [...]
 -               {"g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("a [...]
 -               {"g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age" [...]
 -               {"g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("n [...]
 -               {"g_V_addVXanimalX_propertyXage_0X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As("josh [...]
 -               {"g_addVXpersonX_propertyXname_stephenX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32).As( [...]
 -               {"g_V_hasLabelXpersonX_propertyXname_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Property("age",32). [...]
 -               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property [...]
 -               {"get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T [...]
 -               {"g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Prope [...]
 -               {"g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Propert [...]
 -               {"g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh") [...]
 -               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id, [...]
 -               {"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Pr [...]
 -               {"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T [...]
 -               {"g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh") [...]
 -               {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lo [...]
 -               {"g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property(T.Id,1).Property("name","marko").Property("age",29).As("marko").AddV("person").Property(T.Id,2).Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property(T.Id,3).Property("name","lop").Property("lang","java").As("lop").AddV("person").Property(T.Id,4).Property("name","josh").Propert [...]
 -               {"g_addVXnullX_propertyXid_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV((string) null).Property(T.Id,null), (g,p) =>g.V().HasLabel("vertex")}}, 
 +               {"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("software").Pro [...]
 +               {"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("name","j [...]
 +               {"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").Proper [...]
 +               {"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").Property( [...]
 +               {"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_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property [...]
 +               {"g_V_addVXanimalX_propertyXage_0X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Property("lang","java" [...]
 +               {"g_addVXpersonX_propertyXname_stephenX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Property("lang"," [...]
 +               {"g_V_hasLabelXpersonX_propertyXname_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Property("lang [...]
 +               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Prope [...]
 +               {"get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("s [...]
 +               {"g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Pr [...]
 +               {"g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV [...]
 +               {"g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","rip [...]
 +               {"g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("softw [...]
 +               {"g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh") [...]
 +               {"g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("s [...]
 +               {"g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","rip [...]
 +               {"g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property [...]
 +               {"g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("age",29).As("marko").AddV("person").Property("name","vadas").Property("age",27).As("vadas").AddV("software").Property("name","lop").Property("lang","java").As("lop").AddV("person").Property("name","josh").Property("age",32).As("josh").AddV("software").Property("name","ripple").Pr [...]
                 {"g_addV_propertyXlabel_personX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property(T.Label,"person"), (g,p) =>g.V().HasLabel("person")}}, 
 +               {"g_addV_propertyXmapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property("name","foo").Property("age",42), (g,p) =>g.V().Has("name","foo")}}, 
 +               {"g_addV_propertyXsingle_mapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV().Property(Cardinality.Single,"name","foo").Property(Cardinality.Single,"age",42), (g,p) =>g.V().Has("name","foo")}}, 
 +               {"g_addV_propertyXnullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person"), (g,p) =>g.V().HasLabel("person").Values<object>()}}, 
 +               {"g_addV_propertyXemptyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person"), (g,p) =>g.V().HasLabel("person").Values<object>()}}, 
 +               {"g_addV_propertyXset_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("foo"), (g,p) =>g.V().HasLabel("foo").Values<object>()}}, 
 +               {"g_addV_propertyXset_emptyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("foo"), (g,p) =>g.V().HasLabel("person").Values<object>()}}, 
 +               {"g_addVXpersonX_propertyXname_joshX_propertyXage_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","josh").Property("age",null), (g,p) =>g.V().Has("person","age",(object) null)}}, 
 +               {"g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","marko").Property("friendWeight",null,"acl",null), (g,p) =>g.V().Has("person","name","marko").Has("friendWeight",(object) null), (g,p) =>g.V().Has("person","name","marko").Properties<object>("friendWeight").Has("acl",(object) null), (g,p) =>g.V().Has("person","name","marko").Pro [...]
 +               {"g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.AddV("person").Property("name","alice").Property(Cardinality.Single,"age",50), (g,p) =>g.V().Has("person","name","alice").Property("age",__.Union<object>(__.Values<object>("age"),__.Constant<object>(1)).Sum<object>()), (g,p) =>g.V().Has("person","age",50), (g,p) =>g.V().Has("person","age",51)}}, 
 +               {"g_call", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>()}}, 
 +               {"g_callXlistX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list")}}, 
 +               {"g_callXlistX_withXstring_stringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list").With("service","tinker.search")}}, 
 +               {"g_callXlistX_withXstring_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list").With("service",__.Constant<object>("tinker.search"))}}, 
 +               {"g_callXlist_mapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list",(IDictionary<object,object>) p["xx1"])}}, 
 +               {"g_callXlist_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list",(ITraversal) __.Project<object>("service").By(__.Constant<object>("tinker.search")))}}, 
 +               {"g_callXlist_map_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("--list",(IDictionary<object,object>) p["xx1"],(ITraversal) __.Project<object>("service").By(__.Constant<object>("tinker.search")))}}, 
 +               {"g_callXsearch_mapX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search",(IDictionary<object,object>) p["xx1"]).Element()}}, 
 +               {"g_callXsearch_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search",(ITraversal) __.Project<object>("search").By(__.Constant<object>("vada"))).Element()}}, 
 +               {"g_callXsearchX_withXstring_stringX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search").With("search","vada").Element()}}, 
 +               {"g_callXsearchX_withXstring_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search").With("search",__.Constant<object>("vada")).Element()}}, 
 +               {"g_callXsearch_mapX_withXstring_VertexX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search",(IDictionary<object,object>) p["xx1"]).With("type","Vertex").Element()}}, 
 +               {"g_callXsearch_mapX_withXstring_EdgeX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search",(IDictionary<object,object>) p["xx1"]).With("type","Edge").Element()}}, 
 +               {"g_callXsearch_mapX_withXstring_VertexPropertyX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.Call<object>("tinker.search",(IDictionary<object,object>) p["xx1"]).With("type","VertexProperty").Element()}}, 
 +               {"g_V_callXdcX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Call<object>("tinker.degree.centrality").Project<object>("vertex","degree").By(__.Select<object>("v")).By()}}, 
 +               {"g_V_whereXcallXdcXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Where(__.Call<object>("tinker.degree.centrality").Is(3))}}, 
 +               {"g_V_callXdcX_withXdirection_OUTX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Call<object>("tinker.degree.centrality").With("direction",Direction.Out).Project<object>("vertex","degree").By(__.Select<object>("v")).By()}}, 
 +               {"g_V_callXdc_mapX_withXdirection_OUTX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Call<object>("tinker.degree.centrality",(IDictionary<object,object>) p["xx1"]).With("direction",Direction.Out).Project<object>("vertex","degree").By(__.Select<object>("v")).By()}}, 
 +               {"g_V_callXdc_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Call<object>("tinker.degree.centrality",(ITraversal) __.Project<object>("direction").By(__.Constant<object>(Direction.Out))).Project<object>("vertex","degree").By(__.Select<object>("v")).By()}}, 
 +               {"g_V_callXdc_map_traversalX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().As("v").Call<object>("tinker.degree.centrality",(IDictionary<object,object>) p["xx1"],(ITraversal) __.Project<object>("direction").By(__.Constant<object>(Direction.Out))).Project<object>("vertex","degree").By(__.Select<object>("v")).By()}}, 
                 {"g_V_coalesceXoutXfooX_outXbarXX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V().Coalesce<object>(__.Out("foo"),__.Out("bar"))}}, 
                 {"g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Coalesce<object>(__.Out("knows"),__.Out("created")).Values<object>("name")}}, 
                 {"g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX", new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> {(g,p) =>g.V(p["vid1"]).Coalesce<object>(__.Out("created"),__.Out("knows")).Values<object>("name")}}, 
diff --cc gremlin-go/driver/cucumber/gremlin.go
index 026c45e39b,a6ddf27eca..839721ff77
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@@ -321,135 -304,37 +321,137 @@@ var translationMap = map[string][]func(
      "g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("a").OutE("created").As("b").InV().As("c").In("created").As("d").Where("a", gremlingo.P.Lt("b").Or(gremlingo.P.Gt("c")).And(gremlingo.P.Neq("d"))).By("age").By("weight").By(gremlingo.T__.In("created").Values("age") [...]
      "g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).As("a").Out().Has("age").Where(gremlingo.P.Gt("a")).By("age").Values("name")}}, 
      "g_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid3"]).As("a").In().Out().As("b").Where("a", gremlingo.P.Eq("b")).By("age").Values("name")}}, 
 +    "g_withStrategiesXProductiveByStrategyX_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ProductiveByStrategy(gremlingo.ProductiveByStrategyConfig{ProductiveKeys: []string{}})).V(p["vid3"]).As("a").In().Out().As("b").Where("a", gremlingo.P.Eq("b")).By("age").Values("name")}}, 
+     "g_V_asXnX_whereXorXhasLabelXsoftwareX_hasLabelXpersonXXX_selectXnX_byXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("n").Where(gremlingo.T__.Or(gremlingo.T__.HasLabel("software"), gremlingo.T__.HasLabel("person"))).Select("n").By("name")}}, 
+     "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_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gre [...]
 -    "g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("pe [...]
 -    "g_V_outE_propertyXweight_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gremlingo.T.Id, 4).P [...]
 -    "g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As( [...]
 -    "g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Pro [...]
 -    "g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java" [...]
 -    "g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("per [...]
 +    "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(gremlin [...]
 +    "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_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"). [...]
 +    "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")}}, 
 +    "g_withStrategiesXReadOnlyStrategyX_addVXpersonX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ReadOnlyStrategy()).AddV("person")}}, 
 +    "g_withStrategiesXReadOnlyStrategyX_addVXpersonX_fromXVX1XX_toXVX2XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ReadOnlyStrategy()).AddE("link").From(gremlingo.T__.V(p["vid1"])).To(gremlingo.T__.V(p["vid2"]))}}, 
 +    "g_withStrategiesXReadOnlyStrategyX_V_addVXpersonX_fromXVX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ReadOnlyStrategy()).V().AddE("link").From(gremlingo.T__.V(p["vid1"]))}}, 
 +    "g_withStrategiesXReadOnlyStrategyX_V_propertyXname_joshX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ReadOnlyStrategy()).V().Property("name", "josh")}}, 
 +    "g_withStrategiesXReadOnlyStrategyX_E_propertyXweight_0X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.ReadOnlyStrategy()).E().Property("weight", 0)}}, 
 +    "g_V_classic_recommendation": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("name", "DARK STAR").As("a").Out("followedBy").Aggregate("stash").In("followedBy").Where(gremlingo.P.Neq("a").And(gremlingo.P.Without("stash"))).GroupCount().Unfold().Project("x", "y", "z").By(gremlingo.T__.Select(gremlingo.Column.Keys).Values("name")).By(gremlingo.T__.Select(gremlingo.Column.Keys).Values("performances")).By(gremlingo.T__.Selec [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__.OutV().F [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__.OutV().F [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__. [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_inE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__.O [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__.O [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_in": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__.Ou [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_both": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__. [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_bothE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T__ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_localXbothE_limitX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")) [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T_ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple"))), gremlingo.T_ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["v [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["vi [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outXcreatedX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))}) [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outXcreatedX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))}) [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["v [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["vi [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_bothE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[" [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_both": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["v [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outV_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 1.0).HasLabel("knows"), gremlingo.T__.Has("weight", 0.4).HasLabel("created").OutV().Has("name", "marko"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.In("knows").Has("name", "marko"), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.In("knows").Has("name", "marko")), gremlingo.T__.OutV().Filter(gremlingo.T_ [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoXXX_V_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.In().Has("name", "marko"), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.In().Has("name", "marko")), gremlingo.T__.OutV().Filter(gremlingo.T__.In().Has("name", "m [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_whereXoutXcreatedX_hasXname_lopXXXX_V_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.In("knows").Where(gremlingo.T__.Out("created").Has("name", "lop")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.In("knows").Where(greml [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoX_outXcreatedX_hasXname_lopXXXX_V_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.In().Where(gremlingo.T__.Has("name", "marko").Out("created").Has("name", "lop")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.In().W [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_orXboth_hasXname_markoX_hasXname_markoXXXX_V_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Or(gremlingo.T__.Both().Has("name", "marko"), gremlingo.T__.Has("name", "marko")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Or(gremling [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_inE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[" [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[" [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_in": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p["v [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_both": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_bothE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_localXbothE_limitX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("c [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX11X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E( [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX12X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E( [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX9X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E(p [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_hasXname_withinXripple_josh_markoXXX_V_asXaX_out_in_asXbX_dedupXa_bX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("ripple", "josh", "marko")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name" [...]
 +    "g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, VertexProperties: gremlingo.T__.Has("startTime", gremlingo.P.Gt(2005))})).V().Properties("location").Value()}}, 
 +    "g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, VertexProperties: gremlingo.T__.Has("startTime", gremlingo.P.Gt(2005))})).V().Values("location")}}, 
 +    "g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_propertiesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_value_dedup": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, VertexProperties: gremlingo.T__.Has("startTime", gremlingo.P.Gt(2005))})).V().As("a").Properties("location").As("b"). [...]
 +    "g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_valuesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_dedup": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, VertexProperties: gremlingo.T__.Has("startTime", gremlingo.P.Gt(2005))})).V().As("a").Values("location").As("b").Select("a").Ou [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Neq("stephen")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("nam [...]
 +    "g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Neq("stephen")), Edges: gremlingo.T__.And(gremlingo.T__.InV().Filter(gremlingo.T__.Has("name", gremli [...]
 +    "g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.HasLabel("uses").Has("skill", 5)})).V().OutE().ValueMap().Select(gremlingo.Column.Values).Unfold()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E()}}, 
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[ [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_in": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p[" [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_both": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V(p [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_bothE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).V( [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_localXbothE_limitX1XX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel(" [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E [...]
 +    "g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within("josh", "lop", "ripple")), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))})).E( [...]
 +    "g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_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("software").Property("name", "rippl [...]
 +    "g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X": {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").Prop [...]
 +    "g_V_outE_propertyXweight_nullX": {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").Property("lan [...]
 +    "g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX": {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(" [...]
 +    "g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X": {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("ag [...]
 +    "g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX": {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").A [...]
 +    "g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X": {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").Prope [...]
      "g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV().As("first").Repeat(gremlingo.T__.AddE("next").To(gremlingo.T__.AddV()).InV()).Times(5).AddE("next").To(gremlingo.T__.Select("first"))}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V()}, func(g *gremlingo.GraphTraversalSource, p m [...]
 -    "g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop [...]
 -    "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(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3). [...]
 -    "g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gr [...]
 -    "g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(greml [...]
 -    "g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").Ad [...]
 -    "g_V_addVXanimalX_propertyXage_0X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gremlingo.T.Id, 4) [...]
 -    "g_addVXpersonX_propertyXname_stephenX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gremlingo.T.I [...]
 -    "g_V_hasLabelXpersonX_propertyXname_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(gremlingo. [...]
 -    "g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop") [...]
 -    "get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "j [...]
 -    "g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lo [...]
 -    "g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", [...]
 -    "g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person") [...]
 -    "g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java" [...]
 -    "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(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("l [...]
 -    "g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "j [...]
 -    "g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person") [...]
 -    "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(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name [...]
 -    "g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property(gremlingo.T.Id, 1).Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property(gremlingo.T.Id, 2).Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property(gremlingo.T.Id, 3).Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Propert [...]
 -    "g_addVXnullX_propertyXid_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV(nil).Property(gremlingo.T.Id, nil)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("vertex")}}, 
 +    "g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("soft [...]
 +    "g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property(" [...]
 +    "g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripp [...]
 +    "g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripple" [...]
 +    "g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).AddV("person").Property("name", "vadas").Property("age", 27)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddE("knows").Property("weight", nil).From(gremlingo.T__.V().Has("name", "m [...]
 +    "g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX": {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" [...]
 +    "g_V_addVXanimalX_propertyXage_0X": {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").Property("l [...]
 +    "g_addVXpersonX_propertyXname_stephenX": {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_hasLabelXpersonX_propertyXname_nullX": {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").Pro [...]
 +    "g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX": {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("softwa [...]
 +    "get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X": {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_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX": {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("sof [...]
 +    "g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X": {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("j [...]
 +    "g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_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(" [...]
 +    "g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X": {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").A [...]
 +    "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). [...]
 +    "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(" [...]
 +    "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", " [...]
      "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("name", "foo").Property("age", 42)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("name", "foo")}}, 
 +    "g_addV_propertyXsingle_mapX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV().Property(gremlingo.Cardinality.Single, "name", "foo").Property(gremlingo.Cardinality.Single, "age", 42)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("name", "foo")}}, 
 +    "g_addV_propertyXnullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Values()}}, 
 +    "g_addV_propertyXemptyX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Values()}}, 
 +    "g_addV_propertyXset_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("foo")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("foo").Values()}}, 
 +    "g_addV_propertyXset_emptyX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("foo")}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().HasLabel("person").Values()}}, 
 +    "g_addVXpersonX_propertyXname_joshX_propertyXage_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "josh").Property("age", nil)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "age", nil)}}, 
 +    "g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("friendWeight", nil, "acl", nil)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "marko").Has("friendWeight", nil)}, func(g *gremlingo.GraphTraversalSource, p map[string]interf [...]
 +    "g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "alice").Property(gremlingo.Cardinality.Single, "age", 50)}, func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Has("person", "name", "alice").Property("age", gremlingo.T__.Union(gremlingo.T__.Values("age"), gremlingo.T [...]
 +    "g_call": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call()}}, 
 +    "g_callXlistX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list")}}, 
 +    "g_callXlistX_withXstring_stringX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list").With("service", "tinker.search")}}, 
 +    "g_callXlistX_withXstring_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list").With("service", gremlingo.T__.Constant("tinker.search"))}}, 
 +    "g_callXlist_mapX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list", p["xx1"])}}, 
 +    "g_callXlist_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list", gremlingo.T__.Project("service").By(gremlingo.T__.Constant("tinker.search")))}}, 
 +    "g_callXlist_map_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("--list", p["xx1"], gremlingo.T__.Project("service").By(gremlingo.T__.Constant("tinker.search")))}}, 
 +    "g_callXsearch_mapX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search", p["xx1"]).Element()}}, 
 +    "g_callXsearch_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search", gremlingo.T__.Project("search").By(gremlingo.T__.Constant("vada"))).Element()}}, 
 +    "g_callXsearchX_withXstring_stringX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search").With("search", "vada").Element()}}, 
 +    "g_callXsearchX_withXstring_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search").With("search", gremlingo.T__.Constant("vada")).Element()}}, 
 +    "g_callXsearch_mapX_withXstring_VertexX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search", p["xx1"]).With("type", "Vertex").Element()}}, 
 +    "g_callXsearch_mapX_withXstring_EdgeX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search", p["xx1"]).With("type", "Edge").Element()}}, 
 +    "g_callXsearch_mapX_withXstring_VertexPropertyX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.Call("tinker.search", p["xx1"]).With("type", "VertexProperty").Element()}}, 
 +    "g_V_callXdcX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Call("tinker.degree.centrality").Project("vertex", "degree").By(gremlingo.T__.Select("v")).By()}}, 
 +    "g_V_whereXcallXdcXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Where(gremlingo.T__.Call("tinker.degree.centrality").Is(3))}}, 
 +    "g_V_callXdcX_withXdirection_OUTX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Call("tinker.degree.centrality").With("direction", gremlingo.Direction.Out).Project("vertex", "degree").By(gremlingo.T__.Select("v")).By()}}, 
 +    "g_V_callXdc_mapX_withXdirection_OUTX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Call("tinker.degree.centrality", p["xx1"]).With("direction", gremlingo.Direction.Out).Project("vertex", "degree").By(gremlingo.T__.Select("v")).By()}}, 
 +    "g_V_callXdc_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Call("tinker.degree.centrality", gremlingo.T__.Project("direction").By(gremlingo.T__.Constant(gremlingo.Direction.Out))).Project("vertex", "degree").By(gremlingo.T__.Select("v")).By()}}, 
 +    "g_V_callXdc_map_traversalX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().As("v").Call("tinker.degree.centrality", p["xx1"], gremlingo.T__.Project("direction").By(gremlingo.T__.Constant(gremlingo.Direction.Out))).Project("vertex", "degree").By(gremlingo.T__.Select("v")).By()}}, 
      "g_V_coalesceXoutXfooX_outXbarXX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V().Coalesce(gremlingo.T__.Out("foo"), gremlingo.T__.Out("bar"))}}, 
      "g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Coalesce(gremlingo.T__.Out("knows"), gremlingo.T__.Out("created")).Values("name")}}, 
      "g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.V(p["vid1"]).Coalesce(gremlingo.T__.Out("created"), gremlingo.T__.Out("knows")).Values("name")}}, 
diff --cc gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index 989999aec6,2dd768ef17..6614b6d1f0
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@@ -340,135 -321,37 +340,137 @@@ const gremlins = 
      g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX: [function({g}) { return g.V().as("a").outE("created").as("b").inV().as("c").in_("created").as("d").where("a",P.lt("b").or(P.gt("c")).and(P.neq("d"))).by("age").by("weight").by(__.in_("created").values("age").min()).select("a","c","d").by("name") }], 
      g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name: [function({g, vid1}) { return g.V(vid1).as("a").out().has("age").where(P.gt("a")).by("age").values("name") }], 
      g_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name: [function({g, vid3}) { return g.V(vid3).as("a").in_().out().as("b").where("a",P.eq("b")).by("age").values("name") }], 
 +    g_withStrategiesXProductiveByStrategyX_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name: [function({g, vid3}) { return g.withStrategies(new ProductiveByStrategy({productiveKeys:[]})).V(vid3).as("a").in_().out().as("b").where("a",P.eq("b")).by("age").values("name") }], 
+     g_V_asXnX_whereXorXhasLabelXsoftwareX_hasLabelXpersonXXX_selectXnX_byXnameX: [function({g}) { return g.V().as("n").where(__.or(__.hasLabel("software"),__.hasLabel("person"))).select("n").by("name") }], 
+     g_V_asXnX_whereXorXselectXnX_hasLabelXsoftwareX_selectXnX_hasLabelXpersonXXX_selectXnX_byXnameX: [function({g}) { return g.V().as("n").where(__.or(__.select("n").hasLabel("software"),__.select("n").hasLabel("person"))).select("n").by("name") }], 
 -    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ri [...]
 -    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5). [...]
 -    g_V_outE_propertyXweight_nullX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property("lang", [...]
 -    g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32). [...]
 -    g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X: [function({g, vid1, vid2, vid4, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").proper [...]
 -    g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age" [...]
 -    g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X: [function({g, v6, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5) [...]
 +    g_V_coworker: [function({g, xx1}) { return g.V().hasLabel("person").filter(__.outE("created")).aggregate("p").as("p1").values("name").as("p1n").select("p").unfold().where(P.neq("p1")).as("p2").values("name").as("p2n").select("p2").out("created").choose(__.in_("created").where(P.eq("p1")),__.values("name"),__.constant(xx1)).group().by(__.select("p1n")).by(__.group().by(__.select("p2n")).by(__.unfold().fold().project("numCoCreated","coCreated").by(__.count(Scope.local)).by())).unfold() }], 
 +    g_V_coworker_with_midV: [function({g}) { return g.V().hasLabel("person").filter(__.outE("created")).as("p1").V().hasLabel("person").where(P.neq("p1")).filter(__.outE("created")).as("p2").map(__.out("created").where(__.in_("created").as("p1")).values("name").fold()).group().by(__.select("p1").by("name")).by(__.group().by(__.select("p2").by("name")).by(__.project("numCoCreated","coCreated").by(__.count(Scope.local)).by())).unfold() }], 
 +    g_V_shortestpath: [function({g}) { return g.V().as("v").both().as("v").project("src","tgt","p").by(__.select(Pop.first,"v")).by(__.select(Pop.last,"v")).by(__.select(Pop.all,"v")).as("triple").group("x").by(__.select("src","tgt")).by(__.select("p").fold()).select("tgt").barrier().repeat(__.both().as("v").project("src","tgt","p").by(__.select(Pop.first,"v")).by(__.select(Pop.last,"v")).by(__.select(Pop.all,"v")).as("t").filter(__.select(Pop.all,"p").count(Scope.local).as("l").select( [...]
 +    g_withStrategiesXReadOnlyStrategyX_V: [function({g}) { return g.withStrategies(new ReadOnlyStrategy()).V() }], 
 +    g_withStrategiesXReadOnlyStrategyX_V_outXknowsX_name: [function({g}) { return g.withStrategies(new ReadOnlyStrategy()).V().out("knows").values("name") }], 
 +    g_withStrategiesXReadOnlyStrategyX_addVXpersonX: [function({g}) { return g.withStrategies(new ReadOnlyStrategy()).addV("person") }], 
 +    g_withStrategiesXReadOnlyStrategyX_addVXpersonX_fromXVX1XX_toXVX2XX: [function({g, vid2, vid1}) { return g.withStrategies(new ReadOnlyStrategy()).addE("link").from_(__.V(vid1)).to(__.V(vid2)) }], 
 +    g_withStrategiesXReadOnlyStrategyX_V_addVXpersonX_fromXVX1XX: [function({g, vid1}) { return g.withStrategies(new ReadOnlyStrategy()).V().addE("link").from_(__.V(vid1)) }], 
 +    g_withStrategiesXReadOnlyStrategyX_V_propertyXname_joshX: [function({g}) { return g.withStrategies(new ReadOnlyStrategy()).V().property("name","josh") }], 
 +    g_withStrategiesXReadOnlyStrategyX_E_propertyXweight_0X: [function({g}) { return g.withStrategies(new ReadOnlyStrategy()).E().property("weight",0) }], 
 +    g_V_classic_recommendation: [function({g}) { return g.V().has("name","DARK STAR").as("a").out("followedBy").aggregate("stash").in_("followedBy").where(P.neq("a").and(P.without(["stash"]))).groupCount().unfold().project("x","y","z").by(__.select(Column.keys).values("name")).by(__.select(Column.keys).values("performances")).by(__.select(Column.values)).order().by(__.select("z"),Order.desc).by(__.select("y"),Order.asc).limit(5).aggregate(Scope.local,"m").select("x") }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_V: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_E: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).E() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).outE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_inE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).inE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_out: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).out() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_in: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).in_() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_both: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).both() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_bothE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).bothE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_localXbothE_limitX1XX: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).V(vid4).local(__.bothE().limit(1)) }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV: [function({g, eid11}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).E(eid11).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV: [function({g, eid12}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.and(__.inV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))),__.outV().filter(__.has("name",P.within(["josh", "lop", "ripple"]))))})).E(eid12).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_V: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_E: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).E() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outE: [function({g, vid1}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid1).outE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_out: [function({g, vid1}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid1).out() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outXcreatedX: [function({g, vid1}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid1).out("knows") }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outXcreatedX: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).out("created") }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).outE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_out: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).out() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_bothE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).bothE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_both: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).both() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outV_outE: [function({g, eid8}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.or(__.has("weight",1.0).hasLabel("knows"),__.has("weight",0.4).hasLabel("created").outV().has("name","marko"),__.has("weight",1.0).hasLabel("created"))})).E(eid8).outV().outE() }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.in_("knows").has("name","marko"),edges:__.and(__.inV().filter(__.in_("knows").has("name","marko")),__.outV().filter(__.in_("knows").has("name","marko")))})).V().values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoXXX_V_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.in_().has("name","marko"),edges:__.and(__.inV().filter(__.in_().has("name","marko")),__.outV().filter(__.in_().has("name","marko")))})).V().values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_whereXoutXcreatedX_hasXname_lopXXXX_V_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.in_("knows").where(__.out("created").has("name","lop")),edges:__.and(__.inV().filter(__.in_("knows").where(__.out("created").has("name","lop"))),__.outV().filter(__.in_("knows").where(__.out("created").has("name","lop"))))})).V().values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoX_outXcreatedX_hasXname_lopXXXX_V_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.in_().where(__.has("name","marko").out("created").has("name","lop")),edges:__.and(__.inV().filter(__.in_().where(__.has("name","marko").out("created").has("name","lop"))),__.outV().filter(__.in_().where(__.has("name","marko").out("created").has("name","lop"))))})).V().values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_orXboth_hasXname_markoX_hasXname_markoXXXX_V_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.or(__.both().has("name","marko"),__.has("name","marko")),edges:__.and(__.inV().filter(__.or(__.both().has("name","marko"),__.has("name","marko"))),__.outV().filter(__.or(__.both().has("name","marko"),__.has("name","marko"))))})).V().where(__.bothE().count().is(P.neq(0))).values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_V: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_E: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_outE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).outE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_inE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).inE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_out: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).out() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_in: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).in_() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_both: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).both() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_bothE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).bothE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_localXbothE_limitX1XX: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).local(__.bothE().limit(1)) }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX11X_bothV: [function({g, eid11}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid11).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX12X_bothV: [function({g, eid12}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid12).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX9X_bothV: [function({g, eid9}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid9).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_hasXname_withinXripple_josh_markoXXX_V_asXaX_out_in_asXbX_dedupXa_bX_name: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.within(["ripple", "josh", "marko"])),edges:__.and(__.inV().filter(__.has("name",P.within(["ripple", "josh", "marko"]))),__.outV().filter(__.has("name",P.within(["ripple", "josh", "marko"]))))})).V().as("a").out().in_().as("b").dedup("a","b").values("name") }], 
 +    g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertexProperties:__.has("startTime",P.gt(2005))})).V().properties("location").value() }], 
 +    g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertexProperties:__.has("startTime",P.gt(2005))})).V().values("location") }], 
 +    g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_propertiesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_value_dedup: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertexProperties:__.has("startTime",P.gt(2005))})).V().as("a").properties("location").as("b").select("a").outE().properties().select("b").value().dedup() }], 
 +    g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_valuesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_dedup: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertexProperties:__.has("startTime",P.gt(2005))})).V().as("a").values("location").as("b").select("a").outE().properties().select("b").dedup() }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.neq("stephen")),edges:__.and(__.inV().filter(__.has("name",P.neq("stephen"))),__.outV().filter(__.has("name",P.neq("stephen")))),vertexProperties:__.has("startTime",P.gt(2005))})).V().properties("location").value() }], 
 +    g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,vertices:__.has("name",P.neq("stephen")),edges:__.and(__.inV().filter(__.has("name",P.neq("stephen"))),__.outV().filter(__.has("name",P.neq("stephen")))),vertexProperties:__.has("startTime",P.gt(2005))})).V().values("location") }], 
 +    g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:true,edges:__.hasLabel("uses").has("skill",5)})).V().outE().valueMap().select(Column.values).unfold() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_V: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_E: [function({g}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).outE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).inE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).out() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_in: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).in_() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_both: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).both() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_bothE: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).bothE() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_localXbothE_limitX1XX: [function({g, vid4}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).V(vid4).local(__.bothE().limit(1)) }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV: [function({g, eid11}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid11).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV: [function({g, eid12}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid12).bothV() }], 
 +    g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV: [function({g, eid9}) { return g.withStrategies(new SubgraphStrategy({checkAdjacentVertices:false,vertices:__.has("name",P.within(["josh", "lop", "ripple"])),edges:__.or(__.has("weight",0.4).hasLabel("created"),__.has("weight",1.0).hasLabel("created"))})).E(eid9).bothV() }], 
 +    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_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").addV("person").property("name","peter").p [...]
 +    g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X: [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").addV("person").propert [...]
 +    g_V_outE_propertyXweight_nullX: [function({g}) { 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("name","peter").property("age",35).as("p [...]
 +    g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { 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 [...]
 +    g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X: [function({g, vid1, vid2, vid4, vid6}) { 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").p [...]
 +    g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX: [function({g, vid1, vid2, vid3, vid4, vid5, vid6}) { 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( [...]
 +    g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X: [function({g, v6, v1}) { 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").proper [...]
      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, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property [...]
 -    g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX: [function({g, v2}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh") [...]
 -    g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("n [...]
 -    g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name [...]
 -    g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX: [function({g, vid1}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T. [...]
 -    g_V_addVXanimalX_propertyXage_0X: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property("lang [...]
 -    g_addVXpersonX_propertyXname_stephenX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").property( [...]
 -    g_V_hasLabelXpersonX_propertyXname_nullX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","ripple").proper [...]
 -    g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id, [...]
 -    get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software") [...]
 -    g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T. [...]
 -    g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("softwar [...]
 -    g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("na [...]
 -    g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").pro [...]
 -    g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("so [...]
 -    g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software") [...]
 -    g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("na [...]
 -    g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32 [...]
 -    g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label: [function({g}) { return g.addV("person").property(T.id,1).property("name","marko").property("age",29).as("marko").addV("person").property(T.id,2).property("name","vadas").property("age",27).as("vadas").addV("software").property(T.id,3).property("name","lop").property("lang","java").as("lop").addV("person").property(T.id,4).property("name","josh").property("age",32).as("josh").addV("software").property(T.id,5).property("name","rip [...]
 -    g_addVXnullX_propertyXid_nullX: [function({g}) { return g.addV(null).property(T.id,null) }, function({g}) { return g.V().hasLabel("vertex") }], 
 +    g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX: [function({g, v1}) { 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_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX: [function({g, v2}) { 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","rip [...]
 +    g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { 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("name","p [...]
 +    g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X: [function({g, v6, xx1, v1}) { 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("name","pete [...]
 +    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_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX: [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").addV("person").p [...]
 +    g_V_addVXanimalX_propertyXage_0X: [function({g}) { 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("name","peter").property("age",35).as( [...]
 +    g_addVXpersonX_propertyXname_stephenX: [function({g}) { 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("name","peter").property("age",35 [...]
 +    g_V_hasLabelXpersonX_propertyXname_nullX: [function({g}) { 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("name","peter").property("age" [...]
 +    g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX: [function({g}) { return g.addV("person").property("name","marko").property("age",29).as("marko").addV("person").property("name","vadas").property("age",27).as("vadas").addV("software").property("name","lop").property("lang","java").as("lop").addV("person").property("name","josh").property("age",32).as("josh").addV("software").property("name","ripple").property("lang","java").as("ripple").addV("person").prop [...]
 +    get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X: [function({g}) { 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 [...]
 +    g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX: [function({g}) { 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").p [...]
 +    g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X: [function({g}) { return g.addV("person").property("name","marko").property("age",29).as("marko").addV("person").property("name","vadas").property("age",27).as("vadas").addV("software").property("name","lop").property("lang","java").as("lop").addV("person").property("name","josh").property("age",32).as("josh").addV("software").property("name","ripple").property("lang","java").as("ripple").a [...]
 +    g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name: [function({g}) { 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("name","pe [...]
 +    g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X: [function({g}) { 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("pe [...]
 +    g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX: [function({g}) { 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("rippl [...]
 +    g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX: [function({g}) { 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 [...]
 +    g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name: [function({g}) { 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("name","pe [...]
 +    g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX: [function({g}) { 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("la [...]
 +    g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label: [function({g}) { 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("name","peter").pr [...]
      g_addV_propertyXlabel_personX: [function({g}) { return g.addV().property(T.label,"person") }, function({g}) { return g.V().hasLabel("person") }], 
 +    g_addV_propertyXmapX: [function({g}) { return g.addV().property("name","foo").property("age",42) }, function({g}) { return g.V().has("name","foo") }], 
 +    g_addV_propertyXsingle_mapX: [function({g}) { return g.addV().property(Cardinality.single,"name","foo").property(Cardinality.single,"age",42) }, function({g}) { return g.V().has("name","foo") }], 
 +    g_addV_propertyXnullX: [function({g}) { return g.addV("person") }, function({g}) { return g.V().hasLabel("person").values() }], 
 +    g_addV_propertyXemptyX: [function({g}) { return g.addV("person") }, function({g}) { return g.V().hasLabel("person").values() }], 
 +    g_addV_propertyXset_nullX: [function({g}) { return g.addV("foo") }, function({g}) { return g.V().hasLabel("foo").values() }], 
 +    g_addV_propertyXset_emptyX: [function({g}) { return g.addV("foo") }, function({g}) { return g.V().hasLabel("person").values() }], 
 +    g_addVXpersonX_propertyXname_joshX_propertyXage_nullX: [function({g}) { return g.addV("person").property("name","josh").property("age",null) }, function({g}) { return g.V().has("person","age",null) }], 
 +    g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX: [function({g}) { return g.addV("person").property("name","marko").property("friendWeight",null,"acl",null) }, function({g}) { return g.V().has("person","name","marko").has("friendWeight",null) }, function({g}) { return g.V().has("person","name","marko").properties("friendWeight").has("acl",null) }, function({g}) { return g.V().has("person","name","marko").properties("friendWeight").count() }], 
 +    g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX: [function({g}) { return g.addV("person").property("name","alice").property(Cardinality.single,"age",50) }, function({g}) { return g.V().has("person","name","alice").property("age",__.union(__.values("age"),__.constant(1)).sum()) }, function({g}) { return g.V().has("person","age",50) }, function({g}) { return g.V().has("person","age",51) }], 
 +    g_call: [function({g}) { return g.call() }], 
 +    g_callXlistX: [function({g}) { return g.call("--list") }], 
 +    g_callXlistX_withXstring_stringX: [function({g}) { return g.call("--list").with_("service","tinker.search") }], 
 +    g_callXlistX_withXstring_traversalX: [function({g}) { return g.call("--list").with_("service",__.constant("tinker.search")) }], 
 +    g_callXlist_mapX: [function({g, xx1}) { return g.call("--list",xx1) }], 
 +    g_callXlist_traversalX: [function({g}) { return g.call("--list",__.project("service").by(__.constant("tinker.search"))) }], 
 +    g_callXlist_map_traversalX: [function({g, xx1}) { return g.call("--list",xx1,__.project("service").by(__.constant("tinker.search"))) }], 
 +    g_callXsearch_mapX: [function({g, xx1}) { return g.call("tinker.search",xx1).element() }], 
 +    g_callXsearch_traversalX: [function({g}) { return g.call("tinker.search",__.project("search").by(__.constant("vada"))).element() }], 
 +    g_callXsearchX_withXstring_stringX: [function({g}) { return g.call("tinker.search").with_("search","vada").element() }], 
 +    g_callXsearchX_withXstring_traversalX: [function({g}) { return g.call("tinker.search").with_("search",__.constant("vada")).element() }], 
 +    g_callXsearch_mapX_withXstring_VertexX: [function({g, xx1}) { return g.call("tinker.search",xx1).with_("type","Vertex").element() }], 
 +    g_callXsearch_mapX_withXstring_EdgeX: [function({g, xx1}) { return g.call("tinker.search",xx1).with_("type","Edge").element() }], 
 +    g_callXsearch_mapX_withXstring_VertexPropertyX: [function({g, xx1}) { return g.call("tinker.search",xx1).with_("type","VertexProperty").element() }], 
 +    g_V_callXdcX: [function({g}) { return g.V().as("v").call("tinker.degree.centrality").project("vertex","degree").by(__.select("v")).by() }], 
 +    g_V_whereXcallXdcXX: [function({g}) { return g.V().where(__.call("tinker.degree.centrality").is(3)) }], 
 +    g_V_callXdcX_withXdirection_OUTX: [function({g}) { return g.V().as("v").call("tinker.degree.centrality").with_("direction",Direction.OUT).project("vertex","degree").by(__.select("v")).by() }], 
 +    g_V_callXdc_mapX_withXdirection_OUTX: [function({g, xx1}) { return g.V().as("v").call("tinker.degree.centrality",xx1).with_("direction",Direction.OUT).project("vertex","degree").by(__.select("v")).by() }], 
 +    g_V_callXdc_traversalX: [function({g}) { return g.V().as("v").call("tinker.degree.centrality",__.project("direction").by(__.constant(Direction.OUT))).project("vertex","degree").by(__.select("v")).by() }], 
 +    g_V_callXdc_map_traversalX: [function({g, xx1}) { return g.V().as("v").call("tinker.degree.centrality",xx1,__.project("direction").by(__.constant(Direction.OUT))).project("vertex","degree").by(__.select("v")).by() }], 
      g_V_coalesceXoutXfooX_outXbarXX: [function({g}) { return g.V().coalesce(__.out("foo"),__.out("bar")) }], 
      g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX: [function({g, vid1}) { return g.V(vid1).coalesce(__.out("knows"),__.out("created")).values("name") }], 
      g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX: [function({g, vid1}) { return g.V(vid1).coalesce(__.out("created"),__.out("knows")).values("name") }], 
diff --cc gremlin-python/src/main/python/radish/gremlin.py
index 8f7ebecc75,a57daf0582..1ca16fe5fe
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@@ -318,139 -302,41 +318,141 @@@ world.gremlins = 
      'g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX': [(lambda g:g.V().as_('a').out('created').as_('b').in_('created').as_('c').both('knows').both('knows').as_('d').where('c',P.neq('a').and_(P.neq('d'))).select('a','b','c','d'))], 
      'g_V_asXaX_out_asXbX_whereXin_count_isXeqX3XX_or_whereXoutXcreatedX_and_hasXlabel_personXXX_selectXa_bX': [(lambda g:g.V().as_('a').out().as_('b').where(__.as_('b').in_().count().is_(P.eq(3)).or_().where(__.as_('b').out('created').and_().as_('b').has(T.label,'person'))).select('a','b'))], 
      'g_V_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_gtXbXX_byXageX_selectXa_bX_byXnameX': [(lambda g:g.V().as_('a').out('created').in_('created').as_('b').where('a',P.gt('b')).by('age').select('a','b').by('name'))], 
 -    'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX': [(lambda g:g.V().as_('a').outE('created').as_('b').inV().as_('c').where('a',P.gt('b').or_(P.eq('b'))).by('age').by('weight').by('weight').select('a','c').by('name'))], 
 -    'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX': [(lambda g:g.V().as_('a').outE('created').as_('b').inV().as_('c').in_('created').as_('d').where('a',P.lt('b').or_(P.gt('c')).and_(P.neq('d'))).by('age').by('weight').by(__.in_('created').age.min_()).select('a','c','d').by('name'))], 
 +    'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX': [(lambda g:g.V().as_('a').outE('created').as_('b').in_v().as_('c').where('a',P.gt('b').or_(P.eq('b'))).by('age').by('weight').by('weight').select('a','c').by('name'))], 
 +    'g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX': [(lambda g:g.V().as_('a').outE('created').as_('b').in_v().as_('c').in_('created').as_('d').where('a',P.lt('b').or_(P.gt('c')).and_(P.neq('d'))).by('age').by('weight').by(__.in_('created').age.min_()).select('a','c','d').by('name'))], 
      'g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name': [(lambda g, vid1=None:g.V(vid1).as_('a').out().has('age').where(P.gt('a')).by('age').name)], 
      'g_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name': [(lambda g, vid3=None:g.V(vid3).as_('a').in_().out().as_('b').where('a',P.eq('b')).by('age').name)], 
 +    'g_withStrategiesXProductiveByStrategyX_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name': [(lambda g, vid3=None:g.withStrategies(*[TraversalStrategy('ProductiveByStrategy',{'productiveKeys':[],'strategy':'org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.ProductiveByStrategy'}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.ProductiveByStrategy')]).V(vid3).as_('a').in_().out().as_('b').where('a',P.eq('b')).by('age').name)], 
+     'g_V_asXnX_whereXorXhasLabelXsoftwareX_hasLabelXpersonXXX_selectXnX_byXnameX': [(lambda g:g.V().as_('n').where(__.or_(__.hasLabel('software'),__.hasLabel('person'))).select('n').by('name'))], 
+     'g_V_asXnX_whereXorXselectXnX_hasLabelXsoftwareX_selectXnX_hasLabelXpersonXXX_selectXnX_byXnameX': [(lambda g:g.V().as_('n').where(__.or_(__.select('n').hasLabel('software'),__.select('n').hasLabel('person'))).select('n').by('name'))], 
 -    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX': [(lambda g, vid1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name', [...]
 -    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X': [(lambda g, vid1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_, [...]
 -    'g_V_outE_propertyXweight_nullX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name','ripple').property('lang','j [...]
 -    'g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh' [...]
 -    'g_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X': [(lambda g, vid1=None,vid2=None,vid4=None,vid6=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name',' [...]
 -    'g_V_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name',' [...]
 -    'g_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X': [(lambda g, v6=None,v1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T [...]
 -    'g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX': [(lambda g:g.addV().as_('first').repeat(__.addE('next').to(__.addV()).inV()).times(5).addE('next').to(__.select('first'))), (lambda g:g.V()), (lambda g:g.E()), (lambda g:g.E().hasLabel('next')), (lambda g:g.V()[0:1].bothE()), (lambda g:g.V()[0:1].inE()), (lambda g:g.V()[0:1].outE())], 
 -    'g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX': [(lambda g, v1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').proper [...]
 -    'g_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX': [(lambda g, v2=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh' [...]
 -    'g_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5). [...]
 -    'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).pro [...]
 -    'g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX': [(lambda g, vid1=None:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property( [...]
 -    'g_V_addVXanimalX_propertyXage_0X': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name','ripple').property('lang', [...]
 -    'g_addVXpersonX_propertyXname_stephenX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name','ripple').property('l [...]
 -    'g_V_hasLabelXpersonX_propertyXname_nullX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name','ripple').property [...]
 -    'g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5) [...]
 -    'get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').pr [...]
 -    'g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_ [...]
 -    'g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software') [...]
 -    'g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name [...]
 -    'g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').proper [...]
 -    'g_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('softw [...]
 -    'g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').pr [...]
 -    'g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name [...]
 -    'g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as [...]
 -    'g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label': [(lambda g:g.addV('person').property(T.id_,1).property('name','marko').property('age',29).as_('marko').addV('person').property(T.id_,2).property('name','vadas').property('age',27).as_('vadas').addV('software').property(T.id_,3).property('name','lop').property('lang','java').as_('lop').addV('person').property(T.id_,4).property('name','josh').property('age',32).as_('josh').addV('software').property(T.id_,5).property('name','rippl [...]
 -    'g_addVXnullX_propertyXid_nullX': [(lambda g:g.addV(None).property(T.id_,None)), (lambda g:g.V().hasLabel('vertex'))], 
 +    'g_V_coworker': [(lambda g, xx1=None:g.V().hasLabel('person').filter_(__.outE('created')).aggregate('p').as_('p1').name.as_('p1n').select('p').unfold().where(P.neq('p1')).as_('p2').name.as_('p2n').select('p2').out('created').choose(__.in_('created').where(P.eq('p1')),__.name,__.constant(xx1)).group().by(__.select('p1n')).by(__.group().by(__.select('p2n')).by(__.unfold().fold().project('numCoCreated','coCreated').by(__.count(Scope.local)).by())).unfold())], 
 +    'g_V_coworker_with_midV': [(lambda g:g.V().hasLabel('person').filter_(__.outE('created')).as_('p1').V().hasLabel('person').where(P.neq('p1')).filter_(__.outE('created')).as_('p2').map(__.out('created').where(__.in_('created').as_('p1')).name.fold()).group().by(__.select('p1').by('name')).by(__.group().by(__.select('p2').by('name')).by(__.project('numCoCreated','coCreated').by(__.count(Scope.local)).by())).unfold())], 
 +    'g_V_shortestpath': [(lambda g:g.V().as_('v').both().as_('v').project('src','tgt','p').by(__.select(Pop.first,'v')).by(__.select(Pop.last,'v')).by(__.select(Pop.all_,'v')).as_('triple').group('x').by(__.select('src','tgt')).by(__.select('p').fold()).select('tgt').barrier().repeat(__.both().as_('v').project('src','tgt','p').by(__.select(Pop.first,'v')).by(__.select(Pop.last,'v')).by(__.select(Pop.all_,'v')).as_('t').filter_(__.select(Pop.all_,'p').count(Scope.local).as_('l').select(P [...]
 +    'g_withStrategiesXReadOnlyStrategyX_V': [(lambda g:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).V())], 
 +    'g_withStrategiesXReadOnlyStrategyX_V_outXknowsX_name': [(lambda g:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).V().out('knows').name)], 
 +    'g_withStrategiesXReadOnlyStrategyX_addVXpersonX': [(lambda g:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).addV('person'))], 
 +    'g_withStrategiesXReadOnlyStrategyX_addVXpersonX_fromXVX1XX_toXVX2XX': [(lambda g, vid2=None,vid1=None:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).addE('link').from_(__.V(vid1)).to(__.V(vid2)))], 
 +    'g_withStrategiesXReadOnlyStrategyX_V_addVXpersonX_fromXVX1XX': [(lambda g, vid1=None:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).V().addE('link').from_(__.V(vid1)))], 
 +    'g_withStrategiesXReadOnlyStrategyX_V_propertyXname_joshX': [(lambda g:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).V().property('name','josh'))], 
 +    'g_withStrategiesXReadOnlyStrategyX_E_propertyXweight_0X': [(lambda g:g.withStrategies(*[TraversalStrategy('ReadOnlyStrategy', None, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReadOnlyStrategy')]).E().property('weight',0))], 
 +    'g_V_classic_recommendation': [(lambda g:g.V().has('name','DARK STAR').as_('a').out('followedBy').aggregate('stash').in_('followedBy').where(P.neq('a').and_(P.without(['stash']))).groupCount().unfold().project('x','y','z').by(__.select(Column.keys).name).by(__.select(Column.keys).performances).by(__.select(Column.values)).order().by(__.select('z'),Order.desc).by(__.select('y'),Order.asc)[0:5].aggregate(Scope.local,'m').select('x'))], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_V': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_E': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).outE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_inE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).inE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_out': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).out())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_in': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).in_())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_both': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).both())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_bothE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).bothE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_localXbothE_limitX1XX': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')] [...]
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV': [(lambda g, eid11=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid11).bot [...]
 +    'g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV': [(lambda g, eid12=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.out_v().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid12).bot [...]
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_V': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_E': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outE': [(lambda g, vid1=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid1).outE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_out': [(lambda g, vid1=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid1).out())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outXcreatedX': [(lambda g, vid1=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid1).out('knows'))], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outXcreatedX': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).out('created'))], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).outE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_out': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).out())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_bothE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).bothE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_both': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).both())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outV_outE': [(lambda g, eid8=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.or_(__.has('weight',float(1.0)).hasLabel('knows'),__.has('weight',float(0.4)).hasLabel('created').out_v().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid8).out_v().outE())], 
 +    'g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.in_('knows').has('name','marko'),'edges':__.and_(__.in_v().filter_(__.in_('knows').has('name','marko')),__.out_v().filter_(__.in_('knows').has('name','marko')))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().name)], 
 +    'g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.in_().has('name','marko'),'edges':__.and_(__.in_v().filter_(__.in_().has('name','marko')),__.out_v().filter_(__.in_().has('name','marko')))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().name)], 
 +    'g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_whereXoutXcreatedX_hasXname_lopXXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.in_('knows').where(__.out('created').has('name','lop')),'edges':__.and_(__.in_v().filter_(__.in_('knows').where(__.out('created').has('name','lop'))),__.out_v().filter_(__.in_('knows').where(__.out('created').has('name','lop'))))}, 'org.apache.tinkerpop.gremlin.process.travers [...]
 +    'g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoX_outXcreatedX_hasXname_lopXXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.in_().where(__.has('name','marko').out('created').has('name','lop')),'edges':__.and_(__.in_v().filter_(__.in_().where(__.has('name','marko').out('created').has('name','lop'))),__.out_v().filter_(__.in_().where(__.has('name','marko').out('created').has('name','lop'))))}, 'or [...]
 +    'g_withStrategiesXSubgraphStrategyXvertices_orXboth_hasXname_markoX_hasXname_markoXXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.or_(__.both().has('name','marko'),__.has('name','marko')),'edges':__.and_(__.in_v().filter_(__.or_(__.both().has('name','marko'),__.has('name','marko'))),__.out_v().filter_(__.or_(__.both().has('name','marko'),__.has('name','marko'))))}, 'org.apache.tinkerpop.gremlin.process.trav [...]
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_V': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_E': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_outE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).outE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_inE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).inE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_out': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).out())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_in': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).in_())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_both': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).both())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_bothE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).bothE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_localXbothE_limitX1XX': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).local(__.bothE()[0:1]))], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX11X_bothV': [(lambda g, eid11=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid11).bothV())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX12X_bothV': [(lambda g, eid12=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid12).bothV())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX9X_bothV': [(lambda g, eid9=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid9).bothV())], 
 +    'g_withStrategiesXSubgraphStrategyXvertices_hasXname_withinXripple_josh_markoXXX_V_asXaX_out_in_asXbX_dedupXa_bX_name': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.within(['ripple','josh','marko'])),'edges':__.and_(__.in_v().filter_(__.has('name',P.within(['ripple','josh','marko']))),__.out_v().filter_(__.has('name',P.within(['ripple','josh','marko']))))}, 'org.apache.tinkerpop.gremlin.process.traversal. [...]
 +    'g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().properties('location').value())], 
 +    'g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().location)], 
 +    'g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_propertiesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_value_dedup': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().as_('a').properties('location').as_('b').select('a').outE().properties().select('b [...]
 +    'g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_valuesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_dedup': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().as_('a').location.as_('b').select('a').outE().properties().select('b').dedup())], 
 +    'g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.neq('stephen')),'edges':__.and_(__.in_v().filter_(__.has('name',P.neq('stephen'))),__.out_v().filter_(__.has('name',P.neq('stephen')))),'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.proc [...]
 +    'g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'vertices':__.has('name',P.neq('stephen')),'edges':__.and_(__.in_v().filter_(__.has('name',P.neq('stephen'))),__.out_v().filter_(__.has('name',P.neq('stephen')))),'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traver [...]
 +    'g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':True,'edges':__.hasLabel('uses').has('skill',5)}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V().outE().valueMap().select(Column.values).unfold())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_V': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_E': [(lambda g:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).outE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).inE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).out())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_in': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).in_())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_both': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).both())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_bothE': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).bothE())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_localXbothE_limitX1XX': [(lambda g, vid4=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V(vid4).local(__.bothE()[0:1]))], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV': [(lambda g, eid11=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid11).bothV())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV': [(lambda g, eid12=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid12).bothV())], 
 +    'g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV': [(lambda g, eid9=None:g.withStrategies(*[TraversalStrategy('SubgraphStrategy',{'checkAdjacentVertices':False,'vertices':__.has('name',P.within(['josh','lop','ripple'])),'edges':__.or_(__.has('weight',float(0.4)).hasLabel('created'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid9).bothV())], 
 +    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX': [(lambda g, vid1=None: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('name','peter').pr [...]
 +    'g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X': [(lambda g, vid1=None: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_V_outE_propertyXweight_nullX': [(lambda g: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('name','peter').property('age',35).as_('peter' [...]
 +    'g_V_aggregateXxX_asXaX_selectXxX_unfold_addEXexistsWithX_toXaX_propertyXtime_nowX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None: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_V_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_asXbX_addEXcodeveloperX_fromXaX_toXbX_propertyXyear_2009X': [(lambda g, vid1=None,vid2=None,vid4=None,vid6=None: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_asXaX_inXcreatedX_addEXcreatedByX_fromXaX_propertyXyear_2009X_propertyXacl_publicX': [(lambda g, vid1=None,vid2=None,vid3=None,vid4=None,vid5=None,vid6=None: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_withSideEffectXb_bX_VXaX_addEXknowsX_toXbX_propertyXweight_0_5X': [(lambda g, v6=None,v1=None: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').pro [...]
 +    'g_addV_asXfirstX_repeatXaddEXnextX_toXaddVX_inVX_timesX5X_addEXnextX_toXselectXfirstXX': [(lambda g:g.addV().as_('first').repeat(__.addE('next').to(__.addV()).in_v()).times(5).addE('next').to(__.select('first'))), (lambda g:g.V()), (lambda g:g.E()), (lambda g:g.E().hasLabel('next')), (lambda g:g.V()[0:1].bothE()), (lambda g:g.V()[0:1].inE()), (lambda g:g.V()[0:1].outE())], 
 +    'g_V_hasXname_markoX_asXaX_outEXcreatedX_asXbX_inV_addEXselectXbX_labelX_toXaX': [(lambda g, v1=None: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_addEXV_outE_label_groupCount_orderXlocalX_byXvalues_descX_selectXkeysX_unfold_limitX1XX_fromXV_hasXname_vadasXX_toXV_hasXname_lopXX': [(lambda g, v2=None: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_addEXknowsX_fromXaX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None: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('n [...]
 +    'g_VXaX_addEXknowsX_toXbX_propertyXweight_0_1X': [(lambda g, v6=None,xx1=None,v1=None: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('name [...]
 +    'g_addEXknowsXpropertyXweight_nullXfromXV_hasXname_markoXX_toXV_hasXname_vadasXX': [(lambda g:g.addV('person').property('name','marko').property('age',29).addV('person').property('name','vadas').property('age',27)), (lambda g:g.addE('knows').property('weight',None).from_(__.V().has('name','marko')).to(__.V().has('name','vadas'))), (lambda g:g.E().has('knows','weight',None))], 
 +    'g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX': [(lambda g, vid1=None: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').pr [...]
 +    'g_V_addVXanimalX_propertyXage_0X': [(lambda g: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('name','peter').property('age',35).as_('pete [...]
 +    'g_addVXpersonX_propertyXname_stephenX': [(lambda g: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('name','peter').property('age',35).as_( [...]
 +    'g_V_hasLabelXpersonX_propertyXname_nullX': [(lambda g: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('name','peter').property('age',35).a [...]
 +    'g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenmX': [(lambda g: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(' [...]
 +    'get_g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X': [(lambda g: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('pers [...]
 +    'g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX': [(lambda g:g.addV('person').property('name','marko').property('age',29).as_('marko').addV('person').property('name','vadas').property('age',27).as_('vadas').addV('software').property('name','lop').property('lang','java').as_('lop').addV('person').property('name','josh').property('age',32).as_('josh').addV('software').property('name','ripple').property('lang','java').as_('ripple').addV('person').propert [...]
 +    'g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X': [(lambda g:g.addV('person').property('name','marko').property('age',29).as_('marko').addV('person').property('name','vadas').property('age',27).as_('vadas').addV('software').property('name','lop').property('lang','java').as_('lop').addV('person').property('name','josh').property('age',32).as_('josh').addV('software').property('name','ripple').property('lang','java').as_('ripple').addV('p [...]
 +    'g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name': [(lambda g: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('name','peter'). [...]
 +    'g_addVXpersonX_propertyXsingle_name_stephenX_propertyXsingle_name_stephenm_since_2010X': [(lambda g: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_V_addVXanimalX_propertyXname_valuesXnameXX_propertyXname_an_animalX_propertyXvaluesXnameX_labelX': [(lambda g: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_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX': [(lambda g: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('pers [...]
 +    'g_withSideEffectXa_nameX_addV_propertyXselectXaX_markoX_name': [(lambda g: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('name','peter'). [...]
 +    'g_V_asXaX_hasXname_markoX_outXcreatedX_asXbX_addVXselectXaX_labelX_propertyXtest_selectXbX_labelX_valueMap_withXtokensX': [(lambda g: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','ja [...]
 +    'g_addVXV_hasXname_markoX_propertiesXnameX_keyX_label': [(lambda g: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('name','peter').property [...]
      'g_addV_propertyXlabel_personX': [(lambda g:g.addV().property(T.label,'person')), (lambda g:g.V().hasLabel('person'))], 
 +    'g_addV_propertyXmapX': [(lambda g:g.addV().property('name','foo').property('age',42)), (lambda g:g.V().has('name','foo'))], 
 +    'g_addV_propertyXsingle_mapX': [(lambda g:g.addV().property(Cardinality.single,'name','foo').property(Cardinality.single,'age',42)), (lambda g:g.V().has('name','foo'))], 
 +    'g_addV_propertyXnullX': [(lambda g:g.addV('person')), (lambda g:g.V().hasLabel('person').values())], 
 +    'g_addV_propertyXemptyX': [(lambda g:g.addV('person')), (lambda g:g.V().hasLabel('person').values())], 
 +    'g_addV_propertyXset_nullX': [(lambda g:g.addV('foo')), (lambda g:g.V().hasLabel('foo').values())], 
 +    'g_addV_propertyXset_emptyX': [(lambda g:g.addV('foo')), (lambda g:g.V().hasLabel('person').values())], 
 +    'g_addVXpersonX_propertyXname_joshX_propertyXage_nullX': [(lambda g:g.addV('person').property('name','josh').property('age',None)), (lambda g:g.V().has('person','age',None))], 
 +    'g_addVXpersonX_propertyXname_markoX_propertyXfriendWeight_null_acl_nullX': [(lambda g:g.addV('person').property('name','marko').property('friendWeight',None,'acl',None)), (lambda g:g.V().has('person','name','marko').has('friendWeight',None)), (lambda g:g.V().has('person','name','marko').properties('friendWeight').has('acl',None)), (lambda g:g.V().has('person','name','marko').properties('friendWeight').count())], 
 +    'g_V_hasXperson_name_aliceX_propertyXsingle_age_unionXage_constantX1XX_sumX': [(lambda g:g.addV('person').property('name','alice').property(Cardinality.single,'age',50)), (lambda g:g.V().has('person','name','alice').property('age',__.union(__.age,__.constant(1)).sum_())), (lambda g:g.V().has('person','age',50)), (lambda g:g.V().has('person','age',51))], 
 +    'g_call': [(lambda g:g.call())], 
 +    'g_callXlistX': [(lambda g:g.call('--list'))], 
 +    'g_callXlistX_withXstring_stringX': [(lambda g:g.call('--list').with_('service','tinker.search'))], 
 +    'g_callXlistX_withXstring_traversalX': [(lambda g:g.call('--list').with_('service',__.constant('tinker.search')))], 
 +    'g_callXlist_mapX': [(lambda g, xx1=None:g.call('--list',xx1))], 
 +    'g_callXlist_traversalX': [(lambda g:g.call('--list',__.project('service').by(__.constant('tinker.search'))))], 
 +    'g_callXlist_map_traversalX': [(lambda g, xx1=None:g.call('--list',xx1,__.project('service').by(__.constant('tinker.search'))))], 
 +    'g_callXsearch_mapX': [(lambda g, xx1=None:g.call('tinker.search',xx1).element())], 
 +    'g_callXsearch_traversalX': [(lambda g:g.call('tinker.search',__.project('search').by(__.constant('vada'))).element())], 
 +    'g_callXsearchX_withXstring_stringX': [(lambda g:g.call('tinker.search').with_('search','vada').element())], 
 +    'g_callXsearchX_withXstring_traversalX': [(lambda g:g.call('tinker.search').with_('search',__.constant('vada')).element())], 
 +    'g_callXsearch_mapX_withXstring_VertexX': [(lambda g, xx1=None:g.call('tinker.search',xx1).with_('type','Vertex').element())], 
 +    'g_callXsearch_mapX_withXstring_EdgeX': [(lambda g, xx1=None:g.call('tinker.search',xx1).with_('type','Edge').element())], 
 +    'g_callXsearch_mapX_withXstring_VertexPropertyX': [(lambda g, xx1=None:g.call('tinker.search',xx1).with_('type','VertexProperty').element())], 
 +    'g_V_callXdcX': [(lambda g:g.V().as_('v').call('tinker.degree.centrality').project('vertex','degree').by(__.select('v')).by())], 
 +    'g_V_whereXcallXdcXX': [(lambda g:g.V().where(__.call('tinker.degree.centrality').is_(3)))], 
 +    'g_V_callXdcX_withXdirection_OUTX': [(lambda g:g.V().as_('v').call('tinker.degree.centrality').with_('direction',Direction.OUT).project('vertex','degree').by(__.select('v')).by())], 
 +    'g_V_callXdc_mapX_withXdirection_OUTX': [(lambda g, xx1=None:g.V().as_('v').call('tinker.degree.centrality',xx1).with_('direction',Direction.OUT).project('vertex','degree').by(__.select('v')).by())], 
 +    'g_V_callXdc_traversalX': [(lambda g:g.V().as_('v').call('tinker.degree.centrality',__.project('direction').by(__.constant(Direction.OUT))).project('vertex','degree').by(__.select('v')).by())], 
 +    'g_V_callXdc_map_traversalX': [(lambda g, xx1=None:g.V().as_('v').call('tinker.degree.centrality',xx1,__.project('direction').by(__.constant(Direction.OUT))).project('vertex','degree').by(__.select('v')).by())], 
      'g_V_coalesceXoutXfooX_outXbarXX': [(lambda g:g.V().coalesce(__.out('foo'),__.out('bar')))], 
      'g_VX1X_coalesceXoutXknowsX_outXcreatedXX_valuesXnameX': [(lambda g, vid1=None:g.V(vid1).coalesce(__.out('knows'),__.out('created')).name)], 
      'g_VX1X_coalesceXoutXcreatedX_outXknowsXX_valuesXnameX': [(lambda g, vid1=None:g.V(vid1).coalesce(__.out('created'),__.out('knows')).name)], 
diff --cc gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
index e8e102b0fa,0000000000..178a44f151
mode 100644,000000..100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/filter/Where.feature
@@@ -1,362 -1,0 +1,398 @@@
 +# Licensed to the Apache Software Foundation (ASF) under one
 +# or more contributor license agreements.  See the NOTICE file
 +# distributed with this work for additional information
 +# regarding copyright ownership.  The ASF licenses this file
 +# to you under the Apache License, Version 2.0 (the
 +# "License"); you may not use this file except in compliance
 +# with the License.  You may obtain a copy of the License at
 +#
 +# http://www.apache.org/licenses/LICENSE-2.0
 +#
 +# Unless required by applicable law or agreed to in writing,
 +# software distributed under the License is distributed on an
 +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 +# KIND, either express or implied.  See the License for the
 +# specific language governing permissions and limitations
 +# under the License.
 +
 +@StepClassFilter @StepWhere
 +Feature: Step - where()
 +
 +  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_eqXbXX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.eq("b"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[josh]","b":"v[josh]"}] |
 +      | m[{"a":"v[josh]","b":"v[josh]"}] |
 +      | m[{"a":"v[peter]","b":"v[peter]"}] |
 +
 +  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_neqXbXX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where("a", P.neq("b"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a":"v[marko]","b":"v[josh]"}] |
 +      | m[{"a":"v[marko]","b":"v[peter]"}] |
 +      | m[{"a":"v[josh]","b":"v[marko]"}] |
 +      | m[{"a":"v[josh]","b":"v[peter]"}] |
 +      | m[{"a":"v[peter]","b":"v[marko]"}] |
 +      | m[{"a":"v[peter]","b":"v[josh]"}] |
 +
 +  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXb_hasXname_markoXX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("b").has("name", "marko"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[marko]","b":"v[marko]"}] |
 +      | m[{"a":"v[josh]","b":"v[marko]"}] |
 +      | m[{"a":"v[peter]","b":"v[marko]"}] |
 +
 +  Scenario: g_V_hasXageX_asXaX_out_in_hasXageX_asXbX_selectXa_bX_whereXa_outXknowsX_bX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().has("age").as("a").out().in().has("age").as("b").select("a", "b").where(__.as("a").out("knows").as("b"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a":"v[marko]","b":"v[josh]"}] |
 +
 +  Scenario: g_V_asXaX_outXcreatedX_whereXasXaX_name_isXjoshXX_inXcreatedX_name
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out("created").where(__.as("a").values("name").is("josh")).in("created").values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | josh |
 +      | josh |
 +      | marko |
 +      | peter |
 +
 +  Scenario: g_withSideEffectXa_josh_peterX_VX1X_outXcreatedX_inXcreatedX_name_whereXwithinXaXX
 +    Given the modern graph
 +    And using the parameter xx1 defined as "l[josh,peter]"
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.withSideEffect("a", xx1).V(vid1).out("created").in("created").values("name").where(P.within("a"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | josh |
 +      | peter |
 +
 +  Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_neqXbXX_name
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).as("a").out("created").in("created").as("b").where("a", P.neq("b")).values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | josh |
 +      | peter |
 +
 +  @GraphComputerVerificationStarGraphExceeded
 +  Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXasXbX_outXcreatedX_hasXname_rippleXX_valuesXage_nameX
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).as("a").out("created").in("created").as("b").where(__.as("b").out("created").has("name", "ripple")).values("age", "name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | josh |
 +      | d[32].i |
 +
 +  Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXeqXaXX_name
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).as("a").out("created").in("created").where(P.eq("a")).values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | marko |
 +
 +  Scenario: g_VX1X_asXaX_outXcreatedX_inXcreatedX_whereXneqXaXX_name
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).as("a").out("created").in("created").where(P.neq("a")).values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | peter |
 +      | josh  |
 +
 +  Scenario: g_VX1X_out_aggregateXxX_out_whereXnotXwithinXaXXX
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).out().aggregate("x").out().where(P.not(P.within("x")))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | v[ripple] |
 +
 +  Scenario: g_withSideEffectXa_g_VX2XX_VX1X_out_whereXneqXaXX
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And using the parameter v2 defined as "v[vadas]"
 +    And the traversal of
 +      """
 +      g.withSideEffect("a", v2).V(vid1).out().where(P.neq("a"))
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | v[josh] |
 +      | v[lop] |
 +
 +  Scenario: g_VX1X_repeatXbothEXcreatedX_whereXwithoutXeXX_aggregateXeX_otherVX_emit_path
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).repeat(__.bothE("created").where(P.without("e")).aggregate("e").otherV()).emit().path()
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | p[v[marko],e[marko-created->lop],v[lop]] |
 +      | p[v[marko],e[marko-created->lop],v[lop],e[josh-created->lop],v[josh]] |
 +      | p[v[marko],e[marko-created->lop],v[lop],e[peter-created->lop],v[peter]] |
 +      | p[v[marko],e[marko-created->lop],v[lop],e[josh-created->lop],v[josh],e[josh-created->ripple],v[ripple]] |
 +
 +  Scenario: g_V_whereXnotXoutXcreatedXXX_name
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().where(__.not(__.out("created"))).values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | vadas |
 +      | lop |
 +      | ripple |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_out_asXbX_whereXandXasXaX_outXknowsX_asXbX__orXasXbX_outXcreatedX_hasXname_rippleX__asXbX_inXknowsX_count_isXnotXeqX0XXXXX_selectXa_bX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out().as("b").where(__.and(__.as("a").out("knows").as("b"), __.or(__.as("b").out("created").has("name", "ripple"), __.as("b").in("knows").count().is(P.not(P.eq(0)))))).select("a", "b")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "v[marko]", "b": "v[vadas]"}] |
 +      | m[{"a": "v[marko]", "b": "v[josh]"}] |
 +
 +  Scenario: g_V_whereXoutXcreatedX_and_outXknowsX_or_inXknowsXX_valuesXnameX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().where(__.out("created").and().out("knows").or().in("knows")).values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | marko |
 +      | vadas |
 +      | josh |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_outXcreatedX_asXbX_whereXandXasXbX_in__notXasXaX_outXcreatedX_hasXname_rippleXXX_selectXa_bX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out("created").as("b").where(__.and(__.as("b").in(), __.not(__.as("a").out("created").has("name", "ripple")))).select("a", "b")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "v[marko]", "b": "v[lop]"}] |
 +      | m[{"a": "v[peter]", "b": "v[lop]"}] |
 +
 +  Scenario: g_V_asXaX_outXcreatedX_asXbX_inXcreatedX_asXcX_bothXknowsX_bothXknowsX_asXdX_whereXc__notXeqXaX_orXeqXdXXXX_selectXa_b_c_dX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out("created").as("b").in("created").as("c").both("knows").both("knows").as("d").where("c", P.not(P.eq("a").or(P.eq("d")))).select("a", "b", "c", "d")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "v[marko]", "b": "v[lop]", "c": "v[josh]", "d": "v[vadas]"}] |
 +      | m[{"a": "v[peter]", "b": "v[lop]", "c": "v[josh]", "d": "v[vadas]"}] |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_out_asXbX_whereXin_count_isXeqX3XX_or_whereXoutXcreatedX_and_hasXlabel_personXXX_selectXa_bX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out().as("b").where(__.as("b").in().count().is(P.eq(3)).or().where(__.as("b").out("created").and().as("b").has(T.label, "person"))).select("a", "b")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "v[marko]", "b": "v[lop]"}] |
 +      | m[{"a": "v[marko]", "b": "v[josh]"}] |
 +      | m[{"a": "v[josh]", "b": "v[lop]"}] |
 +      | m[{"a": "v[peter]", "b": "v[lop]"}] |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_outXcreatedX_inXcreatedX_asXbX_whereXa_gtXbXX_byXageX_selectXa_bX_byXnameX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").out("created").in("created").as("b").where("a", P.gt("b")).by("age").select("a", "b").by("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "josh", "b": "marko"}] |
 +      | m[{"a": "peter", "b": "marko"}] |
 +      | m[{"a": "peter", "b": "josh"}] |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_whereXa_gtXbX_orXeqXbXXX_byXageX_byXweightX_byXweightX_selectXa_cX_byXnameX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").outE("created").as("b").inV().as("c").where("a", P.gt("b").or(P.eq("b"))).by("age").by("weight").by("weight").select("a", "c").by("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "marko", "c": "lop"}] |
 +      | m[{"a": "josh", "c": "ripple"}] |
 +      | m[{"a": "josh", "c": "lop"}] |
 +      | m[{"a": "peter", "c": "lop"}] |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_V_asXaX_outEXcreatedX_asXbX_inV_asXcX_inXcreatedX_asXdX_whereXa_ltXbX_orXgtXcXX_andXneqXdXXX_byXageX_byXweightX_byXinXcreatedX_valuesXageX_minX_selectXa_c_dX
 +    Given the modern graph
 +    And the traversal of
 +      """
 +      g.V().as("a").outE("created").as("b").inV().as("c").in("created").as("d").where("a", P.lt("b").or(P.gt("c")).and(P.neq("d"))).by("age").by("weight").by(__.in("created").values("age").min()).select("a", "c", "d").by("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | m[{"a": "josh", "c": "lop", "d": "marko"}] |
 +      | m[{"a": "josh", "c": "lop", "d": "peter"}] |
 +      | m[{"a": "peter", "c": "lop", "d": "marko"}] |
 +      | m[{"a": "peter", "c": "lop", "d": "josh"}] |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_VX1X_asXaX_out_hasXageX_whereXgtXaXX_byXageX_name
 +    Given the modern graph
 +    And using the parameter vid1 defined as "v[marko].id"
 +    And the traversal of
 +      """
 +      g.V(vid1).as("a").out().has("age").where(P.gt("a")).by("age").values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | josh |
 +
 +  @GraphComputerVerificationReferenceOnly
 +  Scenario: g_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name
 +    Given the modern graph
 +    And using the parameter vid3 defined as "v[lop].id"
 +    And the traversal of
 +      """
 +      g.V(vid3).as("a").in().out().as("b").where("a", P.eq("b")).by("age").values("name")
 +      """
 +    When iterated to list
 +    Then the result should be empty
 +
 +  # comparison of null "age" values in where()
 +  @GraphComputerVerificationReferenceOnly @WithProductiveByStrategy
 +  Scenario: g_withStrategiesXProductiveByStrategyX_VX3X_asXaX_in_out_asXbX_whereXa_eqXbXX_byXageX_name
 +    Given the modern graph
 +    And using the parameter vid3 defined as "v[lop].id"
 +    And the traversal of
 +      """
 +      g.withStrategies(ProductiveByStrategy).V(vid3).as("a").in().out().as("b").where("a", P.eq("b")).by("age").values("name")
 +      """
 +    When iterated to list
 +    Then the result should be unordered
 +      | result |
 +      | lop |
 +      | lop |
 +      | lop |
++      | ripple |
++
++  Scenario: g_V_asXnX_whereXorXhasLabelXsoftwareX_hasLabelXpersonXXX_selectXnX_byXnameX
++    Given the modern graph
++    And the traversal of
++      """
++      g.V().as("n").where(
++        __.or(__.hasLabel("software"), __.hasLabel("person"))
++      ).select("n").by("name")
++      """
++    When iterated to list
++    Then the result should be unordered
++      | result |
++      | marko |
++      | vadas |
++      | josh |
++      | peter |
++      | lop |
++      | ripple |
++
++  Scenario: g_V_asXnX_whereXorXselectXnX_hasLabelXsoftwareX_selectXnX_hasLabelXpersonXXX_selectXnX_byXnameX
++    Given the modern graph
++    And the traversal of
++      """
++      g.V().as("n").
++        where(__.or(__.select("n").hasLabel("software"), __.select("n").hasLabel("person"))).
++        select("n").by("name")
++      """
++    When iterated to list
++    Then the result should be unordered
++      | result |
++      | marko |
++      | vadas |
++      | josh |
++      | peter |
++      | lop |
 +      | ripple |