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