Show / Hide Table of Contents

Class QueryBuilder

Provides methods for building queries with a fluent style API.

Inheritance
object
QueryBuilder
Implements
IQueryBuilder
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: VDS.RDF.Query.Builder
Assembly: dotNetRdf.dll
Syntax
public class QueryBuilder : IQueryBuilder
Remarks

A SparqlQuery is mutable by definition so calling any of the extension methods in this API will cause the existing query it is called on to be changed. You can call Copy() on an existing query to create a new copy if you want to make different queries starting from the same base query.

Constructors

| Edit this page View Source

QueryBuilder(SparqlQueryType)

Create a new query builder for a specific type of SPARQL query.

Declaration
protected QueryBuilder(SparqlQueryType sparqlQueryType)
Parameters
Type Name Description
SparqlQueryType sparqlQueryType

The type of SPARQL query to build.

Properties

| Edit this page View Source

Prefixes

Gets or sets the namespace mappings for the SPARQL query being built.

Declaration
public INamespaceMapper Prefixes { get; set; }
Property Value
Type Description
INamespaceMapper
| Edit this page View Source

QueryType

Gets the query type of the generated SPARQL query.

Declaration
public SparqlQueryType QueryType { get; protected set; }
Property Value
Type Description
SparqlQueryType
| Edit this page View Source

Root

Gets the builder associated with the root graph pattern.

Declaration
public IGraphPatternBuilder Root { get; }
Property Value
Type Description
IGraphPatternBuilder
| Edit this page View Source

RootGraphPatternBuilder

Gets the builder associated with the root graph pattern.

Declaration
public GraphPatternBuilder RootGraphPatternBuilder { get; }
Property Value
Type Description
GraphPatternBuilder

Methods

| Edit this page View Source

Ask()

Creates a new ASK query.

Declaration
public static IQueryBuilder Ask()
Returns
Type Description
IQueryBuilder
| Edit this page View Source

Bind(Func<INonAggregateExpressionBuilder, SparqlExpression>)

Adds a BIND variable assignment to the root graph pattern.

Declaration
public IAssignmentVariableNamePart<IQueryBuilder> Bind(Func<INonAggregateExpressionBuilder, SparqlExpression> buildAssignmentExpression)
Parameters
Type Name Description
Func<INonAggregateExpressionBuilder, SparqlExpression> buildAssignmentExpression
Returns
Type Description
IAssignmentVariableNamePart<IQueryBuilder>
| Edit this page View Source

BuildQuery()

Builds and returns a SparqlQuery.

Declaration
public SparqlQuery BuildQuery()
Returns
Type Description
SparqlQuery
| Edit this page View Source

BuildQuery(SparqlQuery)

Performs the internal build process for a SparqlQuery.

Declaration
protected virtual SparqlQuery BuildQuery(SparqlQuery query)
Parameters
Type Name Description
SparqlQuery query

The query to be processed.

Returns
Type Description
SparqlQuery
| Edit this page View Source

Construct()

Creates a new CONSTRUCT WHERE query.

Declaration
public static IQueryBuilder Construct()
Returns
Type Description
IQueryBuilder
| Edit this page View Source

Construct(Action<IDescribeGraphPatternBuilder>)

Creates a new CONSTRUCT query.

Declaration
public static IQueryBuilder Construct(Action<IDescribeGraphPatternBuilder> buildConstructTemplate)
Parameters
Type Name Description
Action<IDescribeGraphPatternBuilder> buildConstructTemplate
Returns
Type Description
IQueryBuilder
| Edit this page View Source

Describe(params string[])

Creates a new query, which will DESCRIBE the given variables.

Declaration
public static IDescribeBuilder Describe(params string[] variables)
Parameters
Type Name Description
string[] variables
Returns
Type Description
IDescribeBuilder
| Edit this page View Source

Describe(params Uri[])

Creates a new query, which will DESCRIBE the given uris.

Declaration
public static IDescribeBuilder Describe(params Uri[] uris)
Parameters
Type Name Description
Uri[] uris
Returns
Type Description
IDescribeBuilder
| Edit this page View Source

GroupBy(Func<INonAggregateExpressionBuilder, SparqlExpression>)

Adds a GROUP BY clause to the query.

Declaration
public IQueryBuilder GroupBy(Func<INonAggregateExpressionBuilder, SparqlExpression> buildGroupingExpression)
Parameters
Type Name Description
Func<INonAggregateExpressionBuilder, SparqlExpression> buildGroupingExpression
Returns
Type Description
IQueryBuilder
| Edit this page View Source

GroupBy(string)

Adds a GROUP BY clause to the query.

Declaration
public IQueryBuilder GroupBy(string variableName)
Parameters
Type Name Description
string variableName
Returns
Type Description
IQueryBuilder
| Edit this page View Source

GroupBy(SparqlVariable)

Adds a GROUP BY clause to the query.

Declaration
public IQueryBuilder GroupBy(SparqlVariable variable)
Parameters
Type Name Description
SparqlVariable variable
Returns
Type Description
IQueryBuilder
| Edit this page View Source

Having(Func<IExpressionBuilder, BooleanExpression>)

Adds a HAVING clause to the query.

Declaration
public IQueryBuilder Having(Func<IExpressionBuilder, BooleanExpression> buildHavingConstraint)
Parameters
Type Name Description
Func<IExpressionBuilder, BooleanExpression> buildHavingConstraint
Returns
Type Description
IQueryBuilder
| Edit this page View Source

InlineDataOverQuery(params string[])

Adds a VALUES inline data block to the entire query (outside graph patterns).

Declaration
public IInlineDataBuilder InlineDataOverQuery(params string[] variables)
Parameters
Type Name Description
string[] variables
Returns
Type Description
IInlineDataBuilder
| Edit this page View Source

Limit(int)

Applies a LIMIT.

Declaration
public IQueryBuilder Limit(int limit)
Parameters
Type Name Description
int limit

Limit value. Pass negative to disable LIMIT.

Returns
Type Description
IQueryBuilder
| Edit this page View Source

Offset(int)

Applies an OFFSET.

Declaration
public IQueryBuilder Offset(int offset)
Parameters
Type Name Description
int offset
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderBy(Func<IExpressionBuilder, SparqlExpression>)

Adds ascending ordering by an expression to the query.

Declaration
public IQueryBuilder OrderBy(Func<IExpressionBuilder, SparqlExpression> buildOrderExpression)
Parameters
Type Name Description
Func<IExpressionBuilder, SparqlExpression> buildOrderExpression
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderBy(string)

Adds ascending ordering by a variable to the query.

Declaration
public IQueryBuilder OrderBy(string variableName)
Parameters
Type Name Description
string variableName
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderBy(SparqlVariable)

Adds ascending ordering by a variable to the query.

Declaration
public IQueryBuilder OrderBy(SparqlVariable variable)
Parameters
Type Name Description
SparqlVariable variable
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderByDescending(Func<IExpressionBuilder, SparqlExpression>)

Adds descending ordering by an expression to the query.

Declaration
public IQueryBuilder OrderByDescending(Func<IExpressionBuilder, SparqlExpression> buildOrderExpression)
Parameters
Type Name Description
Func<IExpressionBuilder, SparqlExpression> buildOrderExpression
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderByDescending(string)

Adds descending ordering by a variable to the query.

Declaration
public IQueryBuilder OrderByDescending(string variableName)
Parameters
Type Name Description
string variableName
Returns
Type Description
IQueryBuilder
| Edit this page View Source

OrderByDescending(SparqlVariable)

Adds descending ordering by a variable to the query.

Declaration
public IQueryBuilder OrderByDescending(SparqlVariable variable)
Parameters
Type Name Description
SparqlVariable variable
Returns
Type Description
IQueryBuilder
| Edit this page View Source

Select(params string[])

Creates a new SELECT query which will return the given variables.

Declaration
public static ISelectBuilder Select(params string[] variables)
Parameters
Type Name Description
string[] variables

query result variables.

