Skip to content

Support most common graph algorithms #3515

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)) │
  └─────────────────────────────┴──────────────────────────────────────────┴─────┴────────┴───────────────────────────────────────────────────────────────────────────┴────────────┘

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions