A variadic parameter mixing bare values and arrays of values in a single argument list.
Combines SPARQL update operations into a single request.
Generates a SPARQL DELETE update removing triples from the graph store.
Generates a SPARQL INSERT update adding triples to the graph store.
Generates a SPARQL WITH update scoping an operation to a named graph.
Generates SPARQL USING clauses declaring an update's default-graph dataset.
Generates SPARQL USING NAMED clauses adding named graphs to an update dataset.
Generates a SPARQL ASK query.
Generates a SPARQL SELECT query.
Generates a SPARQL distinct modifier over a projection or aggregate argument.
Generates a SPARQL reduced modifier over a projection.
Generates the SPARQL * projection wildcard.
Generates a SPARQL projection alias, naming a computed expression as a result variable.
Generates SPARQL FROM clauses declaring a query's default-graph dataset.
Generates SPARQL FROM NAMED clauses adding named graphs to a query dataset.
Generates a SPARQL GROUP BY clause.
Generates a SPARQL HAVING clause.
Generates a SPARQL ORDER BY clause.
Generates a SPARQL asc() ascending order condition.
Generates a SPARQL desc() descending order condition.
Generates a SPARQL LIMIT clause.
Generates a SPARQL OFFSET clause.
Generates a SPARQL WHERE clause.
Generates a SPARQL UNION pattern.
Generates a SPARQL OPTIONAL group pattern.
Generates a SPARQL group graph pattern.
Generates a SPARQL MINUS pattern.
Generates a SPARQL GRAPH block scoping patterns to a named graph.
Generates a SPARQL SERVICE block delegating patterns to a federated endpoint.
Generates a SPARQL VALUES inline-data block.
Generates a single SPARQL fragment by joining clauses.
Assembles a SPARQL subject predicate object . statement from pre-rendered terms.
Generates a SPARQL FILTER constraint.
Generates a SPARQL bind clause, assigning a computed expression to a variable in the WHERE body.
Generates an empty SPARQL fragment.
Generates a SPARQL sequence property path.
Generates a SPARQL alternative property path.
Generates a SPARQL inverse property path.
Generates a SPARQL zero-or-more (*) property path.
Generates a SPARQL one-or-more (+) property path.
Generates a SPARQL zero-or-one (?) property path.
Generates a SPARQL none property set.
Generates a SPARQL logical negation (!) of a boolean expression.
Generates a SPARQL logical conjunction (&&) of boolean expressions.
Generates a SPARQL logical disjunction (||) of boolean expressions.
Generates a SPARQL equality (=) comparison.
Generates a SPARQL inequality (!=) comparison.
Generates a SPARQL greater-than (>) comparison.
Generates a SPARQL less-than (<) comparison.
Generates a SPARQL greater-than-or-equal (>=) comparison.
Generates a SPARQL less-than-or-equal (<=) comparison.
Generates a SPARQL addition (+) of two numeric expressions.
Generates a SPARQL subtraction (-) of two numeric expressions.
Generates a SPARQL multiplication (*) of two numeric expressions.
Generates a SPARQL division (/) of two numeric expressions.
Generates a SPARQL if() conditional expression.
Generates a SPARQL coalesce() call returning the first argument that evaluates without error.
Generates a SPARQL bound() variable-binding test.
Generates a SPARQL set-membership (IN) test.
Generates a SPARQL set-non-membership (NOT IN) test.
Generates a SPARQL exists graph-pattern test.
Generates a SPARQL not exists graph-pattern test.
Generates a SPARQL function call from a function name and argument expressions.
Generates a SPARQL str() call rendering a term's lexical form as a plain literal.
Generates a SPARQL lang() call extracting a literal's language tag.
Generates a SPARQL datatype() call extracting a literal's datatype IRI.
Generates a SPARQL isblank() term-kind test.
Generates a SPARQL isiri() term-kind test.
Generates a SPARQL isliteral() term-kind test.
Generates a SPARQL isnumeric() term-kind test.
Generates a SPARQL sameterm() identity test.
Generates a SPARQL iri() call constructing an IRI from a string expression.
Generates a SPARQL bnode() call minting a blank node.
Generates a SPARQL strdt() call constructing a datatype-annotated literal.
Generates a SPARQL strlang() call constructing a language-tagged literal.
Generates a SPARQL uuid() call minting a fresh UUID IRI.
Generates a SPARQL struuid() call minting a fresh UUID string.
Generates a SPARQL strlen() call returning a string's length.
Generates a SPARQL substr() call extracting a substring.
Generates a SPARQL ucase() call upper-casing a string.
Generates a SPARQL lcase() call lower-casing a string.
Generates a SPARQL strstarts() call testing a string prefix.
Generates a SPARQL strends() call testing a string suffix.
Generates a SPARQL contains() call testing for a substring.
Generates a SPARQL strbefore() call returning the portion before a substring.
Generates a SPARQL strafter() call returning the portion after a substring.
Generates a SPARQL encode_for_uri() call percent-encoding a string.
Generates a SPARQL concat() call joining string expressions.
Generates a SPARQL langmatches() call testing a language tag against a range.
Generates a SPARQL regex() call testing a string against a pattern.
Generates a SPARQL replace() call substituting pattern matches.
Generates a SPARQL abs() call returning a number's absolute value.
Generates a SPARQL round() call rounding a number to the nearest integer.
Generates a SPARQL ceil() call rounding a number up to an integer.
Generates a SPARQL floor() call rounding a number down to an integer.
Generates a SPARQL rand() call returning a random number.
Generates a SPARQL now() call returning the query execution timestamp.
Generates a SPARQL year() call extracting a dateTime's year.
Generates a SPARQL month() call extracting a dateTime's month.
Generates a SPARQL day() call extracting a dateTime's day.
Generates a SPARQL hours() call extracting a dateTime's hours.
Generates a SPARQL minutes() call extracting a dateTime's minutes.
Generates a SPARQL seconds() call extracting a dateTime's seconds.
Generates a SPARQL timezone() call extracting a dateTime's timezone as a duration.
Generates a SPARQL tz() call extracting a dateTime's timezone as a string.
Generates a SPARQL md5() call returning a string's MD5 digest.
Generates a SPARQL sha1() call returning a string's SHA-1 digest.
Generates a SPARQL sha256() call returning a string's SHA-256 digest.
Generates a SPARQL sha384() call returning a string's SHA-384 digest.
Generates a SPARQL sha512() call returning a string's SHA-512 digest.
Generates a SPARQL count() aggregate.
Generates a SPARQL sum() aggregate.
Generates a SPARQL min() aggregate.
Generates a SPARQL max() aggregate.
Generates a SPARQL avg() aggregate.
Generates a SPARQL sample() aggregate.
Generates a SPARQL group_concat() aggregate.
Generates SPARQL triple patterns from a Pattern sequence.
Generates a SPARQL triple pattern.
Generates SPARQL triple data from a Triple sequence.
Generates the SPARQL representation of a single Triple.
Generates the SPARQL representation of a Variable.
Generates the SPARQL representation of a Term.
Generates the SPARQL representation of a blank node.
Generates the SPARQL IRIREF for an IRI.
Generates the SPARQL representation of a boolean value.
Generates the SPARQL representation of a numeric value.
Generates the SPARQL representation of a string value.
Generates a language-tagged RDF literal.
Generates a datatype-annotated RDF literal.
Builders for SPARQL queries and updates.
Provides composable combinators that assemble SPARQL request strings from typed fragments: update operations, graph patterns, property paths, expressions, aggregates, solution modifiers, and the serialisers that render RDF terms into their SPARQL lexical forms. Every combinator takes and returns SPARQL fragments, so clauses nest by ordinary function composition into a complete query or update.
Term content is escaped wherever the grammar defines an escape and validated wherever it does not, so no value rendered through the serialisers can break out of the token carrying it.
Blank-node labels are the exception:
BLANK_NODE_LABELdefines no escape and blank performs no check, so a malformed label breaks the fragment carrying it rather than rendering as data.Types
Updates
Queries
Graph patterns
Property paths
Expressions
Built-in functions
Aggregates
Serialisers
Usage
Combinators nest as plain expressions, so a whole request is written as one composition:
See