#图数据库 #逻辑数据语言 #关系型 #查询 #事务 #存储引擎 #cozo-db

cozo

一个通用、事务型、关系型数据库,使用Datalog,专注于图数据和算法

19个版本

0.7.6 2023年12月11日
0.7.5 2023年9月16日
0.7.2 2023年6月1日
0.5.1 2023年2月4日
0.1.6 2022年11月9日

#6 in #datalog

Download history 259/week @ 2024-04-08 217/week @ 2024-04-15 212/week @ 2024-04-22 145/week @ 2024-04-29 377/week @ 2024-05-06 450/week @ 2024-05-13 127/week @ 2024-05-20 226/week @ 2024-05-27 193/week @ 2024-06-03 377/week @ 2024-06-10 245/week @ 2024-06-17 230/week @ 2024-06-24 296/week @ 2024-07-01 320/week @ 2024-07-08 122/week @ 2024-07-15 199/week @ 2024-07-22

939 每月下载量

MPL-2.0 许可证

6MB
151K SLoC

C++ 86K SLoC // 0.1% comments Rust 61K SLoC // 0.0% comments Python 2K SLoC // 0.1% comments Shell 1K SLoC // 0.2% comments C 742 SLoC // 0.0% comments Pest 253 SLoC // 0.0% comments GNU Style Assembly 135 SLoC // 0.1% comments INI 107 SLoC // 0.1% comments PowerShell 78 SLoC // 0.2% comments Bitbake 41 SLoC // 0.2% comments

Cozo-core

Crates.io

此crate包含CozoDB的适当实现。


lib.rs:

此crate提供CozoDB的核心功能。它可用于将CozoDB嵌入您的应用程序。

本文档描述了Rust API。要了解如何使用CozoDB进行查询(CozoScript),请参阅

Rust API使用

use cozo::*;

let db = DbInstance::new("mem", "", Default::default()).unwrap();
let script = "?[a] := a in [1, 2, 3]";
let result = db.run_script(script, Default::default(), ScriptMutability::Immutable).unwrap();
println!("{:?}", result);

我们上面创建了一个内存数据库。还有其他持久化选项:请参阅 DbInstance::new。在同一进程中运行多个存储引擎是完全可以的。

依赖项

~25–45MB
~663K SLoC