Show / Hide Table of Contents

Class FilteredProductOptimiser

An Algebra Optimiser which implements the Filtered Product optimisation.

Inheritance
System.Object
FilteredProductOptimiser
Implements
IAlgebraOptimiser
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
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.

Properties

| Improve this Doc View Source

UnsafeOptimisation

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
System.Boolean
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 Source

IsApplicable(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
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.

| Improve this Doc View Source

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
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.

| Improve this Doc View Source

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
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.

Implements

IAlgebraOptimiser

Extension Methods

Extensions.ToSafeString(object)
Extensions.AsEnumerable<T>(T)
  • Improve this Doc
  • View Source
In This Article
  • Properties
    • UnsafeOptimisation
  • Methods
    • IsApplicable(SparqlQuery)
    • IsApplicable(SparqlUpdateCommandSet)
    • Optimise(ISparqlAlgebra)
  • Implements
  • Extension Methods
Back to top Generated by DocFX