Click or drag to resize

BaseQueryOptimiser Class

A basic abstract implementation of a Query Optimiser.
Inheritance Hierarchy

Namespace:  VDS.RDF.Query.Optimisation
Assembly:  dotNetRDF (in dotNetRDF.dll) Version:
Syntax
public abstract class BaseQueryOptimiser : IQueryOptimiser

The BaseQueryOptimiser type exposes the following members.

Constructors
  NameDescription
Protected methodBaseQueryOptimiser
Initializes a new instance of the BaseQueryOptimiser class
Top
Properties
  NameDescription
Protected propertyShouldPlaceAssignments
Controls whether the Optimiser will place Assignments.
Protected propertyShouldPlaceFilters
Controls whether the Optimiser will place Filters.
Protected propertyShouldReorder
Controls whether the Optimiser will attempt to reorder Triple Patterns.
Protected propertyShouldSplitFilters
Controls whether the Optimiser will split Filters.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Protected methodGetRankingComparer
Gets a comparer on Triple Patterns that is used to rank Triple Patterns.
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodOptimise
Causes the Graph Pattern to be optimised if it isn't already.
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Remarks

Derived implementations may use override the virtual properties to control what forms of optimisation are used. Derived implementations must override the GetRankingComparer() method, optimisers which do not wish to change the order of Triple Patterns should return the NoReorderCompaper in their implementation as a basic sort of Triple Patterns is done even if ShouldReorder is overridden to return false.

See Also