Namespace VDS.RDF.Query.Optimisation
Classes
AskBgpOptimiser
An Algebra Optimiser that optimises Algebra to use AskBgp's wherever possible.
BaseAlgebraOptimiser
Abstract Base Class for Algebra Transformers where the Transformer may care about the depth of the Algebra in the Algebra Tree.
BaseQueryOptimiser
A basic abstract implementation of a Query Optimiser.
DefaultOptimiser
Default SPARQL Query Optimiser.
FilteredProductOptimiser
An Algebra Optimiser which implements the Filtered Product optimisation.
FullTextOptimiser
An Algebra Optimiser that ensures that Full Text Query support is available to query evaluation.
IdentityFilterOptimiser
An Algebra Optimiser which implements the Identity Filter optimisation.
ImplicitJoinOptimiser
An Algebra Optimiser which implements the Implicit Join optimisation.
LazyBgpOptimiser
An Algebra Optimiser that optimises Algebra to use LazyBgp's wherever possible.
LeviathanOptimiser
Static Helper class which provides global registry of Algebra Optimisers and the global Query Optimiser.
NoReorderComparer
A Comparer which ranks all Triple Patterns as equal.
NoReorderOptimiser
SPARQL Query Optimiser which does no reordering.
OrderByDistinctOptimiser
An optimizer that handles a special case for ORDER BY + DISTINCT combinations which can significantly improve performance by eliminating duplicates prior to sorting when the default SPARQL behaviour is to do a potentially costly sort over many duplicates and then eliminate distincts.
ParallelEvaluationOptimiser
An Algebra Optimiser which looks for unions and joins that can be evaluated in parallel to improve query evaluation speed in some cases.
PropertyFunctionOptimiser
An algebra optimiser that looks for property functions specified by simple triple patterns in BGPs and replaces them with actual property function patterns.
SimpleVirtualAlgebraOptimiser
A concrete implementation of a Virtual Algebra Optimiser where the virtual IDs are simply integers.
SparqlOptimiser
Helper class which provides a registry of Algebra Optimisers and the global Query Optimiser.
StrictAlgebraOptimiser
The Strict Algebra Optimiser is an optimiser that takes our BGPs which typically contain placed FILTERs and BINDs and transforms them into their strict algebra form using Filter() and Extend().
VariableSubstitutionTransformer
An optimiser for walking algebra and expression trees and replacing a Variable with another Variable or a Constant.
VirtualAlgebraOptimiser<TNodeID, TGraphID>
Abstract implementation of an algebra optimiser and expression transformer which optimises the algebra to replace any Node terms with Virtual Node terms for more efficient querying of virtualised RDF data.
WeightedOptimiser
The Weighted Optimiser is a Query Optimiser that orders Triple Patterns based on weighting computed calculated against.
Interfaces
IAlgebraOptimiser
An Algebra Optimiser is a class that can transform a SPARQL algebra from one form to another typically for optimisation purposes.
IQueryOptimiser
A Query Optimiser is a class which optimises Graph Patterns in a Query by reordering Graph Patterns.