rust-nebula 0.0.2

A Rust client for NebulaGraph database.
Documentation
# 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.