Class Select
Represents the Selection step of Query Evaluation.
Inherited Members
Namespace: VDS.RDF.Query.Algebra
Assembly: dotNetRdf.dll
Syntax
public class Select : IUnaryOperator, ISparqlAlgebra, IVisitable, IProcessable
Remarks
Selection trims variables from the Multiset that are not needed in the final output.
Constructors
| Edit this page View SourceSelect(ISparqlAlgebra, bool, IEnumerable<SparqlVariable>)
Creates a new Select.
Declaration
public Select(ISparqlAlgebra pattern, bool selectAll, IEnumerable<SparqlVariable> variables)
Parameters
Type | Name | Description |
---|---|---|
ISparqlAlgebra | pattern | Inner Pattern. |
bool | selectAll | Whether we are selecting all variables. |
IEnumerable<SparqlVariable> | variables | Variables to Select. |
Properties
| Edit this page View SourceFixedVariables
Gets the enumeration of fixed variables in the algebra i.e. variables that are guaranteed to have a bound value.
Declaration
public IEnumerable<string> FixedVariables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
FloatingVariables
Gets the enumeration of floating variables in the algebra i.e. variables that are not guaranteed to have a bound value.
Declaration
public IEnumerable<string> FloatingVariables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
InnerAlgebra
Gets the Inner Algebra.
Declaration
public ISparqlAlgebra InnerAlgebra { get; }
Property Value
Type | Description |
---|---|
ISparqlAlgebra |
IsSelectAll
Does this operator select all variables?.
Declaration
public bool IsSelectAll { get; }
Property Value
Type | Description |
---|---|
bool |
SparqlVariables
Gets the SPARQL Variables used.
Declaration
public IEnumerable<SparqlVariable> SparqlVariables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<SparqlVariable> |
Remarks
If the Query supplied in the SparqlEvaluationContext is non-null then it's Variables are used rather than these.
Variables
Gets the Variables used in the Algebra.
Declaration
public IEnumerable<string> Variables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
Methods
| Edit this page View SourceAccept<T>(ISparqlAlgebraVisitor<T>)
Accept a simple algebra visitor.
Declaration
public T Accept<T>(ISparqlAlgebraVisitor<T> visitor)
Parameters
Type | Name | Description |
---|---|---|
ISparqlAlgebraVisitor<T> | visitor | The visitor implementation. |
Returns
Type | Description |
---|---|
T |
Type Parameters
Name | Description |
---|---|
T | The type returned by the Visit methods of the visitor. |
Accept<TResult, TContext>(ISparqlQueryAlgebraProcessor<TResult, TContext>, TContext)
Called by an algebra visitor to process an item by invoking the appropriate method on the processor
passed in.
Declaration
public TResult Accept<TResult, TContext>(ISparqlQueryAlgebraProcessor<TResult, TContext> processor, TContext context)
Parameters
Type | Name | Description |
---|---|---|
ISparqlQueryAlgebraProcessor<TResult, TContext> | processor | The processor to invoke. |
TContext | context | The context to pass to the processor. |
Returns
Type | Description |
---|---|
TResult | The result of invoking the processor method. |
Type Parameters
Name | Description |
---|---|
TResult | The type of result returned by the processor. |
TContext | The type of the context object to be provided to the processor. |
ToGraphPattern()
Throws an error as a Select() cannot be converted back to a Graph Pattern.
Declaration
public GraphPattern ToGraphPattern()
Returns
Type | Description |
---|---|
GraphPattern |
Exceptions
Type | Condition |
---|---|
NotSupportedException | Thrown since a Select() cannot be converted back to a Graph Pattern. |
ToQuery()
Converts the Algebra back to a SPARQL Query.
Declaration
public SparqlQuery ToQuery()
Returns
Type | Description |
---|---|
SparqlQuery |
ToString()
Gets the String representation of the Algebra.
Declaration
public override string ToString()
Returns
Type | Description |
---|---|
string |
Overrides
| Edit this page View SourceTransform(IAlgebraOptimiser)
Transforms the Inner Algebra using the given Optimiser.
Declaration
public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser)
Parameters
Type | Name | Description |
---|---|---|
IAlgebraOptimiser | optimiser | Optimiser. |
Returns
Type | Description |
---|---|
ISparqlAlgebra |