示例#1
0
        /// <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));
        }
示例#2
0
 /// <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));
 }
示例#3
0
 /// <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));
 }
示例#4
0
 /// <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()));
 }
示例#5
0
 /// <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));
 }
示例#6
0
 /// <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));
 }