Skip to main content
Version: 0.3.0

AlgorithmMatchClause

age-schema-client v0.3.0


age-schema-client / AlgorithmMatchClause

Class: AlgorithmMatchClause<T, L>

Defined in: src/query/algorithms.ts:126

Algorithm match clause class

Extends the analytics match clause with graph algorithm capabilities

Extends

Type Parameters

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

Constructors

Constructor

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

Defined in: src/query/algorithms.ts:137

Create a new algorithm match clause

Parameters

ParameterTypeDescription
queryBuilderAlgorithmQueryBuilder<T>Query builder
matchPartMatchPartMatch part
vertexPatternVertexPatternVertex pattern

Returns

AlgorithmMatchClause<T, L>

Overrides

AnalyticsMatchClause.constructor

Methods

shortestPath()

shortestPath(
startAlias,
endAlias,
resultAlias,
options): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:155

Find the shortest path between two vertices

Parameters

ParameterTypeDefault valueDescription
startAliasstringundefinedStart vertex alias
endAliasstringundefinedEnd vertex alias
resultAliasstring'path'Result path alias
optionsPathFindingOptions{}Path finding options

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


allShortestPaths()

allShortestPaths(
startAlias,
endAlias,
resultAlias,
options): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:175

Find all shortest paths between two vertices

Parameters

ParameterTypeDefault valueDescription
startAliasstringundefinedStart vertex alias
endAliasstringundefinedEnd vertex alias
resultAliasstring'paths'Result paths alias
optionsPathFindingOptions{}Path finding options

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


dijkstra()

dijkstra(
startAlias,
endAlias,
costProperty,
resultAlias,
options): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:196

Find the shortest weighted path between two vertices using Dijkstra's algorithm

Parameters

ParameterTypeDefault valueDescription
startAliasstringundefinedStart vertex alias
endAliasstringundefinedEnd vertex alias
costPropertystringundefinedRelationship property to use as cost
resultAliasstring'path'Result path alias
optionsPathFindingOptions{}Path finding options

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


betweennessCentrality()

betweennessCentrality(
vertexAlias,
resultAlias,
options): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:216

Calculate betweenness centrality for vertices

Parameters

ParameterTypeDefault valueDescription
vertexAliasstringundefinedVertex alias
resultAliasstring'centrality'Result alias
optionsCentralityOptions{}Centrality options

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


pageRank()

pageRank(
vertexAlias,
resultAlias,
dampingFactor,
iterations): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:235

Calculate PageRank for vertices

Parameters

ParameterTypeDefault valueDescription
vertexAliasstringundefinedVertex alias
resultAliasstring'pagerank'Result alias
dampingFactornumber0.85Damping factor (default: 0.85)
iterationsnumber20Number of iterations (default: 20)

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


louvain()

louvain(
vertexAlias,
resultAlias,
options): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:254

Detect communities using the Louvain method

Parameters

ParameterTypeDefault valueDescription
vertexAliasstringundefinedVertex alias
resultAliasstring'community'Result alias
optionsCommunityDetectionOptions{}Community detection options

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


extractNodes()

extractNodes(pathAlias, resultAlias): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:271

Extract nodes from a path

Parameters

ParameterTypeDefault valueDescription
pathAliasstring'path'Path alias
resultAliasstring'nodes'Result alias

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


extractRelationships()

extractRelationships(pathAlias, resultAlias): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:287

Extract relationships from a path

Parameters

ParameterTypeDefault valueDescription
pathAliasstring'path'Path alias
resultAliasstring'relationships'Result alias

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


pathLength()

pathLength(pathAlias, resultAlias): AlgorithmQueryBuilder<T>;

Defined in: src/query/algorithms.ts:303

Calculate the length of a path

Parameters

ParameterTypeDefault valueDescription
pathAliasstring'path'Path alias
resultAliasstring'length'Result alias

Returns

AlgorithmQueryBuilder<T>

This algorithm query builder


match()

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

Defined in: src/query/algorithms.ts:319

Add another match clause

Type Parameters

Type Parameter
K extends string | number | symbol

Parameters

ParameterTypeDescription
labelKVertex label
aliasstringVertex alias

Returns

AlgorithmMatchClause<T, K>

A new algorithm match clause

Overrides

AnalyticsMatchClause.match


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

Inherited from

AnalyticsMatchClause.count


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

Inherited from

AnalyticsMatchClause.sum


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

Inherited from

AnalyticsMatchClause.avg


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

Inherited from

AnalyticsMatchClause.min


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

Inherited from

AnalyticsMatchClause.max


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

Inherited from

AnalyticsMatchClause.aggregate


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

Inherited from

AnalyticsMatchClause.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

Inherited from

AnalyticsMatchClause.return


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

Inherited from

AnalyticsMatchClause.groupBy


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

Inherited from

AnalyticsMatchClause.windowFunction


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

Inherited from

AnalyticsMatchClause.rowNumber


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

Inherited from

AnalyticsMatchClause.rank


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

Inherited from

AnalyticsMatchClause.denseRank


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

AnalyticsMatchClause.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

AnalyticsMatchClause.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

AnalyticsMatchClause.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

AnalyticsMatchClause.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

AnalyticsMatchClause.done