Пример #1
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     if (this._arg != null)
     {
         return new NormalizeUnicodeFunction(transformer.Transform(this._expr), transformer.Transform(this._arg));
     }
     else
     {
         return new NormalizeUnicodeFunction(transformer.Transform(this._expr));
     }
 }
        private static Expression ApplyTransformations(Expression expression)
        {
            var chain = new IExpressionTransformer[]
            {
                new PartialEvaluationTransformer(),
                new VbStringCompareTransformer(),
                new VbConvertInvocationTransformer(),
            };

            Expression result = expression;
            foreach (var transformer in chain)
            {
                expression = transformer.Transform(expression);
            }

            return expression;
        }
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new ConcatFunction(_exprs.Select(e => transformer.Transform(e))));
 }
Пример #4
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     if (this._optionExpr != null)
     {
         return new RegexFunction(transformer.Transform(this._textExpr), transformer.Transform(this._patternExpr), transformer.Transform(this._optionExpr));
     }
     else
     {
         return new RegexFunction(transformer.Transform(this._textExpr), transformer.Transform(this._patternExpr));
     }
 }
Пример #5
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new StartsWithFunction(transformer.Transform(this._expr), transformer.Transform(this._arg));
 }
Пример #6
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new XPathStringCast(transformer.Transform(this._expr));
 }
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     throw new NotImplementedException();
 }
Пример #8
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     if (this._log10)
     {
         return new LogFunction(transformer.Transform(this._leftExpr));
     }
     else
     {
         return new LogFunction(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr));
     }
 }
Пример #9
0
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new IfElseFunction(transformer.Transform(_condition), transformer.Transform(_ifBranch),
                               transformer.Transform(_elseBranch));
 }
Пример #10
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new EqualsExpression(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr)));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public virtual ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new TimezoneFromDateTimeFunction(transformer.Transform(this._expr)));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new SubstringBeforeFunction(transformer.Transform(_expr), transformer.Transform(_arg)));
 }
Пример #13
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new CosineFunction(transformer.Transform(this._expr), this._inverse));
 }
Пример #14
0
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new CallFunction(_args.Select(e => transformer.Transform(e))));
 }
Пример #15
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new CoalesceFunction(this._expressions.Select(e => transformer.Transform(e))));
 }
Пример #16
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new NotInFunction(transformer.Transform(_expr), _expressions.Select(e => transformer.Transform(e))));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new LeviathanRadiansToDegreesFunction(transformer.Transform(this._expr));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new SubstringAfterFunction(transformer.Transform(this._expr), transformer.Transform(this._arg)));
 }
Пример #19
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new StringJoinFunction(transformer.Transform(this._sep), this._exprs.Select(e => transformer.Transform(e)));
 }
Пример #20
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new StrBeforeFunction(transformer.Transform(this._stringExpr), transformer.Transform(this._startsExpr)));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new GreaterThanOrEqualToExpression(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr));
 }
Пример #22
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new XPathStringCast(transformer.Transform(this._expr)));
 }
Пример #23
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     if (this._3d)
     {
         return new CartesianFunction(transformer.Transform(this._x1), transformer.Transform(this._y1), transformer.Transform(this._z1), transformer.Transform(this._x2), transformer.Transform(this._y2), transformer.Transform(this._z2));
     }
     else
     {
         return new CartesianFunction(transformer.Transform(this._x1), transformer.Transform(this._y1), transformer.Transform(this._x2), transformer.Transform(this._y2));
     }
 }
Пример #24
0
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new FloatCast(transformer.Transform(_expr)));
 }
Пример #25
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new ConcatFunction(this._exprs.Select(e => transformer.Transform(e)));
 }
Пример #26
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new ContainsFunction(transformer.Transform(this._expr), transformer.Transform(this._arg)));
 }
Пример #27
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new InFunction(transformer.Transform(this._expr), this._expressions.Select(e => transformer.Transform(e)));
 }
Пример #28
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public abstract ISparqlExpression Transform(IExpressionTransformer transformer);
Пример #29
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new MultiplicationExpression(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new StringLengthFunction(transformer.Transform(_expr)));
 }
