Struct GremlinClient

Source
pub struct GremlinClient { /* private fields */ }

Implementations§

Source§

impl GremlinClient

Source§

impl GremlinClient

Source

pub fn connect<T>(options: T) -> GremlinResult<GremlinClient>

Examples found in repository?
examples/path.rs (line 4)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param).outE().inV().path()", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Path>())
10        .collect::<Result<Vec<Path>, _>>()?;
11
12    println!("{:#?}", results);
13
14    Ok(())
15}
More examples
Hide additional examples
examples/multithread.rs (line 5)
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5    let client = GremlinClient::connect("localhost")?;
6
7    let c = client.clone();
8
9    let result = thread::spawn(move || {
10        c.execute("g.V(param)", &[("param", &1)])?
11            .filter_map(Result::ok)
12            .map(|f| f.take::<Vertex>())
13            .collect::<Result<Vec<Vertex>, _>>()
14    });
15
16    println!("{:?}", result.join());
17
18    Ok(())
19}
examples/traversal.rs (line 4)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let g = traversal().with_remote(client);
7
8    let vertices = g
9        .v(())
10        .has_label("person")
11        .has(("name", "marko"))
12        .to_list()?;
13
14    println!("{:?}", vertices);
15
16    let friends = g
17        .v(())
18        .has_label("person")
19        .has(("name", "marko"))
20        .out("knows")
21        .to_list()?;
22
23    println!("{:?}", friends);
24
25    Ok(())
26}
examples/vertex.rs (line 4)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param)", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Vertex>())
10        .collect::<Result<Vec<Vertex>, _>>()?;
11
12    println!("Vertex count: {}", results.len());
13
14    let vertex = &results[0];
15
16    println!(
17        "Vertex with id: [{}] and label: [{}]",
18        vertex.id().get::<i64>()?,
19        vertex.label()
20    );
21
22    Ok(())
23}
examples/connection_options.rs (lines 4-11)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect(
5        ConnectionOptions::builder()
6            .host("localhost")
7            .port(8182)
8            .pool_size(1)
9            .credentials("stephen", "password")
10            .build(),
11    )?;
12
13    let results = client
14        .execute("g.V(param)", &[("param", &1)])?
15        .filter_map(Result::ok)
16        .map(|f| f.take::<Vertex>())
17        .collect::<Result<Vec<Vertex>, _>>()?;
18
19    println!("{:?}", results);
20
21    Ok(())
22}
examples/edge_properties.rs (line 4)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param).outE().properties()", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Property>())
10        .collect::<Result<Vec<Property>, _>>()?;
11
12    println!("{:?}", results);
13
14    let results = client
15        .execute("g.V(param).outE().propertyMap()", &[("param", &1)])?
16        .filter_map(Result::ok)
17        .map(|f| f.take::<Map>())
18        .collect::<Result<Vec<Map>, _>>()?;
19
20    println!("{:?}", results);
21
22    Ok(())
23}
Source

pub fn create_session(&mut self, name: String) -> GremlinResult<GremlinClient>

Source

pub fn alias<T>(&self, alias: T) -> GremlinClient
where T: Into<String>,

Return a cloned client with the provided alias

Source

pub fn execute<T>( &self, script: T, params: &[(&str, &dyn ToGValue)], ) -> GremlinResult<GResultSet>
where T: Into<String>,

Examples found in repository?
examples/path.rs (line 7)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param).outE().inV().path()", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Path>())
10        .collect::<Result<Vec<Path>, _>>()?;
11
12    println!("{:#?}", results);
13
14    Ok(())
15}
More examples
Hide additional examples
examples/multithread.rs (line 10)
4fn main() -> Result<(), Box<dyn std::error::Error>> {
5    let client = GremlinClient::connect("localhost")?;
6
7    let c = client.clone();
8
9    let result = thread::spawn(move || {
10        c.execute("g.V(param)", &[("param", &1)])?
11            .filter_map(Result::ok)
12            .map(|f| f.take::<Vertex>())
13            .collect::<Result<Vec<Vertex>, _>>()
14    });
15
16    println!("{:?}", result.join());
17
18    Ok(())
19}
examples/vertex.rs (line 7)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param)", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Vertex>())
10        .collect::<Result<Vec<Vertex>, _>>()?;
11
12    println!("Vertex count: {}", results.len());
13
14    let vertex = &results[0];
15
16    println!(
17        "Vertex with id: [{}] and label: [{}]",
18        vertex.id().get::<i64>()?,
19        vertex.label()
20    );
21
22    Ok(())
23}
examples/connection_options.rs (line 14)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect(
5        ConnectionOptions::builder()
6            .host("localhost")
7            .port(8182)
8            .pool_size(1)
9            .credentials("stephen", "password")
10            .build(),
11    )?;
12
13    let results = client
14        .execute("g.V(param)", &[("param", &1)])?
15        .filter_map(Result::ok)
16        .map(|f| f.take::<Vertex>())
17        .collect::<Result<Vec<Vertex>, _>>()?;
18
19    println!("{:?}", results);
20
21    Ok(())
22}
examples/edge_properties.rs (line 7)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    let results = client
7        .execute("g.V(param).outE().properties()", &[("param", &1)])?
8        .filter_map(Result::ok)
9        .map(|f| f.take::<Property>())
10        .collect::<Result<Vec<Property>, _>>()?;
11
12    println!("{:?}", results);
13
14    let results = client
15        .execute("g.V(param).outE().propertyMap()", &[("param", &1)])?
16        .filter_map(Result::ok)
17        .map(|f| f.take::<Map>())
18        .collect::<Result<Vec<Map>, _>>()?;
19
20    println!("{:?}", results);
21
22    Ok(())
23}
examples/edge.rs (line 8)
3fn main() -> Result<(), Box<dyn std::error::Error>> {
4    let client = GremlinClient::connect("localhost")?;
5
6    // Find outgoing edges for V[1]
7    let results = client
8        .execute("g.V(param).outE()", &[("param", &1)])?
9        .filter_map(Result::ok)
10        .map(|f| f.take::<Edge>())
11        .collect::<Result<Vec<Edge>, _>>()?;
12
13    println!("Edges count {}", results.len());
14
15    let first = &results[0];
16
17    println!(
18        "Edge with id: [{}] and label: [{}] from: [{}] to: [{}]",
19        first.id().get::<i32>()?,
20        first.label(),
21        first.out_v().id().get::<i64>()?,
22        first.in_v().id().get::<i64>()?
23    );
24
25    Ok(())
26}
Source

pub fn generate_message( &self, bytecode: &Bytecode, ) -> GremlinResult<Message<Value>>

Trait Implementations§

Source§

impl Clone for GremlinClient

Source§

fn clone(&self) -> GremlinClient

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for GremlinClient

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> ErasedDestructor for T
where T: 'static,