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

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

commit a18ee9fd30fbab5b0c7247269ba0c9dc2e6690a0
Merge: 7d4cfcfb38 a6f77163ff
Author: Andrea Child <[email protected]>
AuthorDate: Fri Sep 26 13:42:37 2025 -0700

    Merge branch '3.8-dev'

 CHANGELOG.asciidoc                                 |   5 +-
 docs/src/upgrade/release-3.8.x.asciidoc            |  89 +++++++++
 .../optimization/RepeatUnrollStrategy.java         |  49 +++--
 .../process/traversal/util/TraversalHelper.java    |  18 ++
 .../optimization/RepeatUnrollStrategyTest.java     | 139 ++++++++-----
 .../traversal/util/TraversalHelperTest.java        |  49 ++++-
 .../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs |  16 ++
 gremlin-go/driver/cucumber/gremlin.go              |  16 ++
 .../gremlin-javascript/test/cucumber/gremlin.js    |  16 ++
 gremlin-python/src/main/python/radish/gremlin.py   |  18 +-
 .../integrated/RepeatUnrollStrategy.feature        | 221 +++++++++++++++++++++
 11 files changed, 567 insertions(+), 69 deletions(-)

diff --cc 
gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RepeatUnrollStrategyTest.java
index 724fdabcb6,1bd2675346..23bd4996dc
--- 
a/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RepeatUnrollStrategyTest.java
+++ 
b/gremlin-core/src/test/java/org/apache/tinkerpop/gremlin/process/traversal/strategy/optimization/RepeatUnrollStrategyTest.java
@@@ -174,4 -181,47 +178,47 @@@ public class RepeatUnrollStrategyTest 
                      .variablesArePreserved();
          }
      }
+ 
+     /**
+      * Applies RepeatUnrollStrategy (with and without LazyBarrierStrategy) to 
the given original traversal and verifies the expected optimized traversal.
+      *
+      * @param original          the original traversal to apply strategies to
+      * @param expectedOptimized the expected optimized traversal
+      * @param otherStrategies   any other strategies that should also be 
applied
+      */
+     private static void testRepeatUnrollStrategy(Traversal.Admin<?, ?> 
original, Traversal<?, ?> expectedOptimized, Collection<TraversalStrategy<?>> 
otherStrategies) {
 -        final String repr = 
translator.translate(original.getBytecode()).getScript();
++        final String repr = original.getGremlinLang().getGremlin("__");
+         final TraversalStrategies strategiesWithLazy = new 
DefaultTraversalStrategies();
+         strategiesWithLazy.addStrategies(RepeatUnrollStrategy.instance());
+         Traversal.Admin<?, ?> clonedOriginal = original.clone();
+ 
+         // adding LazyBarrierStrategy as RepeatUnrollStrategy adds barriers 
and the existence of this strategy
+         // triggers those additions. if they are not there they will not be 
present and most of these assertions
+         // assume this strategy present
+         strategiesWithLazy.addStrategies(LazyBarrierStrategy.instance());
+         for (final TraversalStrategy<?> strategy : otherStrategies) {
+             strategiesWithLazy.addStrategies(strategy);
+         }
+         clonedOriginal.setStrategies(strategiesWithLazy);
+         clonedOriginal.applyStrategies();
+         assertEquals("With LazyBarrierStrategy: " + repr, expectedOptimized, 
clonedOriginal);
+ 
+         final TraversalStrategies strategiesWithoutLazy = new 
DefaultTraversalStrategies();
+         strategiesWithoutLazy.addStrategies(RepeatUnrollStrategy.instance());
+         for (final TraversalStrategy<?> strategy : otherStrategies) {
+             strategiesWithoutLazy.addStrategies(strategy);
+         }
+         clonedOriginal = original.clone();
+         clonedOriginal.setStrategies(strategiesWithoutLazy);
+         clonedOriginal.applyStrategies();
+         final Traversal.Admin<?, ?> optimizedWithoutBarriers = 
expectedOptimized.asAdmin().clone();
+ 
+         // remove all the barriers as LazyBarrierStrategy is not present and 
therefore RepeatUnrollStrategy should
+         // not add any
+         
TraversalHelper.getStepsOfAssignableClassRecursively(NoOpBarrierStep.class, 
optimizedWithoutBarriers).forEach(s -> {
+             TraversalHelper.copyLabels(s, s.getPreviousStep(), true);
+             s.getTraversal().removeStep(s);
+         });
+         assertEquals("Without LazyBarrierStrategy: " + repr, 
optimizedWithoutBarriers, clonedOriginal);
+     }
  }
