Esempio n. 1
0
        internal virtual object ComposeParameter(object value)
        {
            if (_queryBase != null)
            {
                return(_queryBase.ComposeParameter(value));
            }
            if (_connector == null || !_connector.CanParameterizeQueries)
            {
                if (value is string s)
                {
                    return($"'{s.EscapeGremlinString()}'");
                }

                if (value is DateTime dt)
                {
                    return(dt.Ticks.ToString(CultureInfo.InvariantCulture));
                }
                return(value?.ToString().ToLower());
            }
            string v;

            lock (Parameters)
            {
                v = $"__p{Parameters.Count}";
                Parameters.Add(v, value);
            }
            return(v);
        }
Esempio n. 2
0
        internal virtual object ComposeParameter(object value)
        {
            if (_queryBase != null)
            {
                return(_queryBase.ComposeParameter(value));
            }
            if (_connector == null || !_connector.CanParameterizeQueries)
            {
                if (value is string s)
                {
                    return($"'{s.EscapeGremlinString()}'");
                }

                if (value is EpochDateTime epoch)
                {
                    return(epoch.Epoch.ToString(CultureInfo.InvariantCulture));
                }
                if (value is DateTime dt)
                {
                    return(dt.Ticks.ToString(CultureInfo.InvariantCulture));
                }
                return(value?.ToString().ToLower());
            }

            string v;

            if (value is decimal o)
            {
                if (o >= int.MaxValue)
                {
                    return(o);
                }
            }
            if (value is long l)
            {
                if (l >= int.MaxValue)
                {
                    return(l);
                }
            }
            lock (Parameters)
            {
                v = $"__p{Parameters.Count}";
                if (value is EpochDateTime epoch)
                {
                    Parameters.Add(v, epoch.Epoch);
                }
                else
                {
                    Parameters.Add(v, value);
                }
            }

            return(v);
        }
Esempio n. 3
0
 public static GremlinQuery By(this GremlinQuery queryBase, string name, OrderingTypes ordering)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $".by({queryBase.ComposeParameter(name)},{ordering.ToString().ToLower()})"));
 }
Esempio n. 4
0
 public static GremlinQuery Store(this GremlinQuery queryBase, string value)
 {
     return(new ComposedGremlinQuery(queryBase, $".store({queryBase.ComposeParameter(value)})"));
 }
 public static GremlinQuery V(this GremlinQuery queryBase, string id)
 {
     return(new ComposedGremlinQuery(queryBase, $".V({queryBase.ComposeParameter(id)})"));
 }
 public static GremlinQuery Tail(this GremlinQuery queryBase, int last)
 {
     return(new ComposedGremlinQuery(queryBase, $"tail({queryBase.ComposeParameter(last)})"));
 }
Esempio n. 7
0
 public static GremlinQuery Times(this GremlinQuery queryBase, int times)
 {
     return(new ComposedGremlinQuery(queryBase, $"times({queryBase.ComposeParameter(times)})"));
 }
 public static GremlinQuery AddV(this GremlinQuery queryBase, string label)
 {
     return(new ComposedGremlinQuery(queryBase, $"addV({queryBase.ComposeParameter(label)})"));
 }
Esempio n. 9
0
 public static GremlinQuery Select(this GremlinQuery queryBase, params string[] items)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $".select({string.Join(",", items.Select(s => $"{queryBase.ComposeParameter(s)}"))})"));
 }
Esempio n. 10
0
 public static GremlinQuery Has(this GremlinQuery queryBase, string label, string key,
                                Func <PredicateGremlinQuery, GremlinQuery> expression)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $"has({queryBase.ComposeParameter(label)},{queryBase.ComposeParameter(key)},{expression.Invoke(new PredicateGremlinQuery(queryBase))})"));
 }
Esempio n. 11
0
 public static GremlinQuery HasNot(this GremlinQuery queryBase, string key)
 {
     return(new ComposedGremlinQuery(queryBase, $"hasNot({queryBase.ComposeParameter(key)})"));
 }
