A new universe for your graph data.Meet Galactus DB
GALACTUS DB WIKIDeployment · Queries · Operations

GDS algorithms and execution modes

Wiki / Graph data science

Algorithms and modes

All listed algorithms expose .stream, .stats, .mutate and .write:

Procedure prefixStream columnsAlgorithm configuration
gds.pageRanknodeId, scoremaxIterations, dampingFactor, tolerance, relationshipWeightProperty, sourceNodes, concurrency
gds.degreenodeId, scoreorientation, relationshipWeightProperty
gds.wccnodeId, componentIdthreshold, relationshipWeightProperty, consecutiveIds
gds.sccnodeId, componentIdconsecutiveIds
gds.labelPropagationnodeId, communityIdmaxIterations, relationshipWeightProperty, consecutiveIds
gds.leidennodeId, communityIdmaxLevels, gamma, theta, tolerance, randomSeed, relationshipWeightProperty, consecutiveIds
gds.louvainnodeId, communityIdmaxIterations, maxLevels, tolerance, relationshipWeightProperty, consecutiveIds
gds.triangleCountnodeId, triangleCountNo additional options
gds.localClusteringCoefficientnodeId, localClusteringCoefficientNo additional options
gds.betweennessnodeId, scoreExact, unweighted Brandes algorithm
gds.nodeSimilaritynode1, node2, similaritysimilarityMetric, similarityCutoff, degreeCutoff, upperDegreeCutoff, topK, topN
gds.knnnode1, node2, similaritynodeProperties, similarityCutoff, topK, randomSeed, sampleRate, maxIterations, deltaThreshold, randomJoins, exact, concurrency:1
gds.fastRPnodeId, embeddingembeddingDimension, iterationWeights, nodeSelfInfluence, normalizationStrength, randomSeed, relationshipWeightProperty, featureProperties, propertyRatio, concurrency

All accept nodeLabels and relationshipTypes filters. Leiden, Louvain, triangle count and local clustering require an undirected projection. Weights must be finite and non-negative. WCC includes isolated nodes. Community numbering is deterministic within GDB; compare partitions rather than numeric IDs across implementations. Louvain performs local moves and repeated weighted community aggregation. Intermediate-community output is not implemented.

stream returns rows; stats returns aggregate results. GDB's query result container still materialises rows. mutate adds a previously absent mutateProperty to projected nodes, while write writes writeProperty through the database's normal constraints, indexes, undo log and WAL. Pair algorithms instead need mutateRelationshipType or writeRelationshipType; their optional property name defaults to score. Stats include counts, computation timings and relevant distributions; write/mutate add timing and written-count columns.

CALL gds.wcc.stream('people') YIELD nodeId, componentId
RETURN gds.util.asNode(nodeId).name AS name, componentId;

CALL gds.louvain.write('people', {writeProperty: 'community'});
CALL gds.pageRank.mutate('people', {mutateProperty: 'rank'});
CALL gds.graph.nodeProperties.write('people', ['rank']);

Graph projections and catalogue · GDS resources and cancellation · Graph data science

Planning a deployment? Review compatibility and licence setup for your instance.