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 2022/03/29 20:17:43 UTC
[tinkerpop] 01/01: TINKERPOP-2525 Extended gherkin tests to cover SubgraphStrategy
This is an automated email from the ASF dual-hosted git repository.
spmallette pushed a commit to branch TINKERPOP-2525
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
commit dbd5141eca73ef4022e8e6f931c207494c96cae5
Author: Stephen Mallette <st...@amazon.com>
AuthorDate: Tue Mar 29 16:17:03 2022 -0400
TINKERPOP-2525 Extended gherkin tests to cover SubgraphStrategy
---
.../src/Gremlin.Net/CompatibilitySuppressions.xml | 8 +
.../Strategy/Decoration/SubgraphStrategy.cs | 7 +-
.../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 59 ++
gremlin-javascript/build/generate.groovy | 2 +-
.../gremlin-javascript/test/cucumber/gremlin.js | 61 +-
gremlin-python/src/main/python/radish/gremlin.py | 59 ++
.../features/integrated/SubgraphStrategy.feature | 916 +++++++++++++++++++++
.../process/ProcessLimitedComputerSuite.java | 3 -
.../process/ProcessLimitedStandardSuite.java | 1 -
9 files changed, 1109 insertions(+), 7 deletions(-)
diff --git a/gremlin-dotnet/src/Gremlin.Net/CompatibilitySuppressions.xml b/gremlin-dotnet/src/Gremlin.Net/CompatibilitySuppressions.xml
index d1abba6..5a951a6 100644
--- a/gremlin-dotnet/src/Gremlin.Net/CompatibilitySuppressions.xml
+++ b/gremlin-dotnet/src/Gremlin.Net/CompatibilitySuppressions.xml
@@ -8,4 +8,12 @@
<Right>lib/netstandard2.0/Gremlin.Net.dll</Right>
<IsBaselineSuppression>true</IsBaselineSuppression>
</Suppression>
+ <Suppression>
+ <!-- Added an optional parameter to the constructor. -->
+ <DiagnosticId>CP0002</DiagnosticId>
+ <Target>M:Gremlin.Net.Process.Traversal.Strategy.Decoration.SubgraphStrategy.#ctor(Gremlin.Net.Process.Traversal.ITraversal,Gremlin.Net.Process.Traversal.ITraversal,Gremlin.Net.Process.Traversal.ITraversal)</Target>
+ <Left>lib/netstandard2.0/Gremlin.Net.dll</Left>
+ <Right>lib/netstandard2.0/Gremlin.Net.dll</Right>
+ <IsBaselineSuppression>true</IsBaselineSuppression>
+ </Suppression>
</Suppressions>
\ No newline at end of file
diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/Decoration/SubgraphStrategy.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/Decoration/SubgraphStrategy.cs
index 6e7f333..ef6d8dd 100644
--- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/Decoration/SubgraphStrategy.cs
+++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/Strategy/Decoration/SubgraphStrategy.cs
@@ -43,8 +43,9 @@ namespace Gremlin.Net.Process.Traversal.Strategy.Decoration
/// <param name="vertices">Constrains vertices for the <see cref="ITraversal" />.</param>
/// <param name="edges">Constrains edges for the <see cref="ITraversal" />.</param>
/// <param name="vertexProperties">Constrains vertex properties for the <see cref="ITraversal" />.</param>
+ /// <param name="checkAdjacentVertices">Determines if filters are applied to the adjacent vertices of an edge.</param>
public SubgraphStrategy(ITraversal vertices = null, ITraversal edges = null,
- ITraversal vertexProperties = null)
+ ITraversal vertexProperties = null, bool checkAdjacentVertices = true)
: this()
{
if (vertices != null)
@@ -53,6 +54,10 @@ namespace Gremlin.Net.Process.Traversal.Strategy.Decoration
Configuration["edges"] = edges;
if (vertexProperties != null)
Configuration["vertexProperties"] = vertexProperties;
+
+ // hate to write this by default so only going to write it if it's false which is the non-default value
+ if (!checkAdjacentVertices)
+ Configuration["checkAdjacentVertices"] = checkAdjacentVertices;
}
}
}
\ No newline at end of file
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index acbe204..f859914 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -352,6 +352,65 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{"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<ob [...]
+ {"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", "l [...]
+ {"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("name [...]
+ {"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(__.Ha [...]
+ {"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("nam [...]
+ {"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<ob [...]
+ {"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").Ded [...]
+ {"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: __.Ha [...]
+ {"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("startTi [...]
+ {"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").Property [...]
{"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").A [...]
diff --git a/gremlin-javascript/build/generate.groovy b/gremlin-javascript/build/generate.groovy
index 6eaaf94..774a8d3 100644
--- a/gremlin-javascript/build/generate.groovy
+++ b/gremlin-javascript/build/generate.groovy
@@ -91,7 +91,7 @@ radishGremlinFile.withWriter('UTF-8') { Writer writer ->
writer.writeLine(
'const graphTraversalModule = require(\'../../lib/process/graph-traversal\');\n' +
'const traversalModule = require(\'../../lib/process/traversal\');\n' +
- 'const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, ReadOnlyStrategy, SeedStrategy, ProductiveByStrategy } = require(\'../../lib/process/traversal-strategy\');\n' +
+ 'const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, ReadOnlyStrategy, SeedStrategy, SubgraphStrategy, ProductiveByStrategy } = require(\'../../lib/process/traversal-strategy\');\n' +
'const __ = graphTraversalModule.statics;\n' +
'const Barrier = traversalModule.barrier\n' +
'const Cardinality = traversalModule.cardinality\n' +
diff --git a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
index b66244e..d9a65cf 100644
--- a/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
+++ b/gremlin-javascript/src/main/javascript/gremlin-javascript/test/cucumber/gremlin.js
@@ -26,7 +26,7 @@
const graphTraversalModule = require('../../lib/process/graph-traversal');
const traversalModule = require('../../lib/process/traversal');
-const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, ReadOnlyStrategy, SeedStrategy, ProductiveByStrategy } = require('../../lib/process/traversal-strategy');
+const { TraversalStrategies, VertexProgramStrategy, OptionsStrategy, ReadOnlyStrategy, SeedStrategy, SubgraphStrategy, ProductiveByStrategy } = require('../../lib/process/traversal-strategy');
const __ = graphTraversalModule.statics;
const Barrier = traversalModule.barrier
const Cardinality = traversalModule.cardinality
@@ -342,6 +342,65 @@ const gremlins = {
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").pr [...]
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").property [...]
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("pe [...]
diff --git a/gremlin-python/src/main/python/radish/gremlin.py b/gremlin-python/src/main/python/radish/gremlin.py
index 7c779aa..6c916a4 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -324,6 +324,65 @@ world.gremlins = {
'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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().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_(__.inV().filter_(__.has('name',P.within(['josh','lop','ripple']))),__.outV().filter_(__.has('name',P.within(['josh','lop','ripple']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).V [...]
+ 'g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV': [(lambda g, eid11=None:g.withStrategies(*[TraversalStrategy('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']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid11).bothV())],
+ 'g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV': [(lambda g, eid12=None:g.withStrategies(*[TraversalStrategy('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']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid12).bothV())],
+ '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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().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').outV().has('name','marko'),__.has('weight',float(1.0)).hasLabel('created'))}, 'org.apache.tinkerpop.gremlin.process.traversal.strategy.decoration.SubgraphStrategy')]).E(eid8).outV().outE())],
+ 'g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name': [(lambda g:g.withStrategies(*[TraversalStrategy('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')))}, '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_(__.inV().filter_(__.in_().has('name','marko')),__.outV().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_(__.inV().filter_(__.in_('knows').where(__.out('created').has('name','lop'))),__.outV().filter_(__.in_('knows').where(__.out('created').has('name','lop'))))}, 'org.apache.tinkerpop.gremlin.process.traversal. [...]
+ '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_(__.inV().filter_(__.in_().where(__.has('name','marko').out('created').has('name','lop'))),__.outV().filter_(__.in_().where(__.has('name','marko').out('created').has('name','lop'))))}, 'org.a [...]
+ '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_(__.inV().filter_(__.or_(__.both().has('name','marko'),__.has('name','marko'))),__.outV().filter_(__.or_(__.both().has('name','marko'),__.has('name','marko'))))}, 'org.apache.tinkerpop.gremlin.process.travers [...]
+ '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_(__.inV().filter_(__.has('name',P.within(['ripple','josh','marko']))),__.outV().filter_(__.has('name',P.within(['ripple','josh','marko']))))}, 'org.apache.tinkerpop.gremlin.process.traversal.str [...]
+ '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_(__.inV().filter_(__.has('name',P.neq('stephen'))),__.outV().filter_(__.has('name',P.neq('stephen')))),'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process [...]
+ '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_(__.inV().filter_(__.has('name',P.neq('stephen'))),__.outV().filter_(__.has('name',P.neq('stephen')))),'vertexProperties':__.has('startTime',P.gt(2005))}, 'org.apache.tinkerpop.gremlin.process.traversal [...]
+ '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').pro [...]
'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') [...]
diff --git a/gremlin-test/features/integrated/SubgraphStrategy.feature b/gremlin-test/features/integrated/SubgraphStrategy.feature
new file mode 100644
index 0000000..c75c843
--- /dev/null
+++ b/gremlin-test/features/integrated/SubgraphStrategy.feature
@@ -0,0 +1,916 @@
+# 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.
+
+@StepClassIntegrated
+Feature: Step - SubgraphStrategy
+
+ # subgraphA = new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))
+ #
+ # subgraphB = new SubgraphStrategy(edges: or(
+ # has("weight", 1.0).hasLabel("knows"), // 8
+ # has("weight", 0.4).hasLabel("created").outV().has("name", "marko"), // 9
+ # has("weight", 1.0).hasLabel("created"))) // 10
+ #
+ # edge 9 isn't present because marko is not in the vertex list
+ # subgraphC = new SubgraphStrategy(vertices: has("name", P.within("josh", "lop", "ripple")),
+ # edges: or(has("weight", 0.4).hasLabel("created"), // 11
+ # has("weight", 1.0).hasLabel("created"))) // 10
+ #
+ # edge 9 isn't present because marko is not in the vertex list
+ # subgraphD = new SubgraphStrategy(checkAdjacentVertices: false,
+ # vertices: has("name", P.within("josh", "lop", "ripple")),
+ # edges: or(has("weight", 0.4).hasLabel("created"), // 11
+ # has("weight", 1.0).hasLabel("created"))) // 10
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_V
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[josh] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_E
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).E()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_outE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).outE()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_inE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).inE()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_out
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).out()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_in
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).in()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_both
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).both()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_bothE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).bothE()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_VX4X_localXbothE_limitX1XX
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).V(vid4).local(__.bothE().limit(1))
+ """
+ When iterated to list
+ Then the result should have a count of 1
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX11X_bothV
+ Given the modern graph
+ And using the parameter eid11 defined as "e[josh-created->lop].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).E(eid11).bothV()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[josh] |
+ | v[lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphAXX_EX12X_bothV
+ Given the modern graph
+ And using the parameter eid12 defined as "e[peter-created->lop].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")))).E(eid12).bothV()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_V
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[marko] |
+ | v[vadas] |
+ | v[lop] |
+ | v[josh] |
+ | v[ripple] |
+ | v[peter] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_E
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[marko-knows->josh] |
+ | e[marko-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outE
+ Given the modern graph
+ And using the parameter vid1 defined as "v[marko].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[marko-knows->josh] |
+ | e[marko-created->lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_out
+ Given the modern graph
+ And using the parameter vid1 defined as "v[marko].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[josh] |
+ | v[lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX1X_outXcreatedX
+ Given the modern graph
+ And using the parameter vid1 defined as "v[marko].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[josh] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outXcreatedX
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_out
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_bothE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[marko-knows->josh] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_both
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[marko] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphBXX_VX4X_outV_outE
+ Given the modern graph
+ And using the parameter eid8 defined as "e[marko-knows->josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[marko-knows->josh] |
+ | e[marko-created->lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_hasXname_markoXXX_V_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.in("knows").has("name", "marko"))).V().values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | vadas |
+ | josh |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoXXX_V_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.in().has("name", "marko"))).V().values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | vadas |
+ | josh |
+ | lop |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_inXknowsX_whereXoutXcreatedX_hasXname_lopXXXX_V_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.in("knows").where(__.out("created").has("name", "lop")))).V().values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | vadas |
+ | josh |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_in_hasXname_markoX_outXcreatedX_hasXname_lopXXXX_V_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.in().where(__.has("name", "marko").out("created").has("name", "lop")))).V().values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | vadas |
+ | josh |
+ | lop |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_orXboth_hasXname_markoX_hasXname_markoXXXX_V_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.or(__.both().has("name", "marko"), __.has("name", "marko")))).V().where(__.bothE().count().is(P.neq(0))).values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | marko |
+ | vadas |
+ | josh |
+ | lop |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_V
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")),
+ edges: __.or(__.has("weight", 0.4).hasLabel("created"),
+ __.has("weight", 1.0).hasLabel("created")))).V()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[josh] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_E
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("josh", "lop", "ripple")),
+ edges: __.or(__.has("weight", 0.4).hasLabel("created"),
+ __.has("weight", 1.0).hasLabel("created")))).E()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_outE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_inE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_out
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_in
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_both
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_bothE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_VX4X_localXbothE_limitX1XX
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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))
+ """
+ When iterated to list
+ Then the result should have a count of 1
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX11X_bothV
+ Given the modern graph
+ And using the parameter eid11 defined as "e[josh-created->lop].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[josh] |
+ | v[lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX12X_bothV
+ Given the modern graph
+ And using the parameter eid12 defined as "e[peter-created->lop].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphCXX_EX9X_bothV
+ Given the modern graph
+ And using the parameter eid9 defined as "e[marko-created->lop].id"
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_hasXname_withinXripple_josh_markoXXX_V_asXaX_out_in_asXbX_dedupXa_bX_name
+ Given the modern graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertices: __.has("name", P.within("ripple", "josh", "marko")))).V().as("a").
+ out().in().as("b").dedup("a", "b").values("name")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | marko |
+ | josh |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)))).V().properties("location").value()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | purcellville |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)))).V().values("location")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | purcellville |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_propertiesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_value_dedup
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)))).V().as("a").
+ properties("location").as("b").select("a").outE().properties().select("b").value().dedup()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | purcellville |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertexProperties_hasXstartTime_gtX2005XXXX_V_asXaX_valuesXlocationX_asXbX_selectXaX_outE_properties_selectXbX_dedup
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)))).V().as("a").
+ values("location").as("b").select("a").outE().properties().select("b").dedup()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | purcellville |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_propertiesXlocationX_value
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)),
+ vertices: __.has("name", P.neq("stephen")))).V().properties("location").value()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXvertices_hasXname_neqXstephenXX_vertexProperties_hasXstartTime_gtX2005XXXX_V_valuesXlocationX
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(vertexProperties: __.has("startTime", P.gt(2005)),
+ vertices: __.has("name", P.neq("stephen")))).V().values("location")
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | baltimore |
+ | oakland |
+ | seattle |
+ | aachen |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold
+ Given the crew graph
+ And the traversal of
+ """
+ g.withStrategies(new SubgraphStrategy(edges: __.hasLabel("uses").has("skill", 5))).V().
+ outE().valueMap().select(Column.values).unfold()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | d[5].i |
+ | d[5].i |
+ | d[5].i |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_V
+ Given the modern graph
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[josh] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_E
+ Given the modern graph
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[marko-created->lop] |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_in
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_both
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
+ | v[ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_bothE
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | e[josh-created->lop] |
+ | e[josh-created->ripple] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_localXbothE_limitX1XX
+ Given the modern graph
+ And using the parameter vid4 defined as "v[josh].id"
+ And the traversal of
+ """
+ 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))
+ """
+ When iterated to list
+ Then the result should have a count of 1
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV
+ Given the modern graph
+ And using the parameter eid11 defined as "e[josh-created->lop].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[josh] |
+ | v[lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV
+ Given the modern graph
+ And using the parameter eid12 defined as "e[peter-created->lop].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be empty
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV
+ Given the modern graph
+ And using the parameter eid9 defined as "e[marko-created->lop].id"
+ And the traversal of
+ """
+ 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()
+ """
+ When iterated to list
+ Then the result should be unordered
+ | result |
+ | v[lop] |
\ No newline at end of file
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedComputerSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedComputerSuite.java
index 24641f0..a9ceb26 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedComputerSuite.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedComputerSuite.java
@@ -137,9 +137,6 @@ public class ProcessLimitedComputerSuite extends AbstractGremlinSuite {
// creations
TranslationStrategyProcessTest.class,
- // decorations
- SubgraphStrategyProcessTest.class,
-
// optimizations
IncidentToAdjacentStrategyProcessTest.class,
EarlyLimitStrategyProcessTest.class
diff --git a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedStandardSuite.java b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedStandardSuite.java
index 19978db..c24f69b 100644
--- a/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedStandardSuite.java
+++ b/gremlin-test/src/main/java/org/apache/tinkerpop/gremlin/process/ProcessLimitedStandardSuite.java
@@ -80,7 +80,6 @@ public class ProcessLimitedStandardSuite extends AbstractGremlinSuite {
ElementIdStrategyProcessTest.class,
EventStrategyProcessTest.class,
PartitionStrategyProcessTest.class,
- SubgraphStrategyProcessTest.class,
// optimizations
IncidentToAdjacentStrategyProcessTest.class,