nxcypher-networkit
Copyright 2026 Gregorio Momm
This product includes software developed by the following projects and individuals:
================================================================================
petgraph - Graph data structure library
Copyright (c) 2015-2024 bluss and petgraph contributors
License: MIT OR Apache-2.0
https://github.com/petgraph/petgraph
This product uses petgraph for the PropertyGraph backend implementation.
================================================================================
NetworKit - Network analysis framework
Copyright (c) 2013-2024 NetworKit contributors
License: MIT
https://networkit.github.io/
This product includes algorithm implementations ported from NetworKit C++ to pure Rust.
The NetworKitRust backend is inspired by NetworKit's high-performance graph data structures.
Algorithms ported (reimplemented in Rust, not copied code):
- BFS (Breadth-First Search)
- DFS (Depth-First Search)
- Dijkstra's shortest path
- Connected components
- PageRank
- Betweenness centrality
- Closeness centrality
- Degree centrality
- Harmonic centrality
- Eigenvector centrality
- Katz centrality
- SSSP (Single-Source Shortest Path)
- APSP (All-Pairs Shortest Path)
- Weakly connected components
- Strongly connected components (Tarjan's algorithm)
- Bridge detection
- Articulation point detection
- Topological sort
These algorithms are industry-standard graph algorithms, and our implementations
are based on the algorithmic descriptions and design patterns from NetworKit,
adapted for Rust idioms and the Cypher query language.
================================================================================
rustworkx-core - IBM Qiskit graph algorithm library
Copyright (c) 2018-2024 IBM and rustworkx contributors
License: Apache-2.0
https://github.com/Qiskit/rustworkx
This product uses rustworkx-core for the RustworkxCore backend implementation,
providing access to 40+ enterprise-grade graph algorithms developed by the
IBM Qiskit team for quantum computing workflows.
================================================================================
graphrs - Rust graph library with community detection
Copyright (c) 2021-2024 Malcolm Reid and graphrs contributors
License: MIT
https://github.com/malcolmvr/graphrs
This product uses graphrs for the graphrs backend implementation,
providing community detection algorithms including Louvain and Leiden methods.
================================================================================
openCypher Test Compatibility Kit (TCK)
Copyright (c) 2015-2024 Neo4j, Inc. and openCypher contributors
License: Apache-2.0
https://github.com/opencypher/openCypher
This product includes test scenarios from the openCypher TCK to validate
Cypher query language compatibility.
================================================================================
Third-Party Algorithm References
The following algorithms are implementations based on published academic work
and are in the public domain or their patents have expired:
- Dijkstra's Algorithm (1959) - Edsger W. Dijkstra
"A note on two problems in connexion with graphs"
- PageRank (1998) - Larry Page, Sergey Brin, Rajeev Motwani, Terry Winograd
"The PageRank Citation Ranking: Bringing Order to the Web"
- Tarjan's Strongly Connected Components (1972) - Robert Tarjan
"Depth-first search and linear graph algorithms"
- Betweenness Centrality (2001) - Ulrik Brandes
"A faster algorithm for betweenness centrality"
These implementations are based on the algorithmic descriptions in the cited
papers and are not derived from any copyrighted source code.
================================================================================
Dependencies
This product depends on the following Rust crates, each with their own license:
Graph libraries:
- petgraph (MIT OR Apache-2.0) - Core graph data structure
- rustworkx-core (Apache-2.0) - IBM Qiskit graph algorithms
- graphrs (MIT) - Community detection algorithms
Other dependencies:
- cucumber (MIT OR Apache-2.0) - TCK test framework
- chrono (MIT OR Apache-2.0) - Temporal types and operations
- chrono-tz (MIT OR Apache-2.0) - Timezone support
- indexmap (MIT OR Apache-2.0) - Ordered maps
- rustc-hash (MIT OR Apache-2.0) - Fast hashing
- async-trait (MIT OR Apache-2.0) - Async traits
- futures (MIT OR Apache-2.0) - Async runtime
- thiserror (MIT OR Apache-2.0) - Error handling
- serde (MIT OR Apache-2.0) - Serialization
- serde_json (MIT OR Apache-2.0) - JSON support
- bincode (MIT) - Binary serialization
- regex (MIT OR Apache-2.0) - Regular expressions
- pest (MIT OR Apache-2.0) - Parser generator
- pest_derive (MIT OR Apache-2.0) - Parser macros
For a complete list of dependencies and their licenses, run:
cargo tree --format "{p} {l}"
All dependencies use MIT or Apache-2.0 licenses, which are compatible with
this project's Apache-2.0 license.
================================================================================
Cypher® is a registered trademark of Neo4j, Inc.
This project implements a Cypher query language processor but is not affiliated
with, endorsed by, or sponsored by Neo4j, Inc.
================================================================================