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