sparqlite:SQLite 内的 SPARQL 1.1,使用 Rust 编写
摘要
sparqlite 是一个基于 Rust 的 SQLite 可加载扩展,它将 RDF 四元组存储在普通的 SQLite 表中,并原生执行 SPARQL 1.1 查询,速度达到 SQL 转译方式的 3.5 倍,同时通过了 639 项 W3C 评估测试中的 636 项——值得一提的是,它由 Claude Code 的 Ultracode 智能体工作流在一次持续 12 小时的运行中生成。
暂无内容
查看缓存全文
缓存时间:
2026/10/21 18:21
# 研究:sparqlite:用 Rust 编写、运行于 SQLite 内部的 SPARQL 1.1
来源:https://simonwillison.net/2026/Oct/16/sqlite-sparql-rust/
研究 (https://simonwillison.net/elsewhere/research/)sparqlite:用 Rust 编写、运行于 SQLite 内部的 SPARQL 1\.1 (https://github.com/simonw/research/tree/main/sqlite-sparql-rust#readme)—— sparqlite 是一个基于 Rust 的 SQLite 可加载扩展,它将 RDF 四元组存储在普通 SQLite 表中,并在 SQLite 进程内部原生执行 SPARQL 1\.1 查询和更新。凭借整数编码的项、覆盖索引、基于成本的规划器、批量连接以及可选的 SQLite B 树直接读取器,与转换为 SQL 的方式相比,它在计数模式下可实现 3\.5 倍加速,在返回完整结果时可实现 2\.8 倍加速,同时通过了 639 项适用的 W3C 评估测试中的 636 项,以及数百万次差分模糊测试……
这项研究任务实际上是一次实验,尝试以“Ultracode”模式运行网页版 Claude Code,具体介绍见 Claude Code 文档中的通过动态工作流大规模编排子代理 (https://code.claude.com/docs/en/workflows)。
开启 Ultracode 后,Claude Code 会大量使用动态工作流——它会生成 JavaScript,定义并协调一个子代理网络来解决复杂问题。
我最初的提示如下——我本来想说“直接访问行”,“delete”是我在手机上不小心打错的:
> `用 Rust 编写一个 SQLite 扩展,实现 SPARQL,并且运行得非常快,因为它可以直接访问 delete 行`
这让网页版 Claude Code 连续忙活了超过 12 个小时。第二天我查看了它的进展,注意到它构建了那么多 Rust crate,于是只发了一条后续提示:
> `crates/ 目录中的每个文件夹都需要一个 README` `添加一个 tutorial\.md,教用户如何安装扩展、如何在 SQLite CLI 中运行它,然后除了讲解如何使用 SQLite 扩展之外,还要教他们 SPARQL` `随教程附上一个脚本,用有用且贴近实际的示例数据填充 SQLite 数据库,供教程使用`
这个项目感觉像是更上一层楼的氛围编程——审查这里生成的代码根本不现实,哪怕只是照着文档操作,也需要投入大量精力。我不太确定该拿它怎么办——我现在似乎已经拥有了一个用 Rust 编写、运行于 SQLite 内部的完整 SPARQL 实现,但如果我只是一时兴起创建了它,却无法(或不愿)投入必要的时间去理解它能做什么,那它究竟有多大价值呢?
相似文章
X AI KOLs Following
Cursor 团队的 AI 代理根据手册将 SQLite 重构成 Rust 代码,并成功通过所有测试,成本因模型组合不同而相差 15 倍。
Hacker News Top
BriskDB 是一款处于早期阶段的数据库工具,它将 SQLite 文件转化为一个支持并行写入、兼容 PostgreSQL 并嵌入 Rust/Python API 的分片系统,旨在扩展 SQLite 的同时保持其简洁性。
X AI KOLs Timeline
一条推文讨论了 SQLite 虽是开源项目却不接受外部贡献的现象,并提到 Turso 因此将其 fork 为 libSQL,之后又用 Rust 从头重写了一个兼容 SQLite 的数据库(最初名为 Limbo),以加入异步 I/O、并发写入、向量搜索和更好的 WASM 支持。
Reddit r/MachineLearning
Witchcraft 是一个用 Rust 对斯坦福大学 XTR-Warp 语义搜索引擎进行的开源重新实现,使用 SQLite 实现快速本地搜索。它包含 Pickbrain CLI,用于索引代码会话记录,并为 AI 代理配备全局记忆。
X AI KOLs Timeline
nuskey8 发布了 lkv,这是一个用 Rust 编写的轻量级嵌入式键值存储,针对点查找进行了优化,声称比 SQLite 快约 165 倍,比 LMDB 快约 15 倍,且功能集极简。