You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tinkerpop.apache.org by co...@apache.org on 2024/02/29 16:31:19 UTC
(tinkerpop) branch 3.7-dev updated: Add true case tests for checkAdjacentVertices configuration (#2502)
This is an automated email from the ASF dual-hosted git repository.
colegreer pushed a commit to branch 3.7-dev
in repository https://gitbox.apache.org/repos/asf/tinkerpop.git
The following commit(s) were added to refs/heads/3.7-dev by this push:
new 3976dbf884 Add true case tests for checkAdjacentVertices configuration (#2502)
3976dbf884 is described below
commit 3976dbf88446969be4f40d213a02b72d1324888a
Author: Ryan Tan <65...@users.noreply.github.com>
AuthorDate: Thu Feb 29 08:31:14 2024 -0800
Add true case tests for checkAdjacentVertices configuration (#2502)
https://issues.apache.org/jira/browse/TINKERPOP-3026 Added tests to cover checkAdjacentVertices = true in SubgraphStrategy configuration.
---
.../Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs | 2 ++
gremlin-go/driver/cucumber/gremlin.go | 2 ++
.../gremlin-javascript/test/cucumber/gremlin.js | 2 ++
gremlin-python/src/main/python/radish/gremlin.py | 2 ++
.../features/integrated/SubgraphStrategy.feature | 32 +++++++++++++++++++++-
5 files changed, 39 insertions(+), 1 deletion(-)
diff --git a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
index ccfa82b240..fd96bdc6ea 100644
--- a/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
+++ b/gremlin-dotnet/test/Gremlin.Net.IntegrationTest/Gherkin/Gremlin.cs
@@ -478,6 +478,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{"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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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()}},
@@ -488,6 +489,7 @@ namespace Gremlin.Net.IntegrationTest.Gherkin
{"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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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-go/driver/cucumber/gremlin.go b/gremlin-go/driver/cucumber/gremlin.go
index b46ea7b6ad..fbcf1ac259 100644
--- a/gremlin-go/driver/cucumber/gremlin.go
+++ b/gremlin-go/driver/cucumber/gremlin.go
@@ -449,6 +449,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
"g_withStrategiesXSubgraphStrategyXedges_hasLabelXusesX_hasXskill_5XXX_V_outE_valueMap_selectXvaluesX_unfold": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Edges: gremlingo.T__.HasLabel("uses").Has("skill", 5)})).V().OutE().ValueMap().Select(gremlingo.Column.Values).Unfold()}},
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_V": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))} [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("created"))} [...]
+ "g_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_E": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0). [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_outE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("cre [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_inE": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("crea [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_VX4X_out": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("crea [...]
@@ -459,6 +460,7 @@ var translationMap = map[string][]func(g *gremlingo.GraphTraversalSource, p map[
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX11X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("c [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX12X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("c [...]
"g_withStrategiesXSubgraphStrategyXsubgraphDXX_EX9X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: false, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weight", 1.0).HasLabel("cr [...]
+ "g_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_EX9X_bothV": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.WithStrategies(gremlingo.SubgraphStrategy(gremlingo.SubgraphStrategyConfig{CheckAdjacentVertices: true, Vertices: gremlingo.T__.Has("name", gremlingo.P.Within([]interface{}{"josh", "lop", "ripple"})), Edges: gremlingo.T__.Or(gremlingo.T__.Has("weight", 0.4).HasLabel("created"), gremlingo.T__.Has("weigh [...]
"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripple [...]
"g_VX1X_asXaX_outXcreatedX_addEXcreatedByX_toXaX_propertyXweight_2X": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Prope [...]
"g_V_outE_propertyXweight_nullX": {func(g *gremlingo.GraphTraversalSource, p map[string]interface{}) *gremlingo.GraphTraversal {return g.AddV("person").Property("name", "marko").Property("age", 29).As("marko").AddV("person").Property("name", "vadas").Property("age", 27).As("vadas").AddV("software").Property("name", "lop").Property("lang", "java").As("lop").AddV("person").Property("name", "josh").Property("age", 32).As("josh").AddV("software").Property("name", "ripple").Property("lang [...]
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 804381b574..2e733673da 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
@@ -469,6 +469,7 @@ const gremlins = {
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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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() }],
@@ -479,6 +480,7 @@ const gremlins = {
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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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 93352812dc..34cab041d8 100644
--- a/gremlin-python/src/main/python/radish/gremlin.py
+++ b/gremlin-python/src/main/python/radish/gremlin.py
@@ -451,6 +451,7 @@ world.gremlins = {
'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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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())],
@@ -461,6 +462,7 @@ world.gremlins = {
'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_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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_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/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SubgraphStrategy.feature b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SubgraphStrategy.feature
index 567e79dda2..f31c26f646 100644
--- a/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SubgraphStrategy.feature
+++ b/gremlin-test/src/main/resources/org/apache/tinkerpop/gremlin/test/features/integrated/SubgraphStrategy.feature
@@ -758,6 +758,22 @@ Feature: Step - SubgraphStrategy
| e[josh-created->lop] |
| e[josh-created->ripple] |
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_E
+ Given the modern graph
+ And the traversal of
+ """
+ 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()
+ """
+ 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_outE
Given the modern graph
@@ -913,4 +929,18 @@ Feature: Step - SubgraphStrategy
When iterated to list
Then the result should be unordered
| result |
- | v[lop] |
\ No newline at end of file
+ | v[lop] |
+
+ @WithSubgraphStrategy @GraphComputerVerificationStarGraphExceeded
+ Scenario: g_withStrategiesXSubgraphStrategyXcheckAdjacentVertices_subgraphDXX_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: 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()
+ """
+ When iterated to list
+ Then the result should be empty
\ No newline at end of file