Show / Hide Table of Contents

Class VirtualAlgebraOptimiser<TNodeID, TGraphID>

Abstract implementation of an algebra optimiser and expression transformer which optimises the algebra to replace any Node terms with Virtual Node terms for more efficient querying of virtualised RDF data.

Inheritance
System.Object
VirtualAlgebraOptimiser<TNodeID, TGraphID>
SimpleVirtualAlgebraOptimiser
Implements
IAlgebraOptimiser
IExpressionTransformer
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 abstract class VirtualAlgebraOptimiser<TNodeID, TGraphID> : IAlgebraOptimiser, IExpressionTransformer
Type Parameters
Name Description
TNodeID

Node ID Type.

TGraphID

Graph ID Type.

Constructors

| Improve this Doc View Source

VirtualAlgebraOptimiser(IVirtualRdfProvider<TNodeID, TGraphID>)

Creates a new Virtual Algebra Optimiser.

Declaration
public VirtualAlgebraOptimiser(IVirtualRdfProvider<TNodeID, TGraphID> provider)
Parameters
Type Name Description
IVirtualRdfProvider<TNodeID, TGraphID> provider

Virtual RDF Provider.

Fields

| Improve this Doc View Source

_provider

Virtual RDF Provider.

Declaration
protected IVirtualRdfProvider<TNodeID, TGraphID> _provider
Field Value
Type Description
IVirtualRdfProvider<TNodeID, TGraphID>

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

Methods

| Improve this Doc View Source

CreateVirtualNode(TNodeID, INode)

Creates a virtual Node based on a given Value.

Declaration
protected abstract INode CreateVirtualNode(TNodeID id, INode value)
Parameters
Type Name Description
TNodeID id

Node ID.

INode value

Value.

Returns
Type Description
INode
| Improve this Doc View Source

IsApplicable(SparqlQuery)

Returns that the optimiser is applicable to all queries.

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

Query.

Returns
Type Description
System.Boolean
| Improve this Doc View Source

IsApplicable(SparqlUpdateCommandSet)

Returns that the optimiser is applicable to all updates.

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

Updates.

Returns
Type Description
System.Boolean
| Improve this Doc View Source

Optimise(ISparqlAlgebra)

Optimises the algebra so that all Node terms are virtualised.

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

Algebra.

Returns
Type Description
ISparqlAlgebra
| Improve this Doc View Source

SubstitutePrimaryExpression(ISparqlExpression)

Substitutes a primary expression which is a Node term for a virtual Node term.

Declaration
protected ISparqlExpression SubstitutePrimaryExpression(ISparqlExpression expr)
Parameters
Type Name Description
ISparqlExpression expr

Expression.

Returns
Type Description
ISparqlExpression
| Improve this Doc View Source

Transform(ISparqlExpression)

Transforms an expression so Node terms are virtualised.

Declaration
public ISparqlExpression Transform(ISparqlExpression expr)
Parameters
Type Name Description
ISparqlExpression expr

Expression.

Returns
Type Description
ISparqlExpression

Implements

IAlgebraOptimiser
IExpressionTransformer

Extension Methods

Extensions.ToSafeString(object)
Extensions.AsEnumerable<T>(T)
  • Improve this Doc
  • View Source
In This Article
  • Constructors
    • VirtualAlgebraOptimiser(IVirtualRdfProvider<TNodeID, TGraphID>)
  • Fields
    • _provider
  • Properties
    • UnsafeOptimisation
  • Methods
    • CreateVirtualNode(TNodeID, INode)
    • IsApplicable(SparqlQuery)
    • IsApplicable(SparqlUpdateCommandSet)
    • Optimise(ISparqlAlgebra)
    • SubstitutePrimaryExpression(ISparqlExpression)
    • Transform(ISparqlExpression)
  • Implements
  • Extension Methods
Back to top Generated by DocFX