Neo4j Graph Data Science Docs
Docs
Neo4j DBMS
  • Getting Started
  • Operations
  • Migration and Upgrade
  • Status Codes
  • Java Reference
  • Kerberos Add-on
Neo4j Aura
  • Neo4j Aura
  • Neo4j AuraDB
  • Neo4j AuraDS
Neo4j Tools
  • Neo4j Bloom
  • Neo4j Browser
  • Neo4j Data Importer
  • Neo4j Desktop
  • Neo4j Ops Manager
Neo4j Graph Data Science
  • Neo4j Graph Data Science Library
Cypher Query Language
  • Cypher
  • Cypher Cheat Sheet
  • APOC Library
Create applications
  • Python Driver
  • Go Driver
  • Java Driver
  • JavaScript Driver
  • .Net Driver
  • Neo4j GraphQL Library
  • HTTP API
  • OGM Library
  • Spring Data Neo4j
  • Neo4j Connector for Apache Spark
  • Neo4j Connector for Apache Kafka
Labs
arrows.app
  • Details
  • arrows.app
APOC Extended
  • Documentation
  • Developer Guide
Halin
ETL Tool
  • Details
  • Documentation
Neo4j Migrations
  • Details
  • Documentation
Neo4j Plugin For Liquibase
  • Details
  • Documentation
Neosemantics
  • Getting Started
  • Documentation
Neo4j Helm
  • Details
  • Documentation
NeoDash
  • Details
  • Documentation
neomodel
  • Details
  • Documentation
Get Help
GraphAcademy
  • Free, Self Paced Training
  • Certification
