Skip to main content
Version: 0.3.0

AnalyticsMatchClause

age-schema-client v0.3.0


age-schema-client / AnalyticsMatchClause

Class: AnalyticsMatchClause<T, L>

Defined in: src/query/analytics.ts:27

Analytics match clause class

Extends the standard match clause with analytics capabilities

Extends

Extended by

Type Parameters

Type Parameter
T extends SchemaDefinition
L extends keyof T["vertices"]

Constructors

Constructor

new AnalyticsMatchClause<T, L>(
queryBuilder,
matchPart,
vertexPattern): AnalyticsMatchClause<T, L>;

Defined in: src/query/analytics.ts:38

Create a new analytics match clause

Parameters

ParameterTypeDescription
queryBuilderAnalyticsQueryBuilder<T>Query builder
matchPartMatchPartMatch part
vertexPatternVertexPatternVertex pattern

Returns

AnalyticsMatchClause<T, L>

Overrides

MatchClause.constructor

Methods

count()

count(
alias,
resultAlias,
distinct): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:55

Count vertices or edges

Parameters

ParameterTypeDefault valueDescription
aliasstringundefinedAlias of the vertex or edge to count
resultAliasstring'count'Alias for the count result (default: 'count')
distinctbooleanfalseWhether to count distinct elements (default: false)

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


sum()

sum(expression, resultAlias): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:69

Sum values of a property

Parameters

ParameterTypeDefault valueDescription
expressionstringundefinedExpression to sum (e.g., 'n.age')
resultAliasstring'sum'Alias for the sum result (default: 'sum')

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


avg()

avg(expression, resultAlias): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:82

Calculate average of a property

Parameters

ParameterTypeDefault valueDescription
expressionstringundefinedExpression to average (e.g., 'n.age')
resultAliasstring'avg'Alias for the average result (default: 'avg')

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


min()

min(expression, resultAlias): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:95

Find minimum value of a property

Parameters

ParameterTypeDefault valueDescription
expressionstringundefinedExpression to find minimum (e.g., 'n.age')
resultAliasstring'min'Alias for the minimum result (default: 'min')

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


max()

max(expression, resultAlias): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:108

Find maximum value of a property

Parameters

ParameterTypeDefault valueDescription
expressionstringundefinedExpression to find maximum (e.g., 'n.age')
resultAliasstring'max'Alias for the maximum result (default: 'max')

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


aggregate()

aggregate(
functionName,
expression,
resultAlias): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:122

Apply a custom aggregation function

Parameters

ParameterTypeDescription
functionNamestringAggregation function name
expressionstringExpression to aggregate
resultAliasstringAlias for the result

Returns

AnalyticsQueryBuilder<T>

The analytics query builder


match()

match<K>(label, alias): AnalyticsMatchClause<T, K>;

Defined in: src/query/analytics.ts:135

Add another match clause

Type Parameters

Type Parameter
K extends string | number | symbol

Parameters

ParameterTypeDescription
labelKVertex label
aliasstringVertex alias

Returns

AnalyticsMatchClause<T, K>

A new analytics match clause


where()

where(condition, params?): this;

Defined in: src/query/analytics.ts:147

Add WHERE clause

Parameters

ParameterTypeDescription
conditionstringCondition expression
params?Record<string, any>Parameters

Returns

this

This analytics match clause

Overrides

MatchClause.where


return()

return(...expressions): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:161

Add RETURN clause

Parameters

ParameterTypeDescription
...expressionsstring[]Return expressions

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


groupBy()

groupBy(...fields): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:173

Add GROUP BY clause

Parameters

ParameterTypeDescription
...fieldsstring[]Fields to group by

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


windowFunction()

windowFunction(
functionType,
resultAlias,
options): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:187

Add a window function to the query

Parameters

ParameterTypeDescription
functionTypestringWindow function type
resultAliasstringAlias for the window function result
optionsWindowFunctionOptionsWindow function options

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


rowNumber()

rowNumber(resultAlias, options): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:204

Add ROW_NUMBER window function

Parameters

ParameterTypeDescription
resultAliasstringAlias for the result
optionsWindowFunctionOptionsWindow function options

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


rank()

rank(resultAlias, options): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:217

Add RANK window function

Parameters

ParameterTypeDescription
resultAliasstringAlias for the result
optionsWindowFunctionOptionsWindow function options

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


denseRank()

denseRank(resultAlias, options): AnalyticsQueryBuilder<T>;

Defined in: src/query/analytics.ts:230

Add DENSE_RANK window function

Parameters

ParameterTypeDescription
resultAliasstringAlias for the result
optionsWindowFunctionOptionsWindow function options

Returns

AnalyticsQueryBuilder<T>

This analytics query builder


constraint()

constraint(properties): this;

Defined in: src/query/clauses.ts:49

Add property constraints to the vertex pattern

Parameters

ParameterTypeDescription
propertiesRecord<string, any>Object with property-value pairs

Returns

this

This match clause

Throws

Error if any property value is null, undefined, or NaN

Inherited from

MatchClause.constraint


outgoing()

outgoing<E>(
label,
alias,
targetLabel,
targetAlias): this;

Defined in: src/query/clauses.ts:98

Add outgoing edge

Type Parameters

Type Parameter
E extends string | number | symbol

Parameters

ParameterTypeDescription
labelEEdge label
aliasstringEdge alias
targetLabelkeyof T["vertices"]Target vertex label
targetAliasstringTarget vertex alias

Returns

this

This match clause

Inherited from

MatchClause.outgoing


incoming()

incoming<E>(
label,
alias,
sourceLabel,
sourceAlias): this;

Defined in: src/query/clauses.ts:148

Add incoming edge

Type Parameters

Type Parameter
E extends string | number | symbol

Parameters

ParameterTypeDescription
labelEEdge label
aliasstringEdge alias
sourceLabelkeyof T["vertices"]Source vertex label
sourceAliasstringSource vertex alias

Returns

this

This match clause

Inherited from

MatchClause.incoming


related<E>(
label,
alias,
otherLabel,
otherAlias): this;

Defined in: src/query/clauses.ts:198

Add bidirectional edge

Type Parameters

Type Parameter
E extends string | number | symbol

Parameters

ParameterTypeDescription
labelEEdge label
aliasstringEdge alias
otherLabelkeyof T["vertices"]Other vertex label
otherAliasstringOther vertex alias

Returns

this

This match clause

Inherited from

MatchClause.related


done()

done(): IQueryBuilder<T>;

Defined in: src/query/clauses.ts:244

Return to the main query builder

Returns

IQueryBuilder<T>

Query builder

Inherited from

MatchClause.done