public void DedupLocalMultipleLabels() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { GraphViewCommand.OutputFormat = OutputFormat.GraphSON; var traversal = GraphViewCommand.g().V() .Out() .As("x") .In() .As("y") .Select("x", "y") .By("name") .Fold() .Dedup(GremlinKeyword.Scope.Local, "x", "y") .Unfold(); dynamic result = JsonConvert.DeserializeObject <dynamic>(traversal.Next().FirstOrDefault()); List <string> expected = new List <string> { "lop,marko", "lop,josh", "lop,peter", "vadas,marko", "josh,marko", "ripple,josh" }; AbstractGremlinTest.CheckUnOrderedResults(expected, ((JArray)result).Select(p => string.Format("{0},{1}", p["x"], p["y"])).ToList()); } }
public void ConstantWithVertex() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V().Constant(123); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(Enumerable.Repeat("123", 6), result); } }
public void ConstantWithChoose() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V().Choose( GraphTraversal.__().HasLabel("person"), GraphTraversal.__().Values("name"), GraphTraversal.__().Constant("inhuman")); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "marko", "vadas", "inhuman", "josh", "inhuman", "peter" }, result); } }
public void DedupWithBoth() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .Both() .Dedup() .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "vadas", "josh", "lop", "marko", "peter", "ripple" }, result); } }
public void DedupLargeAmountStrings() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { GraphTraversal2 traversal = command.g().V() .Both() .Both() .Values("name") .Dedup(); List <string> result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "vadas", "josh", "lop", "marko", "peter", "ripple" }, result); } }
public void AndAsInfixNotation() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .And( GraphTraversal2.__().OutE(), GraphTraversal2.__().HasLabel("person").And().Has("age", Predicate.gte(32))) .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "josh", "peter" }, result); } }
public void AndWithParameters() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .And( GraphTraversal2.__().Has("age", Predicate.gt(27)), GraphTraversal2.__().OutE().Count().Is(Predicate.gte(2))) .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "marko", "josh" }, result); } }
public void CoalesceWithTwoTraversals() { using (GraphViewCommand command = new GraphViewCommand(graphConnection)) { GraphTraversal2 traversal = command.g().V() .HasId(this.ConvertToVertexId(command, "marko")) .Coalesce( GraphTraversal2.__().Out("knows"), GraphTraversal2.__().Out("created")) .Values("name"); List <string> result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "josh", "vadas" }, result); } }
public void CoalesceWithTraversalsInDifferentOrder() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .HasId(this.ConvertToVertexId(GraphViewCommand, "marko")) .Coalesce( GraphTraversal.__().Out("created"), GraphTraversal.__().Out("knows")) .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "lop" }, result); } }
public void DedupWithGroupCount() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { GraphViewCommand.OutputFormat = OutputFormat.Regular; var traversal = GraphViewCommand.g().V() .GroupCount() .Select(GremlinKeyword.Column.Values) .Unfold() .Dedup(); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "1" }, result); } }
public void get_g_V_chooseXlabelX_optionXblah__outXknowsXX_optionXbleep__outXcreatedXX_optionXnone__identityX_name() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .Choose(GraphTraversal.__().Label()) .Option("blah", GraphTraversal.__().Out("knows")) .Option("bleep", GraphTraversal.__().Out("created")) .Option(GremlinKeyword.Pick.None, GraphTraversal.__().Identity()) .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new [] { "marko", "vadas", "peter", "josh", "lop", "ripple" }, result); } }
public void UnionOutAndInVertices() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V().Union( GraphTraversal.__().Out(), GraphTraversal.__().In()).Values("name"); var result = traversal.Next(); var expectedResult = new List <string>() { "marko", "marko", "marko", "lop", "lop", "lop", "peter", "ripple", "josh", "josh", "josh", "vadas" }; AbstractGremlinTest.CheckUnOrderedResults <string>(expectedResult, result); } }
public void DedupLocalScope() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .Out() .In() .Values("name") .Fold() .Dedup(GremlinKeyword.Scope.Local) .Unfold(); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "marko", "josh", "peter" }, result); } }
public void DedupWithGroupCount() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { Assert.Fail(); // TODO: Select("values") Not Implemented on GraphTraversal2 var traversal = GraphViewCommand.g().V() .GroupCount() .Select("values") .Unfold() .Dedup(); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "1" }, result); } }
public void AndWithAs() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .As("a") .Out("knows") .And() .Out("created") .In("created") .As("a") .Values("name"); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "marko" }, result); } }
public void ChooseIfPersonThenUnionOutLangOutAndOutNameElseInLabel() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V().Choose( GraphTraversal.__().Label().Is("person"), GraphTraversal.__().Union( GraphTraversal.__().Out().Values("lang"), GraphTraversal.__().Out().Values("name")), GraphTraversal.__().In().Label()); var result = traversal.Next(); var expectedResult = new List <string>() { "lop", "lop", "lop", "ripple", "java", "java", "java", "java", "josh", "vadas", "person", "person", "person", "person" }; AbstractGremlinTest.CheckUnOrderedResults <string>(expectedResult, result); } }
public void DedupWithOrder() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V() .OutE() .As("e") .InV() .As("v") .Select("e") .Order() .By("weight", GremlinKeyword.Order.Incr) .Select("v") .Values("name") .Dedup(); var result = traversal.Next(); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "lop", "vadas", "josh", "ripple" }, result); } }
public void DedupMultipleLabels() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { GraphViewCommand.OutputFormat = OutputFormat.GraphSON; var traversal = GraphViewCommand.g().V() .As("a") .Both() .As("b") .Dedup("a", "b") .By("label") .Select("a", "b"); dynamic result = JsonConvert.DeserializeObject <dynamic>(traversal.Next().FirstOrDefault()); Assert.AreEqual(3, result.Count); IEnumerable <string> resultInString = ((JArray)result).Select(d => string.Format("{0},{1}", (string)d["a"]["label"], (string)d["b"]["label"])); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "person,person", "person,software", "software,person" }, resultInString); } }
public void HasVertexIdUnionOutAndOutRepeatTimes2() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { string vertexId = this.ConvertToVertexId(GraphViewCommand, "marko"); var traversal = GraphViewCommand.g().V().HasId(vertexId) .Union( GraphTraversal.__().Repeat(GraphTraversal.__().Out()).Times(2), GraphTraversal.__().Out()) .Values("name"); var result = traversal.Next(); var expectedResult = new List <string>() { "lop", "lop", "ripple", "josh", "vadas" }; AbstractGremlinTest.CheckUnOrderedResults <string>(expectedResult, result); } }
public void DedupLargeAmountVertexes() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { GraphViewCommand.OutputFormat = OutputFormat.GraphSON; var traversal = GraphViewCommand.g().V() .Both() .Both() .Dedup(); dynamic result = JsonConvert.DeserializeObject <dynamic>(traversal.Next().FirstOrDefault()); GraphViewCommand.OutputFormat = OutputFormat.Regular; var names = new List <string>(); foreach (dynamic v in result) { names.Add((string)v.properties.name[0].value); } AbstractGremlinTest.CheckUnOrderedResults(new string[] { "vadas", "josh", "lop", "marko", "peter", "ripple" }, names); } }
public void ChooseIfPersonThenUnionOutLangOutAndOutNameElseInLabelGroupCount() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { var traversal = GraphViewCommand.g().V().Choose( GraphTraversal2.__().Label().Is("person"), GraphTraversal2.__().Union( GraphTraversal2.__().Out().Values("lang"), GraphTraversal2.__().Out().Values("name")), GraphTraversal2.__().In().Label()) .Group().By(GraphTraversal2.__().Count()); var result = traversal.Next(); // ASIDE: Below Assertions are incorrect, revisit this once we actually get the above traversal to work. var expectedResult = new List <string>() { "lop", "lop", "lop", "ripple", "java", "java", "java", "java", "josh", "vadas", "person", "person", "person", "person" }; AbstractGremlinTest.CheckUnOrderedResults <string>(expectedResult, result); } }
public void DedupWithOrder() { using (GraphViewCommand GraphViewCommand = new GraphViewCommand(graphConnection)) { // TODO: GremlinOrderOp.ModulateBy() is not implemented // TODO: GraphTraversal2.By(string key, GremlinKeyword.Order order) is not implemented var traversal = GraphViewCommand.g().V() .OutE() .As("e") .InV() .As("v") .Select("e") .Order() .By("weight", GremlinKeyword.Order.Incr) .Select("v") .Values("name") .Dedup(); var result = traversal.Next(); //AbstractGremlinTest.CheckUnOrderedResults(new string[] { "marko", "vadas", "josh", "peter" }, result); AbstractGremlinTest.CheckUnOrderedResults(new string[] { "lop", "vadas", "josh", "ripple" }, result); } }