4 个版本
0.3.3 | 2021 年 5 月 18 日 |
---|---|
0.3.2 | 2021 年 3 月 18 日 |
0.3.1 | 2021 年 2 月 11 日 |
0.3.0 | 2021 年 2 月 11 日 |
#2758 in 数据库接口
15KB
258 行
wasmCloud 图数据库提供者 (Redis Graph)
虽然actor和通用库可以在不同类型的图数据库中使用,但此提供者是基于Redis Graph构建的。
以下示例显示了构建一个actor所需的代码行数非常少,该actor可以响应HTTP请求,读取和写入图数据,并将结果作为JSON通过HTTP公开
actor_handlers! { codec::http::OP_HANDLE_REQUEST => handle_http_request,
codec::core::OP_HEALTH_REQUEST => health }
fn handle_http_request(req: codec::http::Request) -> HandlerResult<codec::http::Response> {
if req.method.to_uppercase() == "POST" {
create_data()
} else {
query_data()
}
}
// Execute a Cypher query to return data values
fn query_data() -> HandlerResult<codec::http::Response> {
let (name, birth_year): (String, u32) =
graph::default().graph("MotoGP")
.query("MATCH (r:Rider)-[:rides]->(t:Team) WHERE t.name = 'Yamaha' RETURN r.name, r.birth_year")?;
let result = json!({
"name": name,
"birth_year": birth_year
});
Ok(codec::http::Response::json(result, 200, "OK"))
}
fn health(_req: codec::core::HealthRequest) -> HandlerResult<()> {
Ok(())
}
依赖项
~7–17MB
~240K SLoC