Esempio n. 12
0
 /// <summary>
 ///     It is possible to filter scalar values using is()-step (filter).
 /// </summary>
 /// <param name="queryBase">the base query to append the step to</param>
 /// <param name="value">the filter value</param>
 /// <returns></returns>
 public static GremlinQuery Is(this GremlinQuery queryBase, int value)
 {
     return(new ComposedGremlinQuery(queryBase, $".is({queryBase.ComposeParameter(value)})"));
 }
 public static GremlinQuery ValueMap(this GremlinQuery queryBase, bool inclueAll)
 {
     return(new ComposedGremlinQuery(queryBase, $".valueMap({queryBase.ComposeParameter(inclueAll)})"));
 }
 public static GremlinQuery Constant(this GremlinQuery queryBase, bool value)
 {
     return(new ComposedGremlinQuery(queryBase, $".constant({queryBase.ComposeParameter(value)})"));
 }
Esempio n. 15
0
 public static GremlinQuery By(this GremlinQuery queryBase, string name)
 {
     return(new ComposedGremlinQuery(queryBase, $".by({queryBase.ComposeParameter(name)})"));
 }
Esempio n. 16
0
 public static GremlinQuery Sample(this GremlinQuery queryBase, int startVertex)
 {
     return(new ComposedGremlinQuery(queryBase, $".sample({queryBase.ComposeParameter(startVertex)})"));
 }
Esempio n. 17
0
 public static GremlinQuery Has(this GremlinQuery queryBase, string key, EpochDateTime value)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $"has({queryBase.ComposeParameter(key)},{queryBase.ComposeParameter(value)})"));
 }
Esempio n. 18
0
 public static GremlinQuery Select(this GremlinQuery queryBase, SelectTypes selectType, params string[] items)
 {
     if (items.ContainsElements())
     {
         return(new ComposedGremlinQuery(queryBase,
                                         $".select({selectType.ToString().ToLower()},{string.Join(",", items.Select(s => $"{queryBase.ComposeParameter(s)}"))})"));
     }
     return(new ComposedGremlinQuery(queryBase, $".select({selectType.ToString().ToLower()})"));
 }
Esempio n. 19
0
 public static GremlinQuery Has(this GremlinQuery queryBase, string label, string key, string value)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $"has({queryBase.ComposeParameter(label)},{queryBase.ComposeParameter(key)},{queryBase.ComposeParameter(value)})"));
 }
 private static GremlinQuery Params(this GremlinQuery queryBase, string property, string name, float p2)
 {
     return(new ComposedGremlinQuery(queryBase, $"{property}('{name}',{queryBase.ComposeParameter(p2)})"));
 }
 internal static GremlinQuery Params(this GremlinQuery queryBase, string name, params bool[] values)
 {
     return(new ComposedGremlinQuery(queryBase, $".{name}({string.Join(",", values.Select(s => queryBase.ComposeParameter(s)))})"));
 }
Esempio n. 22
0
 public static GremlinQuery Option(this GremlinQuery queryBase, decimal value,
                                   Func <GremlinQuery, GremlinQuery> expression)
 {
     return(new LambdaComposedGremlinQuery(queryBase, $"option({queryBase.ComposeParameter(value)},{{0}})",
                                           expression));
 }
Esempio n. 23
0
 public static GremlinQuery Project(this GremlinQuery queryBase, params string[] values)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $".project({string.Join(",", values.Select(s => $"{queryBase.ComposeParameter(s)}"))})"));
 }
 public static GremlinQuery Coin(this GremlinQuery queryBase, double bias)
 {
     return(new ComposedGremlinQuery(queryBase, $"coin({queryBase.ComposeParameter(bias)})"));
 }
 public static GremlinQuery V(this GremlinQuery queryBase, string id, string partitionKey)
 {
     return(new ComposedGremlinQuery(queryBase,
                                     $".V([{queryBase.ComposeParameter(partitionKey)},{queryBase.ComposeParameter(id)}])"));
 }