wp-knowledge 是一个围绕 SQLite 的 KnowDB 组件,负责把目录化的 CSV + SQL 规则装载为查询库,并提供统一查询门面、线程克隆只读副本和若干内置 UDF。
这个目录已经按独立仓库形态整理,可直接作为 https://github.com/wp-labs/wp-knowledge 的仓库根使用;保留在 wp-motor workspace 内时也可以继续正常构建。
- 读取
knowdb.toml,按表配置将create.sql、insert.sql和data.csv装载为权威 SQLite 库。 - 提供
facade统一查询接口,支持无参、命名参数、白名单字典表读取和缓存查询。 - 支持线程克隆只读连接与 WAL 文件库两种 Provider 初始化方式。
- 内置
ip4_int、ip4_between、cidr4_contains、trim_quotes等 SQLite UDF。
src/:库实现与单元测试。tests/:集成测试。knowdb/:随包分发的示例 KnowDB。.github/workflows/ci.yml:独立仓库可直接使用的 CI。
[dependencies]
wp-knowledge = "0.10.3"use std::path::Path;
use orion_variate::EnvDict;
use wp_knowledge::facade;
let authority_uri = "file:/tmp/wp-knowledge.sqlite?mode=rwc&uri=true";
facade::init_thread_cloned_from_knowdb(
Path::new("."),
Path::new("knowdb/knowdb.toml"),
authority_uri,
&EnvDict::new(),
)?;
let row = facade::query_row("SELECT COUNT(*) AS total FROM example")?;
# Ok::<(), wp_error::Error2>(())独立仓库下建议执行:
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-features -- --test-threads=1Apache-2.0,见 LICENSE。