1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
//! 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` //! //! ```toml //! [dependencies] //! gremlin-client = "*" //! ``` //! //! Here it is an usage example: //! //! ```rust,no_run //! //! 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: //! //! ```rust,no_run //! //! 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(()) //!} //! //! //! ``` mod client; mod connection; mod conversion; mod error; mod io; mod message; mod pool; pub use client::GremlinClient; pub use connection::{ConnectionOptions, TlsOptions}; pub use conversion::ToGValue; pub use error::GremlinError; pub type GremlinResult<T> = Result<T, error::GremlinError>; pub use structure::{ Edge, GKey, GResultSet, GValue, IntermediateRepr, List, Map, Metric, Path, Property, Token, TraversalExplanation, TraversalMetrics, Vertex, VertexProperty, GID, }; pub mod process; pub mod structure; pub mod utils;