Show / Hide Table of Contents

Class SparqlQuery

Represents a SPARQL Query.
Inheritance
System.Object
NodeFactory
SparqlQuery
Implements
INodeFactory
Inherited Members
NodeFactory.CreateBlankNode()
NodeFactory.CreateBlankNode(String)
NodeFactory.CreateGraphLiteralNode()
NodeFactory.CreateGraphLiteralNode(IGraph)
NodeFactory.CreateLiteralNode(String, Uri)
NodeFactory.CreateLiteralNode(String)
NodeFactory.CreateLiteralNode(String, String)
NodeFactory.CreateUriNode(Uri)
NodeFactory.CreateVariableNode(String)
NodeFactory.GetNextBlankNodeID()
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)
Namespace: VDS.RDF.Query
Assembly: dotNetRDF.dll
Syntax
public sealed class SparqlQuery : NodeFactory, INodeFactory
Remarks

Note: This class is purposefully sealed and most setters are private/protected internal since generally you create a query by using the SparqlQueryParser to parse a query string/file.

To build a query programmatically you can use the QueryBuilder class to generate a new query and then various extension methods to modify that query using a fluent style API. A query is not immutable so if you use that API you are modifying the query, if you want to generate new queries by modifying an existing query consider using the Copy() method to take a copy of the existing query.

Properties

| Improve this Doc View Source

AlgebraOptimisers

