A Rust client for Apache TinkerPop™.
Install from crates.io
[dependencies]
gremlin_client = "0.2.0"
Execute a simple Gremlin query with an id and collect the results
use gremlin_client::{GremlinClient, Vertex};
fn main() -> Result<(), Box<std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let results = client
.execute("g.V(param)", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Vertex>())
.collect::<Result<Vec<Vertex>, _>>()?;
println!("{:?}", results);
Ok(())
}
Create a remote traversal with the provided GremlinClient
and build a traversal
using Rust language.
use gremlin_client::{GremlinClient, Vertex, process::traversal::traversal};
fn main() -> Result<(), Box<std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let g = traversal().with_remote(client);
let results = g.v(()).has_label("person").has(("name","Jon")).to_list()?;
println!("{:?}", results);
Ok(())
}
git clone https://github.com/wolf4ood/gremlin-rs.git
cd gremlin-rs
cargo build
Some tests run against a running instance of Gremlin Server with a sample in-memory graph installed.
You can use docker-compose to start an instance for testing. Use the env variable GREMLIN_SERVER
in order to specify the version of the Gremlin Server
cd docker-compose
export GREMLIN_SERVER=3.4.0
docker-compose up -d
cd ..
cargo test