Community Forum
Discord Chat
Knowledge Base
Neo4j Developer Blog
Neo4j Videos
Get Started Free
Search
Product Version
    • The Neo4j Graph Data Science Library Manual v2.4
    • Introduction
    • Installation
      • Supported Neo4j versions
      • Neo4j Desktop
      • Neo4j Server
      • Neo4j on Docker
      • GDS Enterprise Edition
      • Configure Apache Arrow server
      • System Requirements
    • Common usage
      • Memory Estimation
      • Projecting graphs
      • Running algorithms
      • Logging
      • Monitoring system
      • System Information
    • Graph management
      • Graph Catalog
        • Projecting graphs using native projections
        • Projecting graphs using Cypher (deprecated)
        • Projecting graphs using Cypher
        • Projecting graphs using Apache Arrow
        • Projecting a subgraph
        • Random walk with restarts sampling
        • Common Neighbour Aware Random Walk sampling
        • Random graph generation
        • Listing graphs
        • Check if a graph exists
        • Removing graphs
        • Node operations
        • Relationship operations
        • Export operations
        • Apache Arrow operations
      • Node Properties
      • Utility functions
      • Cypher on GDS graph
      • Administration
      • Backup and Restore
    • Graph algorithms
      • Syntax overview
      • Centrality
        • PageRank
        • Article Rank
        • Eigenvector Centrality
        • Betweenness Centrality
        • Degree Centrality
        • Closeness Centrality
        • Harmonic Centrality
        • HITS
        • CELF
      • Community detection
        • Louvain
        • Label Propagation
        • Weakly Connected Components
        • Triangle Count
        • Local Clustering Coefficient
        • K-Core Decomposition
        • K-1 Coloring
        • Modularity Optimization
        • Strongly Connected Components
        • Speaker-Listener Label Propagation
        • Approximate Maximum k-cut
        • Conductance metric
        • Modularity metric
        • K-Means Clustering
        • Leiden
      • Similarity
        • Node Similarity
        • Filtered Node Similarity
        • K-Nearest Neighbors
        • Filtered K-Nearest Neighbors
        • Similarity functions
      • Path finding
        • Delta-Stepping Single-Source Shortest Path
        • Dijkstra Source-Target Shortest Path
        • Dijkstra Single-Source Shortest Path
        • A* Shortest Path
        • Yen’s Shortest Path algorithm
        • Minimum Weight Spanning Tree
        • Minimum Weight k-Spanning Tree
        • Minimum Directed Steiner Tree
        • All Pairs Shortest Path
        • Random Walk
        • Breadth First Search
        • Depth First Search
        • Bellman-Ford Single-Source Shortest Path
      • Node embeddings
        • Fast Random Projection
        • GraphSAGE
        • Node2Vec
        • HashGNN
      • Topological link prediction
        • Adamic Adar
        • Common Neighbors
        • Preferential Attachment
        • Resource Allocation
        • Same Community
        • Total Neighbors
      • Auxiliary procedures
        • Collapse Path
        • Scale Properties
        • One Hot Encoding
        • Split Relationships
        • Random walk with restarts sampling
        • Common Neighbour Aware Random Walk sampling
      • Pregel API
    • Machine learning
      • Pre-processing
      • Node embeddings
        • Fast Random Projection
        • GraphSAGE
        • Node2Vec
        • HashGNN
      • Node property prediction
        • Node classification pipelines
          • Configuring the pipeline
          • Training the pipeline
          • Applying a trained model for prediction
        • Node regression pipelines
          • Configuring the pipeline
          • Training the pipeline
          • Applying a trained model for prediction
      • Link prediction pipelines
        • Configuring the pipeline
        • Training the pipeline
        • Applying a trained model for prediction
        • Theoretical considerations
      • Pipeline catalog
        • Listing pipelines
        • Checking if a pipeline exists
        • Removing pipelines
      • Model catalog
        • Listing models
        • Checking if a model exists
        • Removing models
        • Storing models on disk
        • Publishing models
      • Training methods
        • Logistic regression
        • Random forest
        • Multilayer Perceptron
        • Linear regression
      • Auto-tuning
    • End-to-end examples
      • FastRP and kNN example
    • Production deployment
      • Defaults and Limits
      • Transaction Handling
      • Using GDS and composite databases (formerly known as Fabric)
      • GDS with Neo4j cluster
      • GDS Configuration Settings
      • GDS Feature Toggles
    • Python client
    • Bloom visualization
    • Appendix
      • Operations reference
        • Graph Catalog
        • Graph Algorithms
        • Machine Learning
        • Additional Operations
        • Configuration Settings
      • Migration from Graph Data Science library Version 1.x
        • Common changes
        • Graph projection
        • Graph listing
        • Graph drop
        • Memory estimation
        • Algorithms
        • Machine Learning
      • Migration from Legacy to new Cypher projection
      • Migration from Alpha Cypher Aggregation to new Cypher projection
  • Neo4j Graph Data Science
  • Graph algorithms

Graph algorithms

The Neo4j Graph Data Science (GDS) library contains many graph algorithms. The algorithms are divided into categories which represent different problem classes. The categories are listed in this chapter.

This chapter is divided into the following sections:

  • Syntax overview

  • Centrality

  • Community detection

  • Similarity

  • Path finding

  • Node embeddings

  • Topological link prediction

  • Auxiliary procedures

  • Pregel API

Backup and Restore Syntax overview

Was this page helpful?

© 2023 Neo4j, Inc.
Terms | Privacy | Sitemap

Neo4j®, Neo Technology®, Cypher®, Neo4j® Bloom™ and Neo4j® Aura™ are registered trademarks of Neo4j, Inc. All other marks are owned by their respective companies.

Contact Us →

US: 1-855-636-4532
Sweden +46 171 480 113
UK: +44 20 3868 3223
France: +33 (0) 1 88 46 13 20

Learn

  • Sandbox
  • Neo4j Community Site
  • Neo4j Developer Blog
  • Neo4j Videos
  • GraphAcademy
  • Neo4j Labs

Social

  • Twitter
  • Meetups
  • Github
  • Stack Overflow
  • Want to Speak?