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