pub struct QueryBuilder<'session> { /* private fields */ }Expand description
Fluent API for building GQL queries
QueryBuilder provides a convenient way to construct complex GQL queries without manually concatenating strings.
§Examples
// Using the builder
let result = session.query_builder()
.match_pattern("(p:Person)")
.where_clause("p.age > 25")
.return_clause("p.name, p.age")
.execute()?;
// Equivalent to:
// "MATCH (p:Person) WHERE p.age > 25 RETURN p.name, p.age"Implementations§
Source§impl<'session> QueryBuilder<'session>
impl<'session> QueryBuilder<'session>
Sourcepub fn match_pattern(self, pattern: &str) -> Self
pub fn match_pattern(self, pattern: &str) -> Self
Sourcepub fn where_clause(self, condition: &str) -> Self
pub fn where_clause(self, condition: &str) -> Self
Add a WHERE clause condition
Can be called multiple times - conditions are AND’ed together.
§Arguments
condition- Condition to add (without the WHERE keyword)
§Examples
session.query_builder()
.match_pattern("(p:Person)")
.where_clause("p.age > 25")
.where_clause("p.name STARTS WITH 'A'")
.return_clause("p");Sourcepub fn with_clause(self, clause: &str) -> Self
pub fn with_clause(self, clause: &str) -> Self
Sourcepub fn return_clause(self, clause: &str) -> Self
pub fn return_clause(self, clause: &str) -> Self
Sourcepub fn build(&self) -> Result<String>
pub fn build(&self) -> Result<String>
Build the query string without executing
Returns the constructed GQL query as a string.
§Examples
let query = session.query_builder()
.match_pattern("(p:Person)")
.where_clause("p.age > 25")
.return_clause("p.name")
.build()?;
assert_eq!(query, "MATCH (p:Person) WHERE p.age > 25 RETURN p.name");Sourcepub fn execute(&self) -> Result<QueryResult>
pub fn execute(&self) -> Result<QueryResult>
Execute the query and return results
Builds and executes the query in one step.
§Examples
let result = session.query_builder()
.match_pattern("(p:Person)")
.where_clause("p.age > 25")
.return_clause("p.name, p.age")
.limit(10)
.execute()?;
for row in result.rows() {
println!("{:?}", row);
}Auto Trait Implementations§
impl<'session> Freeze for QueryBuilder<'session>
impl<'session> RefUnwindSafe for QueryBuilder<'session>
impl<'session> Send for QueryBuilder<'session>
impl<'session> Sync for QueryBuilder<'session>
impl<'session> Unpin for QueryBuilder<'session>
impl<'session> UnsafeUnpin for QueryBuilder<'session>
impl<'session> UnwindSafe for QueryBuilder<'session>
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