Class LazyUnion
Represents a Union.
Inheritance
Inherited Members
Namespace: VDS.RDF.Query.Algebra
Assembly: dotNetRdf.dll
Syntax
public class LazyUnion : IUnion, IAbstractJoin, ISparqlAlgebra, IVisitable, IProcessable
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Constructors
| Improve this Doc View SourceLazyUnion(ISparqlAlgebra, ISparqlAlgebra, int)
Creates a new Lazy Union.
Declaration
public LazyUnion(ISparqlAlgebra lhs, ISparqlAlgebra rhs, int requiredResults)
Parameters
| Type | Name | Description |
|---|---|---|
| ISparqlAlgebra | lhs | LHS Pattern. |
| ISparqlAlgebra | rhs | RHS Pattern. |
| int | requiredResults | The number of results that the Union should attempt to return. |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
LazyUnion(ISparqlAlgebra, ISparqlAlgebra)
Creates a new Lazy Union.
Declaration
public LazyUnion(ISparqlAlgebra lhs, ISparqlAlgebra rhs)
Parameters
| Type | Name | Description |
|---|---|---|
| ISparqlAlgebra | lhs | LHS Pattern. |
| ISparqlAlgebra | rhs | RHS Pattern. |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Properties
| Improve this Doc 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 |
|---|---|
| System.Collections.Generic.IEnumerable<T><string> |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
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 |
|---|---|
| System.Collections.Generic.IEnumerable<T><string> |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Lhs
Gets the LHS of the Join.
Declaration
public ISparqlAlgebra Lhs { get; }
Property Value
| Type | Description |
|---|---|
| ISparqlAlgebra |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
RequiredResults
Declaration
public int RequiredResults { get; }
Property Value
| Type | Description |
|---|---|
| int |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Rhs
Gets the RHS of the Join.
Declaration
public ISparqlAlgebra Rhs { get; }
Property Value
| Type | Description |
|---|---|
| ISparqlAlgebra |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Variables
Gets the Variables used in the Algebra.
Declaration
public IEnumerable<string> Variables { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.IEnumerable<T><string> |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Methods
| Improve this Doc View SourceAccept<T>(ISparqlAlgebraVisitor<T>)
Declaration
public T Accept<T>(ISparqlAlgebraVisitor<T> visitor)
Parameters
| Type | Name | Description |
|---|---|---|
| ISparqlAlgebraVisitor<T> | visitor |
Returns
| Type | Description |
|---|---|
| T |
Type Parameters
| Name | Description |
|---|---|
| T |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Accept<TResult, TContext>(ISparqlQueryAlgebraProcessor<TResult, TContext>, TContext)
Declaration
public TResult Accept<TResult, TContext>(ISparqlQueryAlgebraProcessor<TResult, TContext> processor, TContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| ISparqlQueryAlgebraProcessor<TResult, TContext> | processor | |
| TContext | context |
Returns
| Type | Description |
|---|---|
| TResult |
Type Parameters
| Name | Description |
|---|---|
| TResult | |
| TContext |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Evaluate(SparqlEvaluationContext)
Evaluates the Lazy Union.
Declaration
public BaseMultiset Evaluate(SparqlEvaluationContext context)
Parameters
| Type | Name | Description |
|---|---|---|
| SparqlEvaluationContext | context | Evaluation Context. |
Returns
| Type | Description |
|---|---|
| BaseMultiset |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
ToGraphPattern()
Converts the Union back to Graph Patterns.
Declaration
public GraphPattern ToGraphPattern()
Returns
| Type | Description |
|---|---|
| GraphPattern |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
ToQuery()
Converts the Algebra back to a SPARQL Query.
Declaration
public SparqlQuery ToQuery()
Returns
| Type | Description |
|---|---|
| SparqlQuery |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
ToString()
Gets the String representation of the Algebra.
Declaration
public override string ToString()
Returns
| Type | Description |
|---|---|
| string |
Overrides
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
Transform(IAlgebraOptimiser)
Transforms both sides of the Join using the given Optimiser.
Declaration
public ISparqlAlgebra Transform(IAlgebraOptimiser optimiser)
Parameters
| Type | Name | Description |
|---|---|---|
| IAlgebraOptimiser | optimiser | Optimser. |
Returns
| Type | Description |
|---|---|
| ISparqlAlgebra |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
TransformLhs(IAlgebraOptimiser)
Transforms the LHS of the Join using the given Optimiser.
Declaration
public ISparqlAlgebra TransformLhs(IAlgebraOptimiser optimiser)
Parameters
| Type | Name | Description |
|---|---|---|
| IAlgebraOptimiser | optimiser | Optimser. |
Returns
| Type | Description |
|---|---|
| ISparqlAlgebra |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.
TransformRhs(IAlgebraOptimiser)
Transforms the RHS of the Join using the given Optimiser.
Declaration
public ISparqlAlgebra TransformRhs(IAlgebraOptimiser optimiser)
Parameters
| Type | Name | Description |
|---|---|---|
| IAlgebraOptimiser | optimiser | Optimser. |
Returns
| Type | Description |
|---|---|
| ISparqlAlgebra |
Remarks
A Lazy Union differs from a standard Union in that if it finds sufficient solutions on the LHS it has no need to evaluate the RHS.