/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="o">object or triple or partional triple</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, dynamic o) { if (o as string != null) { IList <string> obj = ((string)o).SplitExt(" ").ToArray(); if (obj.Count == 3) { return(Match(source, s: obj[0], p: obj[1], o: obj[2])); } if (obj.Count == 2) { return((ISPARQLMatchQueryable <T>)And_2 <T>(source, p: obj[0], o: obj[1])); } } return((ISPARQLMatchQueryable <T>)And_1 <T>(source, o)); }
/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, string p, dynamic o) { return((ISPARQLMatchQueryable <T>)And_2 <T>(source, p, o)); }
/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, Expression <Func <T, dynamic> > p, dynamic o) { return((ISPARQLMatchQueryable <T>)And_2 <T>(source, p.GetMemberAccessName(), o)); }
/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, string p, Expression <Func <T, dynamic> > o) { return((ISPARQLMatchQueryable <T>)source.And_2 <T>(p, o.GetMemberAccessName())); }
/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="s">subject</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, Expression <Func <T, dynamic> > s, Expression <Func <T, dynamic> > p, Expression <Func <T, dynamic> > o) { return(source.Match <T>(s, p, o)); }
/// <summary> /// Match expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="s">subject</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> And <T>(this ISPARQLMatchQueryable <T> source, Expression <Func <T, dynamic> > s, string p, dynamic o) { return(Match <T>(source, s, p, o)); }
/// <summary> /// Exists expression /// </summary> /// <typeparam name="T"></typeparam> /// <param name="source"></param> /// <param name="s">subject</param> /// <param name="p">predicate</param> /// <param name="o">object</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> Exists <T>(this ISPARQLMatchQueryable <T> source, string s, string p, dynamic o) { return((ISPARQLMatchQueryable <T>)Exists <T>((ISPARQLQueryable <T>)source, s, p, o)); }
/// <summary> /// Or expression /// </summary> /// <typeparam name="T">element type</typeparam> /// <param name="source">query</param> /// <param name="triple">triple</param> /// <returns>query</returns> public static ISPARQLMatchQueryable <T> Or <T>(this ISPARQLMatchQueryable <T> source, string triple) { var nodes = triple.SplitExt(" ").ToArray(); return(source.Or(s: nodes[0], p: nodes[1], o: nodes[2])); }
public static ISPARQLMatchQueryable <T> FilterBy <T>(this ISPARQLMatchQueryable <T> source, string filter) { return((ISPARQLMatchQueryable <T>)((ISPARQLQueryable <T>)source).FilterBy <T>(filter)); }