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

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.AsEnumerable<T>(T)
  • Improve this Doc
  • View Source
In This Article
  • Constructors
    • VirtualAlgebraOptimiser(IVirtualRdfProvider<TNodeID, TGraphID>)
  • Fields
    • _provider
  • Methods
    • CreateVirtualNode(TNodeID, INode)
    • IsApplicable(SparqlQuery)
    • IsApplicable(SparqlUpdateCommandSet)
    • Optimise(ISparqlAlgebra)
    • SubstitutePrimaryExpression(ISparqlExpression)
    • Transform(ISparqlExpression)
  • Implements
  • Extension Methods
Back to top Generated by DocFX