diff --cc gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index 7877d713c0,032054180f..956bce7b88
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@@ -582,9 -582,25 +582,25 @@@ namespace Gremlin.Net.IntegrationTest.G
                 {"g_withoutStrategiesXReferenceElementStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithoutStrategies(typeof(ReferenceElementStrategy)).V()}}, 
                 
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.Out()).Times(2)}}, 
                 
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.Out()).Times(2)}},
 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXinX_timesX2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.In()).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXinX_timesX2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.In()).Times(2)}},
 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXout_hasXname_notStartingWithXzXXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.Out().Has("name", 
TextP.NotStartingWith("z"))).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXout_hasXname_notStartingWithXzXXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.Out().Has("name",
 TextP.NotStartingWith("z"))).Times(2)}}, 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXin_hasXage_gtX20XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.In().Has("age", P.Gt(20))).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXin_hasXage_gtX20XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.In().Has("age",
 P.Gt(20))).Times(2)}}, 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_hasXage_ltX30XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.Both().Has("age", P.Lt(30))).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_hasXage_ltX30XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.Both().Has("age",
 P.Lt(30))).Times(2)}}, 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXbothE_otherV_hasXage_ltX30XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.BothE().OtherV().Has("age", 
P.Lt(30))).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXbothE_otherV_hasXage_ltX30XXX_timesX2X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.BothE().OtherV().Has("age",
 P.Lt(30))).Times(2)}}, 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_limitX1XX_timesX2X", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.Both().Limit<object>(1)).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_limitX1XX_timesX2X", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.Both().Limit<object>(1)).Times(2)}},
 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_aggregateXxXX_timesX2X_limitX5X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Order().Repeat(__.Both().Order().Aggregate("x")).Times(2).Limit<object>(5)}},
 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_aggregateXxXX_timesX2X_limitX5X",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Order().Repeat(__.Both().Order().Aggregate("x")).Times(2).Limit<object>(5)}},
 
+                
{"g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_sampleX1XX_timesX2X", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new 
RepeatUnrollStrategy()).V().Repeat(__.Both().Sample(1)).Times(2)}}, 
+                
{"g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_sampleX1XX_timesX2X", 
new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(RepeatUnrollStrategy)).V().Repeat(__.Both().Sample(1)).Times(2)}},
 
 -               
{"g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXid_123X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new ReservedKeysVerificationStrategy(throwException: 
true)).AddV("person").Property("id", 123).Property("name", "marko")}}, 
 -               
{"g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXage_29X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new ReservedKeysVerificationStrategy(throwException: 
true, keys: new HashSet<string> { "age" })).AddV("person").Property("age", 
29).Property("name", "marko")}}, 
 -               
{"g_withoutStrategiesXReservedKeysVerificationStrategyX_addVXpersonX_propertyXid_123X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(ReservedKeysVerificationStrategy)).AddV("person").Property("id",
 123).Property("name", "marko").Values<object>()}}, 
 +               
{"g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXid_123X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new ReservedKeysVerificationStrategy(throwException: 
true)).AddV((string) "person").Property("id", 123).Property("name", "marko")}}, 
 +               
{"g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXage_29X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new ReservedKeysVerificationStrategy(throwException: 
true, keys: new HashSet<string> { "age" })).AddV((string) 
"person").Property("age", 29).Property("name", "marko")}}, 
 +               
{"g_withoutStrategiesXReservedKeysVerificationStrategyX_addVXpersonX_propertyXid_123X_propertyXname_markoX",
 new List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) 
=>g.WithoutStrategies(typeof(ReservedKeysVerificationStrategy)).AddV((string) 
"person").Property("id", 123).Property("name", "marko").Values<object>()}}, 
                 {"g_withoutStrategiesXSeedStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithoutStrategies(typeof(SeedStrategy)).V()}}, 
                 {"g_withStrategiesXStandardVerificationStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithStrategies(new StandardVerificationStrategy()).V()}}, 
                 {"g_withoutStrategiesXStandardVerificationStrategyX_V", new 
List<Func<GraphTraversalSource, IDictionary<string, object>, ITraversal>> 
{(g,p) =>g.WithoutStrategies(typeof(StandardVerificationStrategy)).V()}}, 
diff --cc gremlin-python/src/main/python/radish/gremlin.py
index ffcb240aec,f20bf16759..eeab35434c
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@@ -553,15 -552,31 +553,31 @@@ world.gremlins = 
      '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.not_(P.within('stash')))).group_count().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_V_classic_recommendation_ranked': [(lambda g:g.V().has('name', 'DARK 
STAR').as_('a').out('followedBy').aggregate('stash').in_('followedBy').where(P.neq('a').and_(P.not_(P.within('stash')))).group_count().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'))], 
      'g_withStrategiesXReferenceElementStrategyX_V': [(lambda 
g:g.with_strategies(ReferenceElementStrategy()).V())], 
 -    'g_withoutStrategiesXReferenceElementStrategyX_V': [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.finalization.ReferenceElementStrategy')]).V())],
 
 +    'g_withoutStrategiesXReferenceElementStrategyX_V': [(lambda 
g:g.without_strategies(ReferenceElementStrategy).V())], 
      'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X': [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.out()).times(2))], 
-     'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X': 
[(lambda 
g:g.without_strategies(RepeatUnrollStrategy).V().repeat(__.out()).times(2))], 
+     'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXoutX_timesX2X': 
[(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.out()).times(2))],
 
