Class FilteredProductOptimiser
An Algebra Optimiser which implements the Filtered Product optimisation.
Inheritance
System.Object
FilteredProductOptimiser
Implements
Inherited Members
System.Object.Equals(System.Object)
System.Object.Equals(System.Object, System.Object)
System.Object.GetHashCode()
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
System.Object.ToString()
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.
Methods
| Improve this Doc 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 |
---|---|
System.Boolean |
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 |
---|---|
System.Boolean |
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 |