Skip to main content
Version: 0.3.0

QueryBuilder

age-schema-client v0.3.0


age-schema-client / QueryBuilder

Class: QueryBuilder<T>

Defined in: src/query/builder.ts:37

Query builder class

Extended by​

Type Parameters​

Type Parameter
T extends SchemaDefinition

Implements​

Constructors​

Constructor​

new QueryBuilder<T>(
schema,
queryExecutor,
graphName): QueryBuilder<T>;

Defined in: src/query/builder.ts:60

Create a new query builder

Parameters​

ParameterTypeDefault valueDescription
schemaTundefinedSchema definition
queryExecutorQueryExecutorundefinedQuery executor
graphNamestring'default'Graph name

Returns​

QueryBuilder<T>

Methods​

match()​

Implementation of the match method

Call Signature​

match<L>(label, alias): IMatchClause<T, L>;

Defined in: src/query/builder.ts:71

Add MATCH clause for a vertex

Type Parameters​
Type Parameter
L extends string | number | symbol
Parameters​
ParameterType
labelL
aliasstring
Returns​

IMatchClause<T, L>

Implementation of​

IQueryBuilder.match

Call Signature​

match<E>(
sourceAlias,
edgeLabel,
targetAlias): IEdgeMatchClause<T>;

Defined in: src/query/builder.ts:76

Add MATCH clause for an edge between two previously matched vertices

Type Parameters​
Type Parameter
E extends string | number | symbol
Parameters​
ParameterType
sourceAliasstring
edgeLabelE
targetAliasstring
Returns​

IEdgeMatchClause<T>

Implementation of​

IQueryBuilder.match

Call Signature​

match<E>(
sourceAlias,
edgeLabel,
targetAlias,
edgeAlias): IEdgeMatchClause<T>;

Defined in: src/query/builder.ts:85

Add MATCH clause for an edge between two previously matched vertices with an edge alias

Type Parameters​
Type Parameter
E extends string | number | symbol
Parameters​
ParameterType
sourceAliasstring
edgeLabelE
targetAliasstring
edgeAliasstring
Returns​

IEdgeMatchClause<T>

Implementation of​

IQueryBuilder.match


where()​

where(condition, params): this;

Defined in: src/query/builder.ts:234

Add WHERE clause

Parameters​

ParameterTypeDescription
conditionstringCondition expression
paramsRecord<string, any>Parameters

Returns​

this

This query builder

Implementation of​

IQueryBuilder.where


return()​

return(...expressions): this;

Defined in: src/query/builder.ts:278

Add RETURN clause

Parameters​

ParameterTypeDescription
...expressionsstring[]Return expressions

Returns​

this

This query builder

Implementation of​

IQueryBuilder.return


orderBy()​

orderBy(expression, direction): this;

Defined in: src/query/builder.ts:290

Add ORDER BY clause

Parameters​

ParameterTypeDefault valueDescription
expressionstringundefinedExpression to order by
directionOrderDirectionOrderDirection.ASCOrder direction

Returns​

this

This query builder

Implementation of​

IQueryBuilder.orderBy


limit()​

limit(count): this;

Defined in: src/query/builder.ts:311

Add LIMIT clause

Parameters​

ParameterTypeDescription
countnumberLimit count

Returns​

this

This query builder

Implementation of​

IQueryBuilder.limit


skip()​

skip(count): this;

Defined in: src/query/builder.ts:322

Add SKIP clause

Parameters​

ParameterTypeDescription
countnumberSkip count

Returns​

this

This query builder

Implementation of​

IQueryBuilder.skip


with()​

with(...expressions): this;

Defined in: src/query/builder.ts:333

Add WITH clause

Parameters​

ParameterTypeDescription
...expressionsstring[]With expressions

Returns​

this

This query builder

Implementation of​

IQueryBuilder.with


unwind()​

unwind(expression, alias): this;

Defined in: src/query/builder.ts:345

Add UNWIND clause

Parameters​

ParameterTypeDescription
expressionstringExpression to unwind
aliasstringAlias for unwound items

Returns​

this

This query builder

Implementation of​

IQueryBuilder.unwind


withParam()​

withParam(name, value): this;

Defined in: src/query/builder.ts:357

Add a parameter to the query

Parameters​

ParameterTypeDescription
namestringParameter name
valueanyParameter value

Returns​

this

This query builder

Implementation of​

IQueryBuilder.withParam


setParam()​

setParam(key, value): Promise<QueryBuilder<T>>;

Defined in: src/query/builder.ts:373

Set a parameter in the age_params temporary table

This method inserts a parameter into the age_params temporary table using an INSERT ON CONFLICT UPDATE statement. The parameter can then be referenced in a Cypher query using the get_age_param() function.

Parameters​

ParameterTypeDescription
keystringParameter key
valueanyParameter value (will be converted to JSON)

Returns​

Promise<QueryBuilder<T>>

This query builder

Implementation of​

IQueryBuilder.setParam


withParamFunction()​

withParamFunction(functionName, alias): this;

Defined in: src/query/builder.ts:398

Add a WITH clause that calls a function to get parameters

This is specifically for Apache AGE compatibility, as it requires parameters to be passed via a function call in a WITH clause.

Parameters​

ParameterTypeDescription
functionNamestringFully qualified function name (e.g., 'schema.get_params')
aliasstringAlias for the function result (e.g., 'params')

Returns​

this

This query builder

Implementation of​

IQueryBuilder.withParamFunction


withAgeParam()​

withAgeParam(key, alias): this;

Defined in: src/query/builder.ts:413

Add a WITH clause that calls the get_age_param function

This method adds a WITH clause that calls the get_age_param function to retrieve a parameter from the age_params temporary table.

Parameters​

ParameterTypeDescription
keystringParameter key to retrieve
aliasstringAlias for the parameter in the query

Returns​

this

This query builder

Implementation of​

IQueryBuilder.withAgeParam


withAllAgeParams()​

withAllAgeParams(alias): this;

Defined in: src/query/builder.ts:428

Add a WITH clause that calls the get_all_age_params function

This method adds a WITH clause that calls the get_all_age_params function to retrieve all parameters from the age_params temporary table.

Parameters​

ParameterTypeDefault valueDescription
aliasstring'params'Alias for the parameters object in the query

Returns​

this

This query builder

Implementation of​

IQueryBuilder.withAllAgeParams


execute()​

execute<R>(options): QueryBuilderResult<R>;

Defined in: src/query/builder.ts:441

Execute the query

Type Parameters​

Type ParameterDefault type
Rany

Parameters​

ParameterTypeDescription
optionsQueryExecutionOptionsQuery execution options

Returns​

QueryBuilderResult<R>

Query result

Throws​

Error if query validation fails

Implementation of​

IQueryBuilder.execute


reset()​

reset(): this;

Defined in: src/query/builder.ts:576

Reset the query builder state

Returns​

this

This query builder


toCypher()​

toCypher(): string;

Defined in: src/query/builder.ts:587

Get the Cypher query string

Returns​

string

Cypher query string

Implementation of​

IQueryBuilder.toCypher


getParameters()​

getParameters(): Record<string, any>;

Defined in: src/query/builder.ts:599

Get the query parameters

Returns​

Record<string, any>

Query parameters

Implementation of​

IQueryBuilder.getParameters


validateQuery()​

validateQuery(): string[];

Defined in: src/query/builder.ts:616

Validate the query against the schema

Returns​

string[]

Validation errors, if any