[][src]Crate gremlin_client

Experimental Rust client for Apache Tinkerpop Gremlin Server. The driver supports only the execution of raw Gremlin queries

You can use gremlin-client this lines in your Cargo.toml

[dependencies]
gremlin-client = "*"

Here it is an usage example:

    
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(())
}

Here it is an example with traversal:

    
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(())
}

Modules

process
structure

Structs

ConnectionOptions
Edge
GResultSet
GremlinClient
IntermediateRepr
List
Map

Represent a Map<GKey,GValue> which has ability to allow for non-String keys. TinkerPop type here

Metric
Path
Property
Token
TraversalExplanation
TraversalMetrics
Vertex
VertexProperty

Enums

GID
GKey

Possible key types in a Map

GValue

Represent possible values coming from the Gremlin Server

GremlinError

Traits

ToGValue

Type Definitions

GremlinResult