Class BaseTriplePattern
Base class for representing all types of Triple Patterns in SPARQL queries.
Inheritance
Inherited Members
Namespace: VDS.RDF.Query.Patterns
Assembly: dotNetRdf.dll
Syntax
public abstract class BaseTriplePattern : ITriplePattern, IComparable<ITriplePattern>, IProcessable, IVisitable
Fields
| Edit this page View Source_vars
Stores the list of variables that are used in the Pattern.
Declaration
protected List<string> _vars
Field Value
Type | Description |
---|---|
List<string> |
Properties
| Edit this page View SourceFixedVariables
Gets the enumeration of fixed variables in the pattern i.e. variables that are guaranteed to have a bound value.
Declaration
public abstract IEnumerable<string> FixedVariables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
FloatingVariables
Gets the enumeration of floating variables in the pattern i.e. variables that are not guaranteed to have a bound value.
Declaration
public abstract IEnumerable<string> FloatingVariables { get; }
Property Value
Type | Description |
---|---|
IEnumerable<string> |
HasNoBlankVariables
Gets whether the Pattern has no blank variables.
Declaration
public abstract bool HasNoBlankVariables { get; }
Property Value
Type | Description |
---|---|
bool |
IsAcceptAll
Returns whether the Triple Pattern is an accept all.
Declaration
public abstract bool IsAcceptAll { get; }
Property Value
Type | Description |
---|---|
bool |
PatternType
Gets the Triple Pattern Type.
Declaration
public abstract TriplePatternType PatternType { get; }
Property Value
Type | Description |
---|---|
TriplePatternType |
UsesDefaultDataset
Gets whether a Triple Pattern is Thread Safe when evaluated.
Declaration
public virtual bool UsesDefaultDataset { get; }
Property Value
Type | Description |
---|---|
bool |
Remarks
Almost all Triple Patterns are Thread Safe unless they are sub-query patterns which themselves are not thread safe.
Variables
Gets the List of Variables used in the Pattern.
Declaration
public List<string> Variables { get; }
Property Value
Type | Description |
---|---|
List<string> |
Remarks
These are sorted in alphabetical order.
Methods
| Edit this page View SourceAccept<T>(ISparqlAlgebraVisitor<T>)
Accept a simple algebra visitor.
Declaration
public abstract 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 abstract 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. |
CompareTo(ITriplePattern)
Compares a Triple Pattern to another Triple Pattern.
Declaration
public virtual int CompareTo(ITriplePattern other)
Parameters
Type | Name | Description |
---|---|---|
ITriplePattern | other | Other Triple Pattern. |
Returns
Type | Description |
---|---|
int |
Remarks
The aim of this function is to sort Triple Patterns into what is hopefully an optimal order such that during execution the query space is restricted as early as possible.
The basic rules of this are as follows:.
- Patterns with fewer variables should be executed first
- Patterns using the same variables should be executed in sequence
- Patterns using indexes which are considered more useful should be executed first
ToString()
Gets the String representation of the Pattern.
Declaration
public override abstract string ToString()
Returns
Type | Description |
---|---|
string |