Gets/Sets the locally scoped Algebra Optimisers that are used to optimise the Query Algebra in addition to (but before) any global optimisers (specified by AlgebraOptimisers) that are applied.
Declaration
public IEnumerable<IAlgebraOptimiser> AlgebraOptimisers { get; set; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IAlgebraOptimiser>
| Improve this Doc View Source

BaseUri

Gets/Sets the Base Uri for the Query.
Declaration
public Uri BaseUri { get; set; }
Property Value
Type Description
System.Uri
| Improve this Doc View Source

Bindings

Gets/Sets the VALUES Clause for the Query which are bindings that should be applied.
Declaration
public BindingsPattern Bindings { get; }
Property Value
Type Description
BindingsPattern
| Improve this Doc View Source

ConstructTemplate

Gets/Sets the Construct Template for a Construct Query.
Declaration
public GraphPattern ConstructTemplate { get; }
Property Value
Type Description
GraphPattern
| Improve this Doc View Source

DefaultGraphs

Gets the Default Graph URIs for the Query.
Declaration
public IEnumerable<Uri> DefaultGraphs { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.Uri>
| Improve this Doc View Source

Describer

Gets/Sets the ISparqlDescribe which provides the Describe algorithm you wish to use.
Declaration
public ISparqlDescribe Describer { get; set; }
Property Value
Type Description
ISparqlDescribe
Remarks
By default this will be the ConciseBoundedDescription (CBD) algorithm.
| Improve this Doc View Source

DescribeVariables

Gets the Variables, QNames and URIs used in the Describe Query.
Declaration
public IEnumerable<IToken> DescribeVariables { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IToken>
| Improve this Doc View Source

ExpressionFactories

Gets/Sets the locally scoped Expression Factories that may be used if the query is using the CALL() function to do dynamic function invocation.
Declaration
public IEnumerable<ISparqlCustomExpressionFactory> ExpressionFactories { get; set; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<ISparqlCustomExpressionFactory>
| Improve this Doc View Source

GroupBy

Gets/Sets the Grouping for the Query.
Declaration
public ISparqlGroupBy GroupBy { get; }
Property Value
Type Description
ISparqlGroupBy
| Improve this Doc View Source

HasDistinctModifier

Gets whether a Query has a DISTINCT modifier.
Declaration
public bool HasDistinctModifier { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

HasSolutionModifier

Gets whether the Query has a Solution Modifier (a GROUP BY, HAVING, ORDER BY, LIMIT or OFFSET).
Declaration
public bool HasSolutionModifier { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Having

Gets/Sets the Having Clause for the Query.
Declaration
public ISparqlFilter Having { get; }
Property Value
Type Description
ISparqlFilter
| Improve this Doc View Source

IsAggregate

Gets whether the Query has an Aggregate as its Result.
Declaration
public bool IsAggregate { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

IsOptimised

Gets whether Optimisation has been applied to the query.
Declaration
public bool IsOptimised { get; }
Property Value
Type Description
System.Boolean
Remarks
This only indicates that an Optimiser has been applied. You can always reoptimise the query using a different optimiser by using the relevant overload of the Optimise() method.
| Improve this Doc View Source

IsSubQuery

Gets whether this Query is a Sub-Query in another Query.
Declaration
public bool IsSubQuery { get; }
Property Value
Type Description
System.Boolean
| Improve this Doc View Source

Limit

Gets the Result Set Limit for the Query.
Declaration
public int Limit { get; set; }
Property Value
Type Description
System.Int32
Remarks
Values less than zero are counted as -1 which indicates no limit.
| Improve this Doc View Source

NamedGraphs

Gets the Named Graph URIs for the Query.
Declaration
public IEnumerable<Uri> NamedGraphs { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<System.Uri>
| Improve this Doc View Source

NamespaceMap

Gets the Namespace Map for the Query.
Declaration
public NamespaceMapper NamespaceMap { get; }
Property Value
Type Description
NamespaceMapper
| Improve this Doc View Source

Offset

Gets/Sets the Result Set Offset for the Query.
Declaration
public int Offset { get; set; }
Property Value
Type Description
System.Int32
Remarks
Values less than zero are treated as 0 which indicates no offset.
| Improve this Doc View Source

OrderBy

Gets/Sets the Ordering for the Query.
Declaration
public ISparqlOrderBy OrderBy { get; }
Property Value
Type Description
ISparqlOrderBy
| Improve this Doc View Source

PartialResultsOnTimeout

Gets/Sets whether Partial Results should be returned in the event of Query Timeout.
Declaration
public bool PartialResultsOnTimeout { get; set; }
Property Value
Type Description
System.Boolean
Remarks

Partial Results (typically) only applies when executing the Query in memory. If you have an instance of this class and pass its string representation (using ToString()) you will lose the partial results information as this is not serialisable in SPARQL syntax.

| Improve this Doc View Source

PropertyFunctionFactories

Gets/Sets the locally scoped Property Function factories that may be used by the PropertyFunctionOptimiser when generating the algebra for the query.
Declaration
public IEnumerable<IPropertyFunctionFactory> PropertyFunctionFactories { get; set; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<IPropertyFunctionFactory>
| Improve this Doc View Source

QueryExecutionTime

Gets the Time taken to execute a Query.
Declaration
public TimeSpan? QueryExecutionTime { get; set; }
Property Value
Type Description
System.Nullable<System.TimeSpan>
Exceptions
Type Condition
System.InvalidOperationException Thrown if you try and inspect the execution time before the Query has been executed.
| Improve this Doc View Source

QueryType

Gets the type of the Query.
Declaration
public SparqlQueryType QueryType { get; }
Property Value
Type Description
SparqlQueryType
| Improve this Doc View Source

RootGraphPattern

Gets the top level Graph Pattern of the Query.
Declaration
public GraphPattern RootGraphPattern { get; }
Property Value
Type Description
GraphPattern
| Improve this Doc View Source

SpecialType

Gets the Special Type of the Query (if any).
Declaration
public SparqlSpecialQueryType SpecialType { get; }
Property Value
Type Description
SparqlSpecialQueryType
| Improve this Doc View Source

Timeout

Gets/Sets the Query Execution Timeout in milliseconds.
Declaration
public long Timeout { get; set; }
Property Value
Type Description
System.Int64
Remarks

This Timeout (typically) only applies when executing the Query in memory. If you have an instance of this class and pass its string representation (using ToString()) you will lose the timeout information as this is not serialisable in SPARQL syntax.

| Improve this Doc View Source

UsesDefaultDataset

Gets whether a Query uses the Default Dataset against which it is evaluated.
Declaration
public bool UsesDefaultDataset { get; }
Property Value
Type Description
System.Boolean
Remarks

If the value is true then the Query will use whatever dataset is it evaluated against. If the value is false then the query changes the dataset at one/more points during its evaluation.

Things that may change the dataset and cause a query not to use the Default Dataset are as follows:.

  • FROM clauses (but not FROM NAMED)
  • GRAPH clauses
  • Subqueries which do not use the default dataset

| Improve this Doc View Source

Variables

Gets the Variables used in the Query.
Declaration
public IEnumerable<SparqlVariable> Variables { get; }
Property Value
Type Description
System.Collections.Generic.IEnumerable<SparqlVariable>
| Improve this Doc View Source

VirtualCount

The number of results that would be returned without any limit clause to a query or -1 if not supported. Defaults to the same value as the Count member.
Declaration
public int VirtualCount { get; }
Property Value
Type Description
System.Int32

Methods

| Improve this Doc View Source

AddDefaultGraph(Uri)

Adds a Default Graph URI.
Declaration
public void AddDefaultGraph(Uri u)
Parameters
Type Name Description
System.Uri u Graph URI.
| Improve this Doc View Source

AddNamedGraph(Uri)

Adds a Named Graph URI.
Declaration
public void AddNamedGraph(Uri u)
Parameters
Type Name Description
System.Uri u Graph URI.
| Improve this Doc View Source

ClearDefaultGraphs()

Removes all Default Graph URIs.
Declaration
public void ClearDefaultGraphs()
| Improve this Doc View Source

ClearNamedGraphs()

Removes all Named Graph URIs.
Declaration
public void ClearNamedGraphs()
| Improve this Doc View Source

Copy()

Creates a copy of the query.
Declaration
public SparqlQuery Copy()
Returns
Type Description
SparqlQuery
| Improve this Doc View Source

Evaluate(IInMemoryQueryableStore)

Evaluates the SPARQL Query against the given Triple Store.
Declaration
[Obsolete("This method is considered obsolete, you should create an ISparqlQueryProcessor instance and invoke the ProcessQuery() method instead", true)]
public object Evaluate(IInMemoryQueryableStore data)
Parameters
Type Name Description
IInMemoryQueryableStore data Triple Store.
Returns
Type Description
System.Object Either a SparqlResultSet or a Graph depending on the type of query executed.
| Improve this Doc View Source

Evaluate(IRdfHandler, ISparqlResultsHandler, IInMemoryQueryableStore)

Evaluates the SPARQL Query against the given Triple Store processing the results with the appropriate handler from those provided.
Declaration
[Obsolete("This method is considered obsolete, you should create an ISparqlQueryProcessor instance and invoke the ProcessQuery() method instead", true)]
public void Evaluate(IRdfHandler rdfHandler, ISparqlResultsHandler resultsHandler, IInMemoryQueryableStore data)
Parameters
Type Name Description
IRdfHandler rdfHandler RDF Handler.
ISparqlResultsHandler resultsHandler Results Handler.
IInMemoryQueryableStore data Triple Store.
| Improve this Doc View Source

Evaluate(IRdfHandler, ISparqlResultsHandler, ISparqlDataset)

Evaluates the SPARQL Query against the given Dataset processing the results with an appropriate handler form those provided.
Declaration
[Obsolete("This method is considered obsolete, you should create an ISparqlQueryProcessor instance and invoke the ProcessQuery() method instead", true)]
public void Evaluate(IRdfHandler rdfHandler, ISparqlResultsHandler resultsHandler, ISparqlDataset dataset)
Parameters
Type Name Description
IRdfHandler rdfHandler RDF Handler.
ISparqlResultsHandler resultsHandler Results Handler.
ISparqlDataset dataset Dataset.
| Improve this Doc View Source

Evaluate(ISparqlDataset)

Evaluates the SPARQL Query against the given Dataset.
Declaration
[Obsolete("This method is considered obsolete, you should create an ISparqlQueryProcessor instance and invoke the ProcessQuery() method instead", true)]
public object Evaluate(ISparqlDataset dataset)
Parameters
Type Name Description
ISparqlDataset dataset Dataset.
Returns
Type Description
System.Object Either a SparqlResultSet or a IGraph depending on the type of query executed.
| Improve this Doc View Source

Optimise()

Applies optimisation to a Query using the default global optimiser.
Declaration
public void Optimise()
| Improve this Doc View Source

Optimise(IQueryOptimiser)

Applies optimisation to a Query using the specific optimiser.
Declaration
public void Optimise(IQueryOptimiser optimiser)
Parameters
Type Name Description
IQueryOptimiser optimiser Query Optimiser.
| Improve this Doc View Source

Process(ISparqlQueryProcessor)

Processes the Query using the given Query Processor.
Declaration
public object Process(ISparqlQueryProcessor processor)
Parameters
Type Name Description
ISparqlQueryProcessor processor SPARQL Query Processor.
Returns
Type Description
System.Object
| Improve this Doc View Source

ToAlgebra()

Converts the Query into it's SPARQL Algebra representation (as represented in the Leviathan API).
Declaration
public ISparqlAlgebra ToAlgebra()
Returns
Type Description
ISparqlAlgebra
| Improve this Doc View Source

ToString()

Generates a String representation of the Query.
Declaration
public override string ToString()
Returns
Type Description
System.String
Overrides
System.Object.ToString()
Remarks
This method may not return a complete representation of the Query depending on the Query it is called on as not all the classes which can be included in a Sparql query currently implement ToString methods.

Implements

INodeFactory

Extension Methods

Extensions.AsEnumerable<T>(T)
  • Improve this Doc
  • View Source
In This Article
  • Properties
    • AlgebraOptimisers
    • BaseUri
    • Bindings
    • ConstructTemplate
    • DefaultGraphs
    • Describer
    • DescribeVariables
    • ExpressionFactories
    • GroupBy
    • HasDistinctModifier
    • HasSolutionModifier
    • Having
    • IsAggregate
    • IsOptimised
    • IsSubQuery
    • Limit
    • NamedGraphs
    • NamespaceMap
    • Offset
    • OrderBy
    • PartialResultsOnTimeout
    • PropertyFunctionFactories
    • QueryExecutionTime
    • QueryType
    • RootGraphPattern
    • SpecialType
    • Timeout
    • UsesDefaultDataset
    • Variables
    • VirtualCount
  • Methods
    • AddDefaultGraph(Uri)
    • AddNamedGraph(Uri)
    • ClearDefaultGraphs()
    • ClearNamedGraphs()
    • Copy()
    • Evaluate(IInMemoryQueryableStore)
    • Evaluate(IRdfHandler, ISparqlResultsHandler, IInMemoryQueryableStore)
    • Evaluate(IRdfHandler, ISparqlResultsHandler, ISparqlDataset)
    • Evaluate(ISparqlDataset)
    • Optimise()
    • Optimise(IQueryOptimiser)
    • Process(ISparqlQueryProcessor)
    • ToAlgebra()
    • ToString()
  • Implements
  • Extension Methods
Back to top Generated by DocFX