Пример #31
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new NotEqualsExpression(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr));
 }
Пример #32
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new Sha1HashFunction(transformer.Transform(this._expr)));
 }
Пример #33
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     ISparqlExpression temp = transformer.Transform(new GraphPatternTerm(this._pattern));
     if (temp is GraphPatternTerm)
     {
         return new ExistsFunction(((GraphPatternTerm)temp).Pattern, this._mustExist);
     }
     else
     {
         throw new RdfQueryException("Unable to transform an EXISTS/NOT EXISTS function since the expression transformer in use failed to transform the inner Graph Pattern Expression to another Graph Pattern Expression");
     }
 }
Пример #34
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new LeviathanDegreesToRadiansFunction(transformer.Transform(this._expr)));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new LeviathanCosecantFunction(transformer.Transform(this._expr), this._inverse);
 }
Пример #36
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new LeviathanCotangentFunction(transformer.Transform(this._expr), this._inverse));
 }
Пример #37
0
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new UnknownFunction(this._funcUri, this._args.Select(e => transformer.Transform(e)));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new RoundHalfToEvenFunction(transformer.Transform(_expr)));
 }
Пример #39
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     if (this._length != null)
     {
         return new SubstringFunction(transformer.Transform(this._expr), transformer.Transform(this._start), transformer.Transform(this._length));
     }
     else
     {
         return new SubstringFunction(transformer.Transform(this._expr), transformer.Transform(this._start));
     }
 }
Пример #40
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new ReciprocalFunction(transformer.Transform(this._expr));
 }
Пример #41
0
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return _end != null
                ? new ArqSubstringFunction(transformer.Transform(_expr), transformer.Transform(_start),
                                           transformer.Transform(_end))
                : new ArqSubstringFunction(transformer.Transform(_end), transformer.Transform(_start));
 }
Пример #42
0
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new LocalNameFunction(transformer.Transform(_expr)));
 }
Пример #43
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new SecondsFromDateTimeFunction(transformer.Transform(this._expr));
 }
Пример #44
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new StrStartsFunction(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr)));
 }
Пример #45
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new ContainsFunction(transformer.Transform(this._leftExpr), transformer.Transform(this._rightExpr));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new RadiansToDegreesFunction(transformer.Transform(_expr)));
 }
Пример #47
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public abstract ISparqlExpression Transform(IExpressionTransformer transformer);
Пример #48
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new DayFromDateTimeFunction(transformer.Transform(this._expr)));
 }
Пример #49
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new RoundHalfToEvenFunction(transformer.Transform(this._expr));
 }
Пример #50
0
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(this);
 }
Пример #51
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new BooleanCast(transformer.Transform(this._expr));
 }
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new NormalizeSpaceFunction(transformer.Transform(this._expr)));
 }
Пример #53
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new LangFunction(transformer.Transform(this._expr));
 }
Пример #54
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new MinutesFunction(transformer.Transform(_expr)));
 }
Пример #55
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new SubstringAfterFunction(transformer.Transform(this._expr), transformer.Transform(this._arg));
 }
Пример #56
0
 /// <summary>
 /// Transforms the Expression using the given Transformer.
 /// </summary>
 /// <param name="transformer">Expression Transformer.</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new LessThanExpression(transformer.Transform(_leftExpr), transformer.Transform(_rightExpr)));
 }
Пример #57
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return this;
 }
Пример #58
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new MinusExpression(transformer.Transform(this._expr)));
 }
Пример #59
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return new CotangentFunction(transformer.Transform(this._expr), this._inverse);
 }
Пример #60
0
 /// <summary>
 /// Transforms the Expression using the given Transformer
 /// </summary>
 /// <param name="transformer">Expression Transformer</param>
 /// <returns></returns>
 public override ISparqlExpression Transform(IExpressionTransformer transformer)
 {
     return(new SameTermFunction(transformer.Transform(_leftExpr), transformer.Transform(_rightExpr)));
 }