
Neo4j Gds Skill
Run Neo4j Graph Data Science projections and core algorithms from Python or Cypher with memory estimation and embedding write-back patterns.
Install
npx skills add https://github.com/neo4j-contrib/neo4j-skills --skill neo4j-gds-skillWhat is this skill?
- Native and Cypher graph projection with stream/stats/mutate/write execution modes
- Core algorithms: PageRank, Louvain, WCC, Betweenness, Node Similarity, FastRP, KNN
- FastRP → KNN recommendation pipeline with embeddings written for vector index follow-up
- Memory estimation before large projections and catalog ops: project, list, drop, subgraph filter
- GDS Python client v2 with v1 fallback; documents OOM and licensing error mitigations
Adoption & trust: 1 installs on skills.sh; 80 GitHub stars; 3/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
Recommended Skills
Journey fit
GDS work lands in Build when you implement graph analytics, recommendations, and structural embeddings on an existing Neo4j backend—not distribution or production incident response. Backend is the primary shelf because the skill centers on server-side graph projection, algorithm modes, and the graphdatascience client against a DBMS.
Common Questions / FAQ
Is Neo4j Gds Skill safe to install?
skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.
SKILL.md
READMESKILL.md - Neo4j Gds Skill
# neo4j-gds-skill Agent skill for Neo4j Graph Data Science (GDS) embedded plugin through the Python client or Cypher. Use for Aura Pro, self-managed, local, or offline Neo4j DBMS with the GDS plugin installed. ## What this skill covers - Graph projection: native projection and Cypher projection - Execution modes: stream / stats / mutate / write and when to use each - Core algorithms: PageRank, Louvain, WCC, Betweenness Centrality, Node Similarity, FastRP, KNN - FastRP → KNN recommendation pipeline pattern - Writing node embeddings for Neo4j vector indexes / structural similarity search - Memory estimation before large projections and algorithm runs - GDS Python client (`graphdatascience`) — v2 connection, projection, algorithm calls; v1 fallback when needed - Graph catalog operations: project, list, drop, subgraph filter - Common errors and mitigations (OOM, missing properties, unlicensed algorithms) ## Compatibility - GDS Python client v1.21: GDS >= 2.6 and < 2.28 / < 2026.4 - Embedded GDS plugin: Neo4j >= 5.x self-managed/local or Aura Pro plugin workflows - Python >= 3.10 and < 3.15 - Neo4j Python Driver >= 4.4.12 and < 7.0 ## Not covered - **Cypher query authoring** → `neo4j-cypher-skill` - **Driver/connection setup** → `neo4j-driver-python-skill` - **Creating/querying vector indexes over written embeddings** → `neo4j-vector-index-skill` - **Aura Graph Analytics Sessions / AGA** → `neo4j-aura-graph-analytics-skill` ## Install ```bash pip install graphdatascience ``` ```bash npx skills add https://github.com/neo4j-contrib/neo4j-skills --skill neo4j-gds-skill ``` # GDS Algorithm Reference Core catalog of commonly used GDS procedures. Mode availability varies by algorithm; check `CALL gds.list()` or the algorithm syntax page before assuming `stream` / `stats` / `mutate` / `write`. Python client: prefer `gds.v2.*` endpoints and snake_case parameters. Procedure tables show Cypher procedure names. ## Centrality | Algorithm | Procedure | Best For | |---|---|---| | PageRank | `gds.pageRank` | Network influence via incoming links | | Betweenness Centrality | `gds.betweenness` | Bottleneck/bridge nodes | | Degree Centrality | `gds.degree` | Most-connected nodes (fast) | | ArticleRank | `gds.articleRank` | PageRank variant dampening high-degree nodes | | Eigenvector | `gds.eigenvector` | Influence via well-connected neighbors | | Closeness | `gds.closeness` | Average distance to all other nodes | | HITS | `gds.hits` | Authority/hub scores (web-like graphs) | ### PageRank — key parameters | V2 parameter | Cypher/v1 parameter | Default | Notes | |---|---|---|---| | `damping_factor` | `dampingFactor` | 0.85 | Probability of following a link; lower = more teleportation | | `max_iterations` | `maxIterations` | 20 | | | `tolerance` | `tolerance` | 1e-7 | Convergence threshold | | `relationship_weight_property` | `relationshipWeightProperty` | — | Optional weight property | Spider traps (closed groups, no outlinks) inflate scores — increase `dampingFactor`. Negative weights silently ignored. --- ## Community Detection | Algorithm | Procedure | Notes | |---|---|---| | Louvain | `gds.louvain` | Best general-purpose; modularity maximization | | Leiden | `gds.leiden` | Refinement of Louvain; avoids poorly connected communities | | WCC | `gds.wcc` | Weakly connected components; run first to partition graph | | SCC | `gds.scc` | Strongly connected components (directed graphs only) | | Label Propagation | `gds.labelPropagation` | Fast, large graphs; non-deterministic | | K-Core Decomposition | `gds.kcore` | Dense subgraphs by degree threshold | | Triangle Count | `gds.triangleCount` | Counts triangles per node; prerequisite for LCC | | Local Clustering Coefficient | `gds.localClusteringCoefficient` | Ratio of closed triangles | | K-Means | `gds.kmeans` | Requires node embedding properties as input | | HDBSCAN | `gds.hdbscan` | Density-based; finds variable-density communities | ### WCC parameters | Parameter | Notes | |---|--