public void Predicates_Outside()
 {
     using (var client = TestDatabase.GetClient("predicates_outside"))
     {
         client.Execute(VertexQuery.Create("test").AddProperty("age", 30)).Wait();
         Assert.AreEqual(0, client.Execute(VertexQuery.All().Values("age").Is(GraphPredicate.Outside(age - 1, age + 1))).Result.Count());
         Assert.AreEqual(1, client.Execute(VertexQuery.All().Values("age").Is(GraphPredicate.Outside(age + 1, age + 2))).Result.Count());
     }
 }
Exemple #2
0
 public void Steps_Is()
 {
     using (var client = TestDatabase.GetClient("is"))
     {
         client.Execute(VertexQuery.Create("foo").AddProperty("age", 30)).Wait();
         Assert.AreEqual(client.Execute(VertexQuery.All().Values("age").Is(30).Count()).Result.First(), 1);
         Assert.AreEqual(client.Execute(VertexQuery.All().Values("age").Is(40).Count()).Result.First(), 0);
         Assert.AreEqual(client.Execute(VertexQuery.All().Values("age").Is(GraphPredicate.Inside(25, 35)).Count()).Result.First(), 1);
     }
 }
 public void Predicates_Without()
 {
     using (var client = TestDatabase.GetClient("predicates_without"))
     {
         int[] empty     = { };
         int[] values    = { age };
         int[] outValues = { age + 1 };
         client.Execute(VertexQuery.Create("test").AddProperty("age", 30)).Wait();
         Assert.ThrowsException <ArgumentException>(() => { GraphPredicate.Without(empty); });
         Assert.AreEqual(0, client.Execute(VertexQuery.All().Values("age").Is(GraphPredicate.Without(values))).Result.Count());
         Assert.AreEqual(1, client.Execute(VertexQuery.All().Values("age").Is(GraphPredicate.Without(outValues))).Result.Count());
     }
 }
Exemple #4
0
        public void Steps_Aggregate()
        {
            using (var client = TestDatabase.GetClient("aggregate"))
            {
                client.Execute(VertexQuery.Create("test")).Wait();

                var query = VertexQuery.All().Aggregate("x").Where(GraphPredicate.Without(new List <object>()
                {
                    "x"
                }));

                Assert.AreEqual(client.Execute(query).Result.Count(), 0);
            }
        }
Exemple #5
0
 public void Steps_Has()
 {
     using (var client = TestDatabase.GetClient("has"))
     {
         client.Execute(VertexQuery.Create("foo").AddProperty("key", "value")).Wait();
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("key").Count()).Result.First(), 1L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("not_key").Count()).Result.First(), 0L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("key", "value").Count()).Result.First(), 1L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("not_key", "value").Count()).Result.First(), 0L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("key", "not_value").Count()).Result.First(), 0L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("foo", "key", "value").Count()).Result.First(), 1L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("not_foo", "key", "value").Count()).Result.First(), 0L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("key", GraphPredicate.Within(new List <object>()
         {
             "value"
         })).Count()).Result.First(), 1L);
         Assert.AreEqual(client.Execute(VertexQuery.All().Has("key", GraphPredicate.Without(new List <object>()
         {
             "value"
         })).Count()).Result.First(), 0L);
     }
 }
Exemple #6
0
 /// <summary>
 /// Filters results based on the provided condition
 /// </summary>
 public Query Is(GraphPredicate predicate)
 {
     Steps.Add("is(" + predicate.ToString() + ")");
     return(this as Query);
 }
 /// <summary>
 /// Filters results based on a sub query
 /// </summary>
 public Query Where(GraphPredicate condition)
 {
     Steps.Add("where(" + condition.ToString() + ")");
     return(this as Query);
 }
Exemple #8
0
 /// <summary>
 /// Remove the traverser if its element does not have a key value that satisfies the bi-predicate.
 /// </summary>
 /// <param name="key">The key to filter by</param>
 /// <param name="predicate">The predicate to filter by</param>
 public Query Has(string key, GraphPredicate predicate)
 {
     Steps.Add("has('" + Sanitize(key) + "', " + predicate.ToString() + ")");
     return(this as Query);
 }
Exemple #9
0
        public void Steps_Where()
        {
            using (var client = TestDatabase.GetClient("where"))
            {
                client.Execute(VertexQuery.Create("one")).Wait();
                client.Execute(VertexQuery.Create("two")).Wait();
                client.Execute(VertexQuery.Create("three")).Wait();
                client.Execute(VertexQuery.All().HasLabel("one").AddEdge("to", DirectionStep.To(VertexQuery.Find("two")))).Wait();
                client.Execute(VertexQuery.All().HasLabel("two").AddEdge("to", DirectionStep.To(VertexQuery.Find("three")))).Wait();

                var query  = VertexQuery.All().HasLabel("one").As("a").Both().Both().Where(GraphPredicate.NotEqualTo("a"));
                var result = client.Execute(query).Result;
                Assert.AreEqual(result.Count(), 1);
                Assert.AreEqual(result.First().label, "three");
            }
        }