/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public override ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { if (optimiser is IExpressionTransformer) { return new IdentityFilter(optimiser.Optimise(this.InnerAlgebra), this.RestrictionVariable, (ConstantTerm)((IExpressionTransformer)optimiser).Transform(this.RestrictionValue)); } else { return new IdentityFilter(optimiser.Optimise(this.InnerAlgebra), this.RestrictionVariable, this.RestrictionValue); } }
/// <summary> /// Transforms this algebra with the given optimiser. /// </summary> /// <param name="optimiser">Optimiser.</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new PropertyFunction(optimiser.Optimise(_algebra), _function)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Distinct(this._pattern)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { if (optimiser is IExpressionTransformer) { return new Extend(optimiser.Optimise(this._inner), ((IExpressionTransformer)optimiser).Transform(this._expr), this._var); } else { return new Extend(optimiser.Optimise(this._inner), this._expr, this._var); } }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return new ExistsJoin(this._lhs, optimiser.Optimise(this._rhs), this._mustExist); }
/// <summary> /// Transforms both sides of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new AskUnion(optimiser.Optimise(this._lhs), optimiser.Optimise(this._rhs)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Select(this._pattern, this._variables); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new ParallelJoin(this._lhs, optimiser.Optimise(this._rhs))); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser. /// </summary> /// <param name="optimiser">Optimiser.</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Having(optimiser.Optimise(_pattern), _having)); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser. /// </summary> /// <param name="optimiser">Optimser.</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new ExistsJoin(optimiser.Optimise(_lhs), _rhs, _mustExist)); }
/// <summary> /// Removes an Algebra Optimiser /// </summary> /// <param name="optimiser"></param> public static void RemoveOptimiser(IAlgebraOptimiser optimiser) { _algebraOpt.Remove(optimiser); }
/// <summary> /// Adds a new Algebra Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> public static void AddOptimiser(IAlgebraOptimiser optimiser) { _algebraOpt.Add(optimiser); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Select(optimiser.Optimise(this._pattern), this.IsSelectAll, this._variables)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new GroupBy(optimiser.Optimise(this._pattern), this._grouping)); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser. /// </summary> /// <param name="optimiser">Optimser.</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new ParallelJoin(optimiser.Optimise(_lhs), _rhs)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new OrderBy(optimiser.Optimise(this._pattern), this._ordering)); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new LazyUnion(this._lhs, optimiser.Optimise(this._rhs))); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new ExistsJoin(this._lhs, optimiser.Optimise(this._rhs), this._mustExist)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Filter(this._pattern, this._filter); }
/// <summary> /// Transforms both sides of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new AskUnion(optimiser.Optimise(this._lhs), optimiser.Optimise(this._rhs))); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Graph(optimiser.Optimise(this._pattern), this._graphSpecifier); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Slice(this._pattern, this._limit, this._offset)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new GroupBy(optimiser.Optimise(this._pattern), this._grouping); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Bindings(this._bindings, this._pattern); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return new Join(optimiser.Optimise(this._lhs), this._rhs); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser. /// </summary> /// <param name="optimiser">Optimiser.</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Ask(optimiser.Optimise(_pattern))); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Slice(this._pattern, this._limit, this._offset); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public override ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new FullTextMatch(this.SearchProvider, optimiser.Optimise(this.InnerAlgebra), this.MatchItem, this.ScoreItem, this.SearchTerm, this.Limit, this.ScoreThreshold)); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new AskUnion(_lhs, optimiser.Optimise(_rhs))); }
/// <summary> /// Transforms the RHS algebra only with the given optimiser. /// </summary> /// <param name="optimiser">Algebra Optimiser.</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new FilteredProduct(_lhs, optimiser.Optimise(_rhs), _expr)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new GroupBy(optimiser.Optimise(_pattern), _grouping, _aggregates)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser. /// </summary> /// <param name="optimiser">Optimiser.</param> /// <returns></returns> public abstract ISparqlAlgebra Transform(IAlgebraOptimiser optimiser);
/// <summary> /// Transforms the LHS algebra only with the given optimiser /// </summary> /// <param name="optimiser">Algebra Optimiser</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new FilteredProduct(optimiser.Optimise(this._lhs), this._rhs, this._expr)); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new Minus(optimiser.Optimise(this._lhs), this._rhs)); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new ParallelUnion(optimiser.Optimise(this._lhs), this._rhs)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new OrderBy(this._pattern, this._ordering); }
/// <summary> /// Transforms the LHS of the Join using the given Optimiser. /// </summary> /// <param name="optimiser">Optimser.</param> /// <returns></returns> public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser) { return(new LazyUnion(optimiser.Optimise(_lhs), _rhs)); }
/// <summary> /// Transforms both sides of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Minus(optimiser.Optimise(_lhs), optimiser.Optimise(_rhs))); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Reduced(optimiser.Optimise(this._pattern)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Reduced(optimiser.Optimise(this._pattern))); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Ask(this._pattern); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public override ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new FullTextMatch(this.SearchProvider, optimiser.Optimise(this.InnerAlgebra), this.MatchItem, this.ScoreItem, this.SearchTerm, this.Limit, this.ScoreThreshold); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return new LeftJoin(this._lhs, optimiser.Optimise(this._rhs), this._filter); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Graph(optimiser.Optimise(this._pattern), this._graphSpecifier)); }
public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Extend(optimiser.Optimise(this._inner), this._expr, this._var); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public abstract ISparqlAlgebra Transform(IAlgebraOptimiser optimiser);
/// <summary> /// Transforms both sides of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new ParallelJoin(optimiser.Optimise(this._lhs), optimiser.Optimise(this._rhs)); }
/// <summary> /// Transforms the RHS of the Join using the given optimiser. /// </summary> /// <param name="optimiser">optimser.</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return(new ParallelUnion(Lhs, optimiser.Optimise(Rhs))); }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { if (optimiser is IExpressionTransformer) { return new LeftJoin(this._lhs, optimiser.Optimise(this._rhs), new UnaryExpressionFilter(((IExpressionTransformer)optimiser).Transform(this._filter.Expression))); } else { return new LeftJoin(this._lhs, optimiser.Optimise(this._rhs), this._filter); } }
/// <summary> /// Transforms the RHS of the Join using the given Optimiser /// </summary> /// <param name="optimiser">Optimser</param> /// <returns></returns> public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser) { return new Union(this._lhs, optimiser.Optimise(this._rhs)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { if (optimiser is IExpressionTransformer) { return new Filter(optimiser.Optimise(this._pattern), new UnaryExpressionFilter(((IExpressionTransformer)optimiser).Transform(this._filter.Expression))); } else { return new Filter(optimiser.Optimise(this._pattern), this._filter); } }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser. /// </summary> /// <param name="optimiser">Optimiser.</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return(new Slice(optimiser.Optimise(_pattern), _limit, _offset)); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Having(this._pattern, this._having); }
/// <summary> /// Transforms the Inner Algebra using the given Optimiser /// </summary> /// <param name="optimiser">Optimiser</param> /// <returns></returns> public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser) { return new Project(optimiser.Optimise(this._pattern), this._variables); }