Skip to content

Support most common graph algorithms #3515

@lvca

Description

@lvca
  │          Algorithm          │                Class(es)                 │ SQL │ Cypher │                                Description                                │ Complexity │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ Bellman-Ford                │ SQLFunctionBellmanFord / AlgoBellmanFord │ ✅  │   ✅   │ Shortest path supporting negative edge weights; detects negative cycles   │ O(V·E)     │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ PageRank                    │ AlgoPageRank                             │ ❌  │   ✅   │ Ranks nodes by importance based on incoming link structure (iterative)    │ O(k·(V+E)) │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ Betweenness Centrality      │ AlgoBetweenness                          │ ❌  │   ✅   │ Measures how often a node lies on shortest paths between other nodes      │ O(V·E)     │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ Weakly Connected Components │ AlgoWCC                                  │ ❌  │   ✅   │ Finds groups of nodes reachable from each other ignoring edge direction   │ O(V+E)     │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ Louvain Community Detection │ AlgoLouvain                              │ ❌  │   ✅   │ Detects communities by maximizing modularity through iterative merging    │ O(V·log V) │
  ├─────────────────────────────┼──────────────────────────────────────────┼─────┼────────┼───────────────────────────────────────────────────────────────────────────┼────────────┤
  │ Label Propagation           │ AlgoLabelPropagation                     │ ❌  │   ✅   │ Detects communities by iteratively spreading labels to majority neighbors │ O(k·(V+E)) │
  └─────────────────────────────┴──────────────────────────────────────────┴─────┴────────┴───────────────────────────────────────────────────────────────────────────┴────────────┘

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions