Show / Hide Table of Contents

Class ParallelEvaluationOptimiser

An Algebra Optimiser which looks for unions and joins that can be evaluated in parallel to improve query evaluation speed in some cases.

Inheritance
object
ParallelEvaluationOptimiser
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 ParallelEvaluationOptimiser : IAlgebraOptimiser
Remarks

Using this feature allows you to use experimental parallel SPARQL evaluation optimisations which may improve query evaluation speed for some queries. A query must either use UNION or have joins which are disjoint in order for any parallel evaluation to take place.

Users should be aware that using this optimiser may actually increase evaluation speed in some cases e.g. where either side of a disjoint join will return empty especially when it is the left hand side that will do so.

Also note that while use of this optimiser should not cause queries to return incorrect results as it does not change the semantics of the evaluation as it only parallelises independent operators we cannot guarantee that all parallelised queries will return identical results to their non-parallelised counterparts. If you find a query that you believe is giving incorrect results when used with this optimiser please test without the optimiser enabled to check that the apparent incorrect result is not an artifact of this optimisation.

Properties

| Edit this page 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
bool

Methods

| Edit this page View Source

IsApplicable(SparqlQuery)

Returns that the optimser is applicable to all queries.

Declaration
public bool IsApplicable(SparqlQuery q)
Parameters
Type Name Description
SparqlQuery q

Query.

Returns
Type Description
bool
| Edit this page View Source

IsApplicable(SparqlUpdateCommandSet)

Returns that the optimiser is not applicable to updates.

Declaration
public bool IsApplicable(SparqlUpdateCommandSet cmds)
Parameters
Type Name Description
SparqlUpdateCommandSet cmds

Updates.

Returns
Type Description
bool
| Edit this page View Source

Optimise(ISparqlAlgebra)

Optimises the algebra to use parallelised variants of Join and Union where possible.

Declaration
public ISparqlAlgebra Optimise(ISparqlAlgebra algebra)
Parameters
Type Name Description
ISparqlAlgebra algebra

Algebra.

Returns
Type Description
ISparqlAlgebra

Implements

IAlgebraOptimiser

Extension Methods

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