Class FilteredProductOptimiser
An Algebra Optimiser which implements the Filtered Product optimisation.
Implements
Inherited Members
Namespace: VDS.RDF.Query.Optimisation
Assembly: dotNetRdf.dll
Syntax
public class FilteredProductOptimiser : IAlgebraOptimiser
Remarks
A filtered product is implied by any query where there is a product over a join or within a BGP around which there is a Filter which contains variables from both sides of the product. So rather than computing the entire product and then applying the filter we want to push filter application into the product computation.
Properties
| Edit this page View SourceUnsafeOptimisation
Determines whether an Optimiser will perform algebra optimizations that are potentially unsafe at execution time.
Declaration
public bool UnsafeOptimisation { get; set; }
Property Value
Type | Description |
---|---|
bool |
Methods
| Edit this page View SourceIsApplicable(SparqlQuery)
Returns that this optimiser is applicable to all queries.
Declaration
public bool IsApplicable(SparqlQuery q)
Parameters
Type | Name | Description |
---|---|---|
SparqlQuery | q | Query. |
Returns
Type | Description |
---|---|
bool |
IsApplicable(SparqlUpdateCommandSet)
Returns that this optimiser is applicable to all updates.
Declaration
public bool IsApplicable(SparqlUpdateCommandSet cmds)
Parameters
Type | Name | Description |
---|---|---|
SparqlUpdateCommandSet | cmds | Updates. |
Returns
Type | Description |
---|---|
bool |
Optimise(ISparqlAlgebra)
Optimises the Algebra to use implict joins where applicable.
Declaration
public ISparqlAlgebra Optimise(ISparqlAlgebra algebra)
Parameters
Type | Name | Description |
---|---|---|
ISparqlAlgebra | algebra | Algebra. |
Returns
Type | Description |
---|---|
ISparqlAlgebra |