/// <summary> /// Evaluates Prefix expression /// </summary> /// <param name="m">method call expression</param> private void VisitPrefix(MethodCallExpression m) { string prefix = (string)((ConstantExpression)m.Arguments[1]).Value; string iri = (string)((ConstantExpression)m.Arguments[2]).Value; Prefixes.Add(SPARQL.Prefix(prefix, iri)); }
public void TestToString1() { var prefixes = new[] { SPARQL.Prefix("p1", "http://test.com/p1"), SPARQL.Prefix("p2", "http://test.com/p2"), }; var source = TestDataProvider.GetQuerable <dynamic>("", prefixes: prefixes); var query = source.Prefix("p3", "http://test.com/p3") .Prefix("p4", "http://test.com/p4") .Prefix("p5", "http://test.com/p5"); var resStr = query.ToString(); resStr.Should().StartWith( @"PREFIX p1: <http://test.com/p1> PREFIX p2: <http://test.com/p2> PREFIX p3: <http://test.com/p3> PREFIX p4: <http://test.com/p4> PREFIX p5: <http://test.com/p5>" ); }
/// <summary> /// Makes triple from expression arguments /// </summary> /// <param name="m">method call arguments</param> /// <returns></returns> private Triple MakeTripleFromArguments(MethodCallExpression m) { return(SPARQL.Triple((string)((ConstantExpression)m.Arguments[1]).Value, new List <string>() { string.Concat((string)((ConstantExpression)m.Arguments[2]).Value, " ", ((ConstantExpression)m.Arguments[3]).Value.ToString()) })); }
/// <summary> /// Evaluates Group expression /// </summary> /// <param name="m">method call expression</param> /// <returns>SPARQL Where clause item</returns> private IWhereItem VisitGroup(MethodCallExpression m) { var group = new Group( SPARQL.Triple((string)((ConstantExpression)m.Arguments[1]).Value, new List <string>() { string.Concat((string)((ConstantExpression)m.Arguments[2]).Value, " ", (string)((ConstantExpression)m.Arguments[3]).Value) }) ); return(group); }
/// <summary> /// Evaluates Either expression /// </summary> /// <param name="m">method call expression</param> /// <returns>SPARQL Where clause item</returns> private IWhereItem VisitEither(MethodCallExpression m) { var union = new Union( new Group( SPARQL.Triple((string)((ConstantExpression)m.Arguments[1]).Value, new List <string>() { string.Concat((string)((ConstantExpression)m.Arguments[2]).Value, " ", (string)((ConstantExpression)m.Arguments[3]).Value) }) ), null ); return(union); }
private IWhereItem VisitBindAs(MethodCallExpression bind, MethodCallExpression asValue) { return(SPARQL.Bind(string.Concat((string)((ConstantExpression)bind.Arguments[1]).Value, " AS ", (string)((ConstantExpression)asValue.Arguments[1]).Value))); }
/// <summary> /// Evaluates FilterBy expression /// </summary> /// <param name="m">method call expression</param> /// <returns>SPARQL Where clause item</returns> private IWhereItem VisitFilterBy(MethodCallExpression m) { var filter = SPARQL.Filter((string)((ConstantExpression)m.Arguments[1]).Value); return(filter); }