6 个版本 (稳定版)
2.0.2 | 2023年9月11日 |
---|---|
2.0.1 | 2023年2月26日 |
2.0.0 | 2022年7月3日 |
1.0.0 | 2021年10月10日 |
0.1.1 | 2020年8月25日 |
590 在 数据库接口 中排名
每月下载量 109
480KB
12K SLoC
rsmgclient - Rust Memgraph 客户端
rsmgclient
是 Rust 编程语言的 Memgraph 数据库适配器。该 rsmgclient
crate 是适配器的当前实现。它通过围绕 mgclient(官方 Memgraph C/C++ 客户端库)进行封装来实现。
安装
先决条件
从 crates.io 安装
一旦满足先决条件,如果您想将 rsmgclient
作为库用于自己的 Rust 项目,可以使用 cargo
安装它
cargo install rsmgclient
注意:Windows 上的默认 OpenSSL 路径为 C:\Program Files\OpenSSL-Win64\lib
,如果您想更改该路径,请提供 OPENSSL_LIB_DIR
环境变量。
从源码构建
要为 rsmgclient
贡献或只是更详细地了解其构建方式,您需要
- 已克隆的 rsmgclient 仓库
- 正确初始化的 mgclient,请确保满足
mgclient
的要求。 - Memgraph 快速入门指南
一旦克隆了 rsmgclient
,您需要构建它,然后可以运行测试套件以验证其是否正确工作
git submodule update --init
cargo build
# Please run Memgraph based on the quick start guide
cargo test
在 MacOS 上,构建将尝试使用 MacPorts 或 Homebrew 检测 OpenSSL。
在Windows上,bindgen
需要libclang
,这是LLVM的一部分。如果LLVM尚未安装,请访问LLVM下载页面,下载并安装LLVM.exe
文件(选择将LLVM添加到PATH的选项)。此外,默认的OpenSSL路径是C:\Program Files\OpenSSL-Win64\lib
,如果您想更改它,请在构建阶段提供OPENSSL_LIB_DIR
环境变量。
文档
在线文档可以在docs.rs页面找到。
代码示例
src/main.rs
是一个示例,展示了基本命令的一些用法。
use rsmgclient::{ConnectParams, Connection, MgError, Value};
fn execute_query() -> Result<(), MgError> {
// Connect to Memgraph.
let connect_params = ConnectParams {
host: Some(String::from("localhost")),
..Default::default()
};
let mut connection = Connection::connect(&connect_params)?;
// Create simple graph.
connection.execute_without_results(
"CREATE (p1:Person {name: 'Alice'})-[l1:Likes]->(m:Software {name: 'Memgraph'}) \
CREATE (p2:Person {name: 'John'})-[l2:Likes]->(m);",
)?;
// Fetch the graph.
let columns = connection.execute("MATCH (n)-[r]->(m) RETURN n, r, m;", None)?;
println!("Columns: {}", columns.join(", "));
for record in connection.fetchall()? {
for value in record.values {
match value {
Value::Node(node) => print!("{}", node),
Value::Relationship(edge) => print!("-{}-", edge),
value => print!("{}", value),
}
}
println!();
}
connection.commit()?;
Ok(())
}
fn main() {
if let Err(error) = execute_query() {
panic!("{}", error)
}
}
依赖关系
~1–3MB
~58K SLoC