Click or drag to resize

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.

Classes
  ClassDescription
Public classAskBgpOptimiser
An Algebra Optimiser that optimises Algebra to use AskBgp's wherever possible.
Public classBaseAlgebraOptimiser
Abstract Base Class for Algebra Transformers where the Transformer may care about the depth of the Algebra in the Algebra Tree.
Public classBaseQueryOptimiser
A basic abstract implementation of a Query Optimiser.
Public classDefaultOptimiser
Default SPARQL Query Optimiser.
Public classFilteredProductOptimiser
An Algebra Optimiser which implements the Filtered Product optimisation.
Public classFullTextOptimiser
An Algebra Optimiser that ensures that Full Text Query support is available to query evaluation.
Public classIdentityFilterOptimiser
An Algebra Optimiser which implements the Identity Filter optimisation.
Public classImplicitJoinOptimiser
An Algebra Optimiser which implements the Implicit Join optimisation.
Public classLazyBgpOptimiser
An Algebra Optimiser that optimises Algebra to use LazyBgp's wherever possible.
Public classNoReorderComparer
A Comparer which ranks all Triple Patterns as equal.
Public classNoReorderOptimiser
SPARQL Query Optimiser which does no reordering.
Public classOrderByDistinctOptimiser
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.
Public classParallelEvaluationOptimiser
An Algebra Optimiser which looks for unions and joins that can be evaluated in parallel to improve query evaluation speed in some cases.
Public classPropertyFunctionOptimiser
An algebra optimiser that looks for property functions specified by simple triple patterns in BGPs and replaces them with actual property function patterns.
Public classSimpleVirtualAlgebraOptimiser
A concrete implementation of a Virtual Algebra Optimiser where the virtual IDs are simply integers.
Public classSparqlOptimiser
Static Helper class which provides global registry of Algebra Optimisers and the global Query Optimiser.
Public classStrictAlgebraOptimiser
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().
Public classVariableSubstitutionTransformer
An optimiser for walking algebra and expression trees and replacing a Variable with another Variable or a Constant.
Public classVirtualAlgebraOptimiserTNodeID, 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.
Public classWeightedOptimiser
The Weighted Optimiser is a Query Optimiser that orders Triple Patterns based on weighting computed calculated against.
Interfaces
  InterfaceDescription
Public interfaceIAlgebraOptimiser
An Algebra Optimiser is a class that can transform a SPARQL algebra from one form to another typically for optimisation purposes.
Public interfaceIQueryOptimiser
A Query Optimiser is a class which optimises Graph Patterns in a Query by reordering Graph Patterns.