Returns
Type Description
ISelectBuilder
| Edit this page View Source

Select(params SparqlVariable[])

Creates a new SELECT query which will return the given variables.

Declaration
public static ISelectBuilder Select(params SparqlVariable[] variables)
Parameters
Type Name Description
SparqlVariable[] variables

query result variables.

Returns
Type Description
ISelectBuilder
| Edit this page View Source

SelectAll()

Creates a new SELECT * query.

Declaration
public static ISelectBuilder SelectAll()
Returns
Type Description
ISelectBuilder
| Edit this page View Source

Select<TExpression>(Func<IExpressionBuilder, PrimaryExpression<TExpression>>)

Creates a new SELECT query which will return an expression.

Declaration
public static IAssignmentVariableNamePart<ISelectBuilder> Select<TExpression>(Func<IExpressionBuilder, PrimaryExpression<TExpression>> buildAssignmentExpression)
Parameters
Type Name Description
Func<IExpressionBuilder, PrimaryExpression<TExpression>> buildAssignmentExpression
Returns
Type Description
IAssignmentVariableNamePart<ISelectBuilder>
Type Parameters
Name Description
TExpression

Implements

IQueryBuilder

Extension Methods

Extensions.ToSafeString(object)
QueryBuilderExtensions.Bind(IQueryBuilder, Func<INonAggregateExpressionBuilder, SparqlExpression>)
QueryBuilderExtensions.Child(IQueryBuilder, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.Child(IQueryBuilder, IQueryBuilder)
QueryBuilderExtensions.Filter(IQueryBuilder, Func<INonAggregateExpressionBuilder, BooleanExpression>)
QueryBuilderExtensions.Filter(IQueryBuilder, ISparqlExpression)
QueryBuilderExtensions.Graph(IQueryBuilder, string, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.Graph(IQueryBuilder, Uri, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.InlineData(IQueryBuilder, params string[])
QueryBuilderExtensions.Minus(IQueryBuilder, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.Optional(IQueryBuilder, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.Service(IQueryBuilder, Uri, Action<IGraphPatternBuilder>)
QueryBuilderExtensions.Union(IQueryBuilder, Action<IGraphPatternBuilder>, params Action<IGraphPatternBuilder>[])
QueryBuilderExtensions.Union(IQueryBuilder, GraphPatternBuilder, params GraphPatternBuilder[])
QueryBuilderExtensions.Where(IQueryBuilder, Action<ITriplePatternBuilder>)
QueryBuilderExtensions.Where(IQueryBuilder, params ITriplePattern[])
Extensions.AsEnumerable<T>(T)
  • Edit this page
  • View Source
In this article
  • Constructors
    • QueryBuilder(SparqlQueryType)
  • Properties
    • Prefixes
    • QueryType
    • Root
    • RootGraphPatternBuilder
  • Methods
    • Ask()
    • Bind(Func<INonAggregateExpressionBuilder, SparqlExpression>)
    • BuildQuery()
    • BuildQuery(SparqlQuery)
    • Construct()
    • Construct(Action<IDescribeGraphPatternBuilder>)
    • Describe(params string[])
    • Describe(params Uri[])
    • GroupBy(Func<INonAggregateExpressionBuilder, SparqlExpression>)
    • GroupBy(string)
    • GroupBy(SparqlVariable)
    • Having(Func<IExpressionBuilder, BooleanExpression>)
    • InlineDataOverQuery(params string[])
    • Limit(int)
    • Offset(int)
    • OrderBy(Func<IExpressionBuilder, SparqlExpression>)
    • OrderBy(string)
    • OrderBy(SparqlVariable)
    • OrderByDescending(Func<IExpressionBuilder, SparqlExpression>)
    • OrderByDescending(string)
    • OrderByDescending(SparqlVariable)
    • Select(params string[])
    • Select(params SparqlVariable[])
    • SelectAll()
    • Select<TExpression>(Func<IExpressionBuilder, PrimaryExpression<TExpression>>)
  • Implements
  • Extension Methods
Back to top Generated by DocFX