Skip to content

feat: Implement GDS (Graph Data Science) Extension #352

@longbinlai

Description

@longbinlai

What problem does this solve?

Implement the GDS (Graph Data Science) extension for NeuG based on the design specification in PR #64 (feat: Add GDS Design Spec).

This issue tracks the implementation of graph algorithm capabilities in NeuG, enabling users to:

  1. Install/Load extensions - INSTALL EXTENSION gds, LOAD EXTENSION gds
  2. Project subgraphs - CALL project_graph(g, {node_spec}, {edge_spec}) - zero-copy graph projection
  3. Run graph algorithms - CALL algo_name(g, params) YIELD columns

Scope

Extension Infrastructure

  • Extension registry and lifecycle management
  • Extension build system (shared libraries)

Graph Projection

  • ProjectedSubgraph data structure (zero-copy, store labels + predicates)
  • Session-level subgraph context
  • CALL project_graph implementation

Graph Algorithms (8 total)

  • PageRank, Connected Components, Label Propagation, Leiden
  • Louvain, Weakly Connected Components, Shortest Path, BFS

Integration

  • GDSAlgo physical plan operator
  • Cypher parser support for CALL ... YIELD ... syntax
  • Integration with existing execution pipeline

Design Spec

See specs/004-gds/spec.md (1120+ lines, from PR #64) for full design details.

Related

Metadata

Metadata

Labels

No fields configured for Feature.

Projects

Status
To do

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions