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

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

| Edit this page View Source

_provider

Virtual RDF Provider.

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

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

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