17个版本

0.6.1 2024年5月29日
0.6.0 2023年1月19日
0.5.4 2022年9月24日
0.4.2 2022年9月17日
0.1.0 2022年4月23日

#445数据库接口

Apache-2.0

44KB
1K SLoC

Apache AGE (Rust驱动)

Crates.io Version GitHub Tag

什么是Apache AGE

AGE是PostgreSQL的开源后端,允许用户在PostgreSQL上执行图相关操作。您可以在官方网站上了解更多信息。

这个仓库最终将合并到age仓库。PR所需工作的状态可以在AGE问题跟踪器中的特殊问题中找到。

重要提示

这个库只是现有PostgreSQL库的包装。连接参数、方法等。(除非有说明)与postgrestokio-postgres Crates中的参数相同。

驱动程序使用

更多示例可以在文档中找到(下方的链接)

use apache_age::{NoTls, AgType};
use apache_age::sync::{AgeClient, Client}; 
use serde::{Deserialize, Serialize};

let mut client = Client::connect_age(
  "host=localhost user=postgres password=passwd port=8081",
  NoTls
).unwrap();

client.create_graph("my_apache_graph");

#[derive(Debug, Serialize, Deserialize, Clone)]
struct Person {
    pub name: String,
    pub surname: String,
}

match client.query_cypher::<()>(
    "my_apache_graph",
    "MATCH (n: Person) WHERE n.name = 'Alfred' RETURN {name: n.name, surname: n.surname}",
    None,
) {
    Ok(rows) => {
        let x: AgType<Person> = rows[0].get(0);
        // do whatever you need
    }
    Err(e) => {
        // handle error
    }
}

client.drop_graph("my_apache_graph");

测试

测试目录中有一个简单的docker-compose文件。运行它以设置AGE数据库。

pushd tests
docker-compose up -d
popd
cargo t

依赖项

~7–17MB
~243K SLoC