Neo4rs
Neo4rs is a native rust driver implemented using bolt 4.1 specification
Getting Started
//Run a query
let uri = "127.0.0.1:7687".to_owned;
let user = "neo4j";
let pass = "neo";
let graph = new.await.unwrap;
assert!;
//Concurrent queries
let uri = "127.0.0.1:7687";
let user = "neo4j";
let pass = "neo";
let graph = new;
for _ in 1..=42
//Transactions
let mut txn = graph.start_txn.await.unwrap;
txn.run_queries
.await
.unwrap;
txn.commit.await.unwrap; //or txn.rollback().await.unwrap();
//Create and parse relationship
let mut result = graph
.execute
.await
.unwrap;
let row = result.next.await.unwrap.unwrap;
let relation: Relation = row.get.unwrap;
assert!;
assert!;
assert!;
assert_eq!;
assert_eq!;
Installation
neo4rs is available on crates.io and can be included in your Cargo enabled project like this:
[]
= "0.2.3"
Roadmap
- bolt protocol
- stream abstraction
- query.run() vs query.execute() abstraction
- respect "has_more" flag returned for PULL
- connection pooling
- explicit transactions
- use buffered TCP streams
- query & transaction macros/dsl
- improve logging
- add support for older versions of the protocol
- multi db support
- support data types
- Float
- Bytes
- support structures
- Relationship
- UnboundedRelationship
- Path
- Date
- Time
- LocalTime
- DateTime
- DateTimeZoneId
- LocalDateTime
- Duration
- Point2D
- Point3D