+     'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXinX_timesX2X': [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.in_()).times(2))], 
+     'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXinX_timesX2X': 
[(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.in_()).times(2))],
 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXout_hasXname_notStartingWithXzXXX_timesX2X':
 [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.out().has('name', 
TextP.not_starting_with('z'))).times(2))], 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXout_hasXname_notStartingWithXzXXX_timesX2X':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.out().has('name',
 TextP.not_starting_with('z'))).times(2))], 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXin_hasXage_gtX20XXX_timesX2X': 
[(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.in_().has('age', 
P.gt(20))).times(2))], 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXin_hasXage_gtX20XXX_timesX2X':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.in_().has('age',
 P.gt(20))).times(2))], 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_hasXage_ltX30XXX_timesX2X':
 [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.both().has('age', 
P.lt(30))).times(2))], 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_hasXage_ltX30XXX_timesX2X':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.both().has('age',
 P.lt(30))).times(2))], 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXbothE_otherV_hasXage_ltX30XXX_timesX2X':
 [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.both_e().other_v().has('age',
 P.lt(30))).times(2))], 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXbothE_otherV_hasXage_ltX30XXX_timesX2X':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.both_e().other_v().has('age',
 P.lt(30))).times(2))], 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_limitX1XX_timesX2X': 
[(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.both().limit(1)).times(2))],
 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_limitX1XX_timesX2X': 
[(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.both().limit(1)).times(2))],
 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_aggregateXxXX_timesX2X_limitX5X':
 [(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().order().repeat(__.both().order().aggregate('x')).times(2).limit(5))],
 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_aggregateXxXX_timesX2X_limitX5X':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().order().repeat(__.both().order().aggregate('x')).times(2).limit(5))],
 
+     
'g_withStrategiesXRepeatUnrollStrategyX_V_repeatXboth_sampleX1XX_timesX2X': 
[(lambda 
g:g.with_strategies(RepeatUnrollStrategy()).V().repeat(__.both().sample(1)).times(2))],
 
+     
'g_withoutStrategiesXRepeatUnrollStrategyX_V_repeatXboth_sampleX1XX_timesX2X': 
[(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.optimization.RepeatUnrollStrategy')]).V().repeat(__.both().sample(1)).times(2))],
 
      
'g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXid_123X_propertyXname_markoX':
 [(lambda 
g:g.with_strategies(ReservedKeysVerificationStrategy(throw_exception=True)).add_v('person').property('id',
 123).property('name', 'marko'))], 
      
'g_withStrategiesXReservedKeysVerificationStrategyXthrowException_trueXX_addVXpersonX_propertyXage_29X_propertyXname_markoX':
 [(lambda 
g:g.with_strategies(ReservedKeysVerificationStrategy(throw_exception=True, 
keys={'age'})).add_v('person').property('age', 29).property('name', 'marko'))], 
 -    
'g_withoutStrategiesXReservedKeysVerificationStrategyX_addVXpersonX_propertyXid_123X_propertyXname_markoX':
 [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.ReservedKeysVerificationStrategy')]).add_v('person').property('id',
 123).property('name', 'marko').values())], 
 -    'g_withoutStrategiesXSeedStrategyX_V': [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SeedStrategy')]).V())],
 
 +    
'g_withoutStrategiesXReservedKeysVerificationStrategyX_addVXpersonX_propertyXid_123X_propertyXname_markoX':
 [(lambda 
g:g.without_strategies(ReservedKeysVerificationStrategy).add_v('person').property('id',
 123).property('name', 'marko').values())], 
 +    'g_withoutStrategiesXSeedStrategyX_V': [(lambda 
g:g.without_strategies(SeedStrategy).V())], 
      'g_withStrategiesXStandardVerificationStrategyX_V': [(lambda 
g:g.with_strategies(StandardVerificationStrategy()).V())], 
 -    'g_withoutStrategiesXStandardVerificationStrategyX_V': [(lambda 
g:g.without_strategies(*[GremlinType('org.apache.tinkerpop.gremlin.process.traversal.strategy.verification.StandardVerificationStrategy')]).V())],
 
 +    'g_withoutStrategiesXStandardVerificationStrategyX_V': [(lambda 
g:g.without_strategies(StandardVerificationStrategy).V())], 
      'g_withStrategiesXSubgraphStrategyXsubgraphAXX_V': [(lambda 
g:g.with_strategies(SubgraphStrategy(vertices=__.has('name', P.within('josh', 
'lop', 'ripple')))).V())], 
      'g_withStrategiesXSubgraphStrategyXsubgraphAXX_E': [(lambda 
g:g.with_strategies(SubgraphStrategy(vertices=__.has('name', P.within('josh', 
'lop', 'ripple')))).E())], 
      'g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE': [(lambda g, 
vid4=None:g.with_strategies(SubgraphStrategy(vertices=__.has('name', 
P.within('josh', 'lop', 'ripple')))).V(vid4).out_e())], 

Reply via email to