Struct gremlin_client::GremlinClient
source · pub struct GremlinClient { /* private fields */ }
Implementations§
source§impl GremlinClient
impl GremlinClient
pub fn close_session(&mut self) -> GremlinResult<GResultSet>
source§impl GremlinClient
impl GremlinClient
sourcepub fn connect<T>(options: T) -> GremlinResult<GremlinClient>where
T: Into<ConnectionOptions>,
pub fn connect<T>(options: T) -> GremlinResult<GremlinClient>where
T: Into<ConnectionOptions>,
Examples found in repository?
examples/path.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let results = client
.execute("g.V(param).outE().inV().path()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Path>())
.collect::<Result<Vec<Path>, _>>()?;
println!("{:#?}", results);
Ok(())
}
More examples
examples/multithread.rs (line 5)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let c = client.clone();
let result = thread::spawn(move || {
c.execute("g.V(param)", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Vertex>())
.collect::<Result<Vec<Vertex>, _>>()
});
println!("{:?}", result.join());
Ok(())
}
examples/traversal.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let g = traversal().with_remote(client);
let vertices = g
.v(())
.has_label("person")
.has(("name", "marko"))
.to_list()?;
println!("{:?}", vertices);
let friends = g
.v(())
.has_label("person")
.has(("name", "marko"))
.out("knows")
.to_list()?;
println!("{:?}", friends);
Ok(())
}
examples/vertex.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn 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!("Vertex count: {}", results.len());
let vertex = &results[0];
println!(
"Vertex with id: [{}] and label: [{}]",
vertex.id().get::<i64>()?,
vertex.label()
);
Ok(())
}
examples/connection_options.rs (lines 4-11)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect(
ConnectionOptions::builder()
.host("localhost")
.port(8182)
.pool_size(1)
.credentials("stephen", "password")
.build(),
)?;
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(())
}
examples/edge_properties.rs (line 4)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let results = client
.execute("g.V(param).outE().properties()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Property>())
.collect::<Result<Vec<Property>, _>>()?;
println!("{:?}", results);
let results = client
.execute("g.V(param).outE().propertyMap()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Map>())
.collect::<Result<Vec<Map>, _>>()?;
println!("{:?}", results);
Ok(())
}
Additional examples can be found in:
pub fn create_session(&mut self, name: String) -> GremlinResult<GremlinClient>
sourcepub fn alias<T>(&self, alias: T) -> GremlinClient
pub fn alias<T>(&self, alias: T) -> GremlinClient
Return a cloned client with the provided alias
sourcepub fn execute<T>(
&self,
script: T,
params: &[(&str, &dyn ToGValue)]
) -> GremlinResult<GResultSet>
pub fn execute<T>( &self, script: T, params: &[(&str, &dyn ToGValue)] ) -> GremlinResult<GResultSet>
Examples found in repository?
examples/path.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let results = client
.execute("g.V(param).outE().inV().path()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Path>())
.collect::<Result<Vec<Path>, _>>()?;
println!("{:#?}", results);
Ok(())
}
More examples
examples/multithread.rs (line 10)
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let c = client.clone();
let result = thread::spawn(move || {
c.execute("g.V(param)", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Vertex>())
.collect::<Result<Vec<Vertex>, _>>()
});
println!("{:?}", result.join());
Ok(())
}
examples/vertex.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn 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!("Vertex count: {}", results.len());
let vertex = &results[0];
println!(
"Vertex with id: [{}] and label: [{}]",
vertex.id().get::<i64>()?,
vertex.label()
);
Ok(())
}
examples/connection_options.rs (line 14)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect(
ConnectionOptions::builder()
.host("localhost")
.port(8182)
.pool_size(1)
.credentials("stephen", "password")
.build(),
)?;
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(())
}
examples/edge_properties.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
let results = client
.execute("g.V(param).outE().properties()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Property>())
.collect::<Result<Vec<Property>, _>>()?;
println!("{:?}", results);
let results = client
.execute("g.V(param).outE().propertyMap()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Map>())
.collect::<Result<Vec<Map>, _>>()?;
println!("{:?}", results);
Ok(())
}
examples/edge.rs (line 8)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() -> Result<(), Box<dyn std::error::Error>> {
let client = GremlinClient::connect("localhost")?;
// Find outgoing edges for V[1]
let results = client
.execute("g.V(param).outE()", &[("param", &1)])?
.filter_map(Result::ok)
.map(|f| f.take::<Edge>())
.collect::<Result<Vec<Edge>, _>>()?;
println!("Edges count {}", results.len());
let first = &results[0];
println!(
"Edge with id: [{}] and label: [{}] from: [{}] to: [{}]",
first.id().get::<i32>()?,
first.label(),
first.out_v().id().get::<i64>()?,
first.in_v().id().get::<i64>()?
);
Ok(())
}
Additional examples can be found in:
pub fn generate_message( &self, bytecode: &Bytecode ) -> GremlinResult<Message<Value>>
Trait Implementations§
source§impl Clone for GremlinClient
impl Clone for GremlinClient
source§fn clone(&self) -> GremlinClient
fn clone(&self) -> GremlinClient
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl Freeze for GremlinClient
impl !RefUnwindSafe for GremlinClient
impl Send for GremlinClient
impl Sync for GremlinClient
impl Unpin for GremlinClient
impl !UnwindSafe for GremlinClient
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more