VDS.RDF.Query.Optimisation Namespace 
Namespace containing classes that are used in the Optimisation of SPARQL Queries. Includes the interfaces IQueryOptimiser and IAlgebraOptimiser which can be used to implement custom query optimisation.
Class  Description  

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.
 
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 
Static Helper class which provides global 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.
 
VirtualAlgebraOptimiserTNodeID, 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.

Interface  Description  

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.
