7 个版本
0.2.4 | 2023年11月11日 |
---|---|
0.2.3 | 2023年10月14日 |
0.2.0 | 2023年9月18日 |
0.1.1 | 2023年9月17日 |
在 测试 类别中排名第 162
62KB
1.5K SLoC
triples
实验性的 Rust 库,用于以三元组格式存储任何数据。
功能
- 嵌入式
- 异步
- CLI 数据库维护工具
- RDF / Turtle
- 非 RDF 数据的导入/导出
概述
- Rust API
- 参见 crate
- 存储主语、谓语和宾语,其中
- 主语始终是 RDF 名称
- 谓语始终是 RDF 名称
- 宾语始终是 UTF 字符串
安装
cargo install triples
或
参见 crate
用法
目前,有关 API 用法的说明,请参阅 db_api 中的单元测试。
有关 CLI 用法
triples -h
A lib and cli for storing data triples
Usage: triples [OPTIONS] <COMMAND>
Commands:
import-turtle
export-turtle
import-csv
export-csv
help Print this message or the help of the given subcommand(s)
Options:
-d, --db-location <DB_LOCATION> [default: /tmp/triples.db]
-h, --help Print help
-V, --version Print version
导入 CSV 并添加 NS 前缀
cat ../vssgen/vss_sm.csv | triples -d /tmp/vss.db import-csv --subject-default-ns https://myvss.com/id --predicate-default-ns https://myvss.com/data --skip-headers
导出 ttl
triples --db-location /tmp/vss.db export-turtle
@prefix ns1: <https://myvss.com/id/> .
@prefix ns2: <https://myvss.com/data/> .
ns1:d654c9bc-37d7-425e-945b-41a4440da236
ns2:has_chassis "1ad84bfb-2017-4c42-b28f-de938755cb00" ;
ns2:timestamp "2023-09-17 21:07:36" ;
ns2:type "vehicle" ;
ns2:has_drivetrain "8db9fa98-5017-43d3-accd-bebe822a4066" ;
ns2:vehicle_id "0" ; .
ns1:1ad84bfb-2017-4c42-b28f-de938755cb00
ns2:brake_status "False" ;
ns2:type "chassis" ;
ns2:speed "79" ; .
ns1:8db9fa98-5017-43d3-accd-bebe822a4066
ns2:engine_temperature "106" ;
ns2:fuel_level "56" ;
ns2:type "drivetrain" ;
ns2:battery_level "3" ; .
待办事项
通过 CLI 批量加载和导出标准化 RDF 名称标准化对象值导入/导出 RDF Turtle*.tll
格式导入/导出三元组 CSV*.csv
格式导出时具有有意义的名称前缀- 更好的导出测试
- 导入任意列 CSV
*.csv
格式 - 导入任意 JSON
*.json
格式 - 导入任意 jsonl
*.jsonl
格式 - 通过 API 进行事务控制
- 插入性能
- SparkQL
欢迎 PR
依赖关系
~18–35MB
~556K SLoC