https://github.com/nebula-contrib/rust-nebula
NebulaGraph Rust Client
https://github.com/nebula-contrib/rust-nebula
graphdatabase nebulagraph rust
Last synced: 12 months ago
JSON representation
NebulaGraph Rust Client
- Host: GitHub
- URL: https://github.com/nebula-contrib/rust-nebula
- Owner: nebula-contrib
- Created: 2024-07-23T10:54:48.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-12T13:14:53.000Z (over 1 year ago)
- Last Synced: 2025-06-04T23:33:22.862Z (12 months ago)
- Topics: graphdatabase, nebulagraph, rust
- Language: Rust
- Homepage:
- Size: 56.6 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rust-nebula
`rust-nebula` is a Rust client for developers to connect to NebulaGraph. `rust-nebula` only supports NebulaGraph which uses V3 protocol now.
## What we can achieve
NebulaGraph is composed of three services: Graph service, Meta service, and Storage service, which is an architecture that separates storage and computing.
Refer to [nebula-go](https://github.com/vesoft-inc/nebula-go) and [nebula-python](https://github.com/vesoft-inc/nebula-python), we have implemented Graph Client, Meta Client and Storage Client:
* Graph Client: It supports all nGQL query. For most users, they only need this client to finish jobs.
* Meta Client: It's used to obtain some storaged info so that Storage Client can do `scan` op.
* Storage Client: It could scan existed vertex and edge, and generally, it's prepared for large-scale data science engineering and data migration in the intranet.
## Examples
It has some examples in [examples](examples/).
## Todo
This repo is under construction. Welcome everyone to actively participate in improving the rust client and achieving more functions!
- [ ] Make value wrapper provide comprehensive support for all data types in NebualGraph.
- [ ] Robust error handling mechanism for value wrapper.
- [ ] A good session pool for Graph Client, perhaps Storage Client and Meta Client could also use it
- [ ] More commonly used instructions encapsulation for Graph Client, such as create tag/vertex, show tag/vertex etc.
- [ ] Iterator for GraphQueryOutput and StorageQueryOutput.
- [ ] Stream for StorageScanOutput.
- [ ] More unit tests and code comments.
## Reference
Part of the code in this project refers to the [bk-rs/nebula-rs](https://github.com/bk-rs/nebula-rs) and [vesoft-inc/nebula-rust](https://github.com/vesoft-inc/nebula-rust) project. Thank you for the authors' open source contribution.