public void CoalesceWithPath() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V() .Coalesce( GraphTraversal2.__().OutE("knows"), GraphTraversal2.__().OutE("created")) .OtherV() .Path() .By("name") .By("label"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); List <string> expect = new List <string> { string.Join(",", new [] { "marko", "knows", "vadas" }), string.Join(",", new [] { "marko", "knows", "josh" }), string.Join(",", new [] { "josh", "created", "ripple" }), string.Join(",", new [] { "josh", "created", "lop" }), string.Join(",", new [] { "peter", "created", "lop" }), }; List <string> ans = new List <string>(); foreach (dynamic result in results) { ans.Add(string.Join(",", ((JArray)result["objects"]).Select(p => p.ToString()).ToList())); } CheckOrderedResults(expect, ans); } }
public void get_g_VX1X_outXcreatedX_inXcreatedX_cyclicPath_path() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; string markoId = this.ConvertToVertexId(command, "marko"); GraphTraversal2 traversal = command.g().V(markoId).Out("created").In("created").CyclicPath().Path(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); List <string> ans = new List <string>(); foreach (dynamic result in results) { Console.WriteLine(result); List <string> steps = new List <string>(); foreach (dynamic step in result["objects"]) { steps.Add(step["id"].ToString()); } ans.Add(string.Join(",", steps)); } string lopId = this.ConvertToVertexId(command, "lop"); List <string> path1 = new List <string> { markoId, lopId, markoId }; List <string> expect = new List <string> { string.Join(",", path1) }; CheckUnOrderedResults(expect, ans); } }
public void get_g_addVXanimalX_propertyXname_mateoX_propertyXname_gateoX_propertyXname_cateoX_propertyXage_5X() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().AddV("animal").Property("name", "mateo").Property("name", "gateo").Property("name", "cateo").Property("age", 5); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual("animal", results[0][GremlinKeyword.Label].ToString()); List <string> ansProperties = new List <string>(); foreach (dynamic property in results[0]["properties"]["name"]) { ansProperties.Add(property["value"].ToString()); } List <string> expectProperties = new List <string> { "mateo", "gateo", "cateo" }; CheckUnOrderedResults(expectProperties, ansProperties); command.OutputFormat = OutputFormat.Regular; Assert.AreEqual(3, command.g().V().HasLabel("animal").Properties("name").Next().Count); Assert.AreEqual(5, int.Parse(command.g().V().HasLabel("animal").Values("age").Next().First())); } }
public void get_g_V_asXvX_mapXbothE_weight_foldX_sumXlocalX_asXsX_selectXv_sX_order_byXselectXsX_decrX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().As("v").Map(GraphTraversal2.__().BothE().Values("weight").Fold()).Sum(GremlinKeyword.Scope.Local).As("s").Select("v", "s").Order().By(GraphTraversal2.__().Select("s"), GremlinKeyword.Order.Decr); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(this.ConvertToVertexId(command, "josh"), results[0]["v"]["id"].ToString()); Assert.AreEqual(2.4, double.Parse(results[0]["s"].ToString())); Assert.AreEqual(this.ConvertToVertexId(command, "marko"), results[1]["v"]["id"].ToString()); Assert.AreEqual(1.9, double.Parse(results[1]["s"].ToString())); Assert.AreEqual(this.ConvertToVertexId(command, "lop"), results[2]["v"]["id"].ToString()); Assert.AreEqual(1.0, double.Parse(results[2]["s"].ToString())); Assert.AreEqual(this.ConvertToVertexId(command, "ripple"), results[3]["v"]["id"].ToString()); Assert.AreEqual(1.0, double.Parse(results[3]["s"].ToString())); Assert.AreEqual(this.ConvertToVertexId(command, "vadas"), results[4]["v"]["id"].ToString()); Assert.AreEqual(0.5, double.Parse(results[4]["s"].ToString())); Assert.AreEqual(this.ConvertToVertexId(command, "peter"), results[5]["v"]["id"].ToString()); Assert.AreEqual(0.2, double.Parse(results[5]["s"].ToString())); } }
public void HasVertexIdRepeatBothECreatedWhereWithoutEAggregateEOtherVEmitPath() { //==>[v[1], e[9][1 - created->3], v[3]] //==>[v[1], e[9][1 - created->3], v[3], e[11][4 - created->3], v[4]] //==>[v[1], e[9][1 - created->3], v[3], e[12][6 - created->3], v[6]] //==>[v[1], e[9][1 - created->3], v[3], e[11][4 - created->3], v[4], e[10][4 - created->5], v[5]] using (GraphViewCommand graphCommand = new GraphViewCommand(graphConnection)) { string markoVertexId = this.ConvertToVertexId(graphCommand, "marko"); graphCommand.OutputFormat = OutputFormat.Regular; GraphTraversal2 traversal = graphCommand.g().V().HasId(markoVertexId) .Repeat(GraphTraversal2.__().BothE("created") .Where(Predicate.without("e")) .Aggregate("e") .OtherV()) .Emit().Path(); List <string> result = traversal.Next(); dynamic dynamicResult = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); //No idea how to evaluate the results. } }
public void get_g_V_hasLabelXpersonX_optionalXoutXknowsX_optionalXoutXcreatedXXX_path() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().HasLabel("person").Optional(GraphTraversal2.__().Out("knows").Optional(GraphTraversal2.__().Out("created"))).Path(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); List <string> ans = new List <string>(); foreach (dynamic result in results) { Console.WriteLine(result); List <string> steps = new List <string>(); foreach (dynamic step in result["objects"]) { steps.Add(step["id"].ToString()); } ans.Add(string.Join(",", steps)); } string markoId = this.ConvertToVertexId(command, "marko"); string lopId = this.ConvertToVertexId(command, "lop"); string vadasId = this.ConvertToVertexId(command, "vadas"); string joshId = this.ConvertToVertexId(command, "josh"); string rippleId = this.ConvertToVertexId(command, "ripple"); string peterId = this.ConvertToVertexId(command, "peter"); List <string> path1 = new List <string> { markoId, vadasId }; List <string> path2 = new List <string> { markoId, joshId, rippleId }; List <string> path3 = new List <string> { markoId, joshId, lopId }; List <string> path4 = new List <string> { vadasId }; List <string> path5 = new List <string> { joshId }; List <string> path6 = new List <string> { peterId }; List <string> expect = new List <string> { string.Join(",", path1), string.Join(",", path2), string.Join(",", path3), string.Join(",", path4), string.Join(",", path5), string.Join(",", path6), }; CheckUnOrderedResults(expect, ans); } }
public void get_g_withSideEffectXa_testX_V_hasLabelXsoftwareX_propertyXtemp_selectXaXX_valueMapXname_tempX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); } }
public void get_g_V_groupXaX_byXname_substring_1X_byXconstantX1XX_capXaX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); } }
public void get_g_V_out_aggregateXaX_path() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Out().Aggregate("a").Path(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); string markoId = this.ConvertToVertexId(command, "marko"); string lopId = this.ConvertToVertexId(command, "lop"); string vadasId = this.ConvertToVertexId(command, "vadas"); string joshId = this.ConvertToVertexId(command, "josh"); string rippleId = this.ConvertToVertexId(command, "ripple"); string peterId = this.ConvertToVertexId(command, "peter"); List <string> path1 = new List <string> { markoId, lopId }; List <string> path2 = new List <string> { markoId, vadasId }; List <string> path3 = new List <string> { markoId, joshId }; List <string> path4 = new List <string> { joshId, rippleId }; List <string> path5 = new List <string> { joshId, lopId }; List <string> path6 = new List <string> { peterId, lopId }; List <string> expect = new List <string> { string.Join(",", path1), string.Join(",", path2), string.Join(",", path3), string.Join(",", path4), string.Join(",", path5), string.Join(",", path6), }; List <string> ans = new List <string>(); foreach (dynamic result in results) { List <string> steps = new List <string>(); foreach (dynamic step in result["objects"]) { steps.Add(step["id"].ToString()); } ans.Add(string.Join(",", steps)); } CheckUnOrderedResults(expect, ans); } }
public void get_g_V_hasXname_markoX_propertyXfriendWeight_outEXknowsX_weight_sum__acl_privateX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Has("name", "marko").Property("friendWeight", GraphTraversal2.__().OutE("knows").Values("weight").Sum(), "acl", "private"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); } }
public void get_g_withSideEffectXa_markoX_addV_propertyXname_selectXaXX_name() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); } }
public void get_g_VX2X_optionalXoutXknowsXX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; string vadasId = this.ConvertToVertexId(command, "vadas"); GraphTraversal2 traversal = command.g().V(vadasId).Optional(GraphTraversal2.__().Out("know")); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(vadasId, results[0]["id"].ToString()); } }
public void get_g_V_aggregateXxX_byXnameX_capXxX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Aggregate("x").By("name").Cap("x"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); CheckUnOrderedResults(new[] { "marko", "vadas", "lop", "josh", "ripple", "peter" }, ((JArray)results[0]).Select(p => p.ToString()).ToList()); } }
public void get_g_VX1X_addVXanimalX_propertyXage_selectXaX_byXageXX_propertyXname_puppyX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; string markoId = this.ConvertToVertexId(command, "marko"); GraphTraversal2 traversal = command.g().V(markoId).As("a").AddV("animal").Property("age", GraphTraversal2.__().Select("a").By("age")).Property("name", "puppy"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); } }
/// <summary> /// get_g_V_groupXmX_byXnameX_byXinXknowsX_nameX_capXmX() /// from org/apache/tinkerpop/gremlin/process/traversal/step/map/GroupTest.java /// Gremlin: g.V().group("m").by("name").by(__.in("knows").values("name")).cap("m"); /// </summary> public void get_g_V_groupXmX_byXnameX_byXinXknowsX_nameX_capXmX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); //Can't get any results in gremlin console } }
public void get_g_V_hasLabelXsongX_groupXaX_byXnameX_byXproperties_groupCount_byXlabelXX_out_capXaX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); //Use GRATEFUL test data } }
public void get_g_V_outXfollowedByX_group_byXsongTypeX_byXbothE_group_byXlabelX_byXweight_sumXX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); //use GRATEFUL test data } }
public void get_g_V_repeatXbothXfollowedByXX_timesX2X_groupXaX_byXsongTypeX_byXcountX_capXaX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); //Use GRATEFUL test data } }
public void get_g_V_hasLabelXsoftwareX_group_byXnameX_byXbothE_weight_sumX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().HasLabel("software").Group().By("name").By(GraphTraversal2.__().BothE().Values("weight").Sum()); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.IsTrue(1.0 == double.Parse(results[0]["ripple"].ToString()) && 1.0 == double.Parse(results[0]["lop"].ToString())); } }
public void g_VX1X_outXcreatedX_inXcreatedX_cyclicPath() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; string markoId = this.ConvertToVertexId(command, "marko"); GraphTraversal2 traversal = command.g().V(markoId).Out("created").In("created").CyclicPath(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(markoId, results[0]["id"].ToString()); } }
public void get_g_V_hasLabelXpersonX_aggregateXxX_byXageX_capXxX_asXyX_selectXyX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().HasLabel("person").Aggregate("x").By("age").Cap("x").As("y").Select("y"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); CheckUnOrderedResults(new [] { 29, 27, 32, 35 }, ((JArray)results[0]).Select(p => int.Parse(p.ToString())).ToList()); } }
public void get_g_VX1X_outXcreatedX_valueMap() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; string markoId = this.ConvertToVertexId(command, "marko"); GraphTraversal2 traversal = command.g().V(markoId).Out("created").ValueMap(); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.IsTrue("lop" == results[0]["name"][0].ToString() && "java" == results[0]["lang"][0].ToString()); } }
public void get_g_V_unionXrepeatXoutX_timesX2X_groupCountXmX_byXlangXX__repeatXinX_timesX2X_groupCountXmX_byXnameXX_capXmX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Union(GraphTraversal2.__().Repeat(GraphTraversal2.__().Out()).Times(2).GroupCount("m").By("lang"), GraphTraversal2.__().Repeat(GraphTraversal2.__().In()).Times(2).GroupCount("m").By("name")).Cap("m"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(2, int.Parse(results[0]["java"].ToString())); Assert.AreEqual(2, int.Parse(results[0]["marko"].ToString())); } }
public void get_g_V_hasXlangX_group_byXlangX_byXcountX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Has("lang").Group().By("lang").By(GraphTraversal2.__().Count()); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(1, results.Count); Assert.AreEqual(2, int.Parse(results[0]["java"].ToString())); } }
public void get_g_V_hasXlangX_groupXaX_byXlangX_byXnameX_out_capXaX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Has("lang").Group("a").By("lang").By("name").Out().Cap("a"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(1, results.Count); CheckUnOrderedResults(new [] { "lop", "ripple" }, ((JArray)results[0]["java"]).Select(p => p.ToString()).ToList()); } }
private void AssertCommonA(GraphViewCommand command, GraphTraversal2 traversal) { dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(1, results.Count); Assert.AreEqual(this.ConvertToVertexId(command, "ripple"), results[0]["ripple"][0]["id"].ToString()); Assert.AreEqual(this.ConvertToVertexId(command, "peter"), results[0]["peter"][0]["id"].ToString()); Assert.AreEqual(this.ConvertToVertexId(command, "vadas"), results[0]["vadas"][0]["id"].ToString()); Assert.AreEqual(this.ConvertToVertexId(command, "josh"), results[0]["josh"][0]["id"].ToString()); Assert.AreEqual(this.ConvertToVertexId(command, "lop"), results[0]["lop"][0]["id"].ToString()); Assert.AreEqual(this.ConvertToVertexId(command, "marko"), results[0]["marko"][0]["id"].ToString()); }
public void g_V_group_byXlabelX_byXbothE_weight_fold_sampleXlocal_5XX() { using (GraphViewCommand graphCommand = new GraphViewCommand(graphConnection)) { graphCommand.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = graphCommand.g().V().Group().By("label").By(GraphTraversal2.__().BothE().Values("weight").Fold().Sample(GremlinKeyword.Scope.Local, 5)); dynamic result = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(4, result[0]["software"].Count); Assert.AreEqual(5, result[0]["person"].Count); } }
public void get_g_V_outXcreatedX_name_groupCountXaX_capXaX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Out("created").Values("name").GroupCount("a").Cap("a"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(1, int.Parse(results[0]["ripple"].ToString())); Assert.AreEqual(3, int.Parse(results[0]["lop"].ToString())); } }
public void get_g_V_groupCount_byXbothE_countX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().GroupCount().By(GraphTraversal2.__().BothE().Count()); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(3, int.Parse(results[0]["1"].ToString())); Assert.AreEqual(3, int.Parse(results[0]["3"].ToString())); } }
public void VerticesLabelGroupCountAsXSelectX() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { command.OutputFormat = OutputFormat.GraphSON; GraphTraversal2 traversal = command.g().V().Label().GroupCount().As("x").Select("x"); dynamic results = JsonConvert.DeserializeObject <dynamic>(traversal.FirstOrDefault()); Assert.AreEqual(2, int.Parse(results[0]["software"].ToString())); Assert.AreEqual(4, int.Parse(results[0]["person"].ToString())); } }