←新闻详情

Simon Willison更新于 10月25日 23:46

sparqlite:用 Rust 在 SQLite 内实现 SPARQL 1.1

Research: sparqlite: SPARQL 1.1 inside SQLite, written in Rust

AI 导读

Simon Willison 用 Claude Code 的 Ultracode 模式生成 sparqlite,这是一个 Rust 编写的 SQLite 可加载扩展,把 RDF 四元组存入普通 SQLite 表,并在 SQLite 进程内执行 SPARQL 1.1 查询与更新。它通过整数编码词项、覆盖索引、基于代价的规划器、批量连接和可选的 SQLite B-tree 直读,在 count 模式下比 SQL 翻译快 3.5 倍,返回完整结果时快 2.8 倍,并通过 639 项适用 W3C 评测测试中的 636 项。作者称这次实验让 Claude Code 连续运行超过 12 小时,他无法审阅产出的代码,也不确定该如何使用这个凭一时兴起做出的实现。

推荐理由

AI 评分 55

作者用一次手机误打的提示词让 Claude Code 跑了 12 小时,产出可运行的 SPARQL 扩展,也留下难以审阅的代码。

主题

标签

正文 · AI 翻译

#smallhead

2026年10月16日

研究项目 sparqlite:用 Rust 编写的 SQLite 内 SPARQL 1.1——sparqlite 是一个基于 Rust 的 SQLite 可加载扩展,它将 RDF 四元组存储在普通 SQLite 表中,并在 SQLite 进程内原生执行 SPARQL 1.1 查询和更新。它的整数编码词项、覆盖索引、基于代价的规划器、批量连接以及可选的 SQLite B-tree 直读,在 count 模式下比 SQL 翻译快 3.5 倍,返回完整结果时快 2.8 倍,同时通过了 639 项适用 W3C 评测测试中的 636 项,以及数百万次差分模糊测试……

这项研究任务实际上是一次实验,旨在以“Ultracode”模式运行 Claude Code for web,正如 Claude Code 文档中《Orchestrate subagents at scale with dynamic workflows》一文所述。

开启 Ultracode 后,Claude Code 会大量使用动态工作流——它生成 JavaScript,定义并协调一个子代理网络来处理复杂问题。

我最初的提示词是这样的——我本意是“直接命中这些行”,而“delete”是我在手机上不小心打错的字:

用 Rust 编写一个 SQLite 扩展,植入 SPARQL,并且运行得非常快,因为它可以直接命中 delete 行

这导致 Claude Code for web 连续运转了超过 12 个小时。第二天我查看了它的进度,并在注意到它构建了多少个 Rust crate 后发送了一条后续提示:

crates/ 目录中的每个文件夹都需要一个 README

包含一个 tutorial.md,教用户如何安装该扩展以及如何在 SQLite CLI 中运行它,然后除了教他们如何使用该 SQLite 扩展之外,还要教他们 SPARQL

在教程中附带一个脚本,为该教程向 SQLite 数据库填充有用且贴近现实的示例数据

这个项目感觉像是下一级别的氛围编程——审阅这里产出的代码根本不可行,甚至通读文档也是一项巨大的投入。我不太确定该拿它怎么办——我现在似乎有了一个用 Rust 在 SQLite 内实现的完整 SPARQL 实现,但如果我是一时兴起创建了它,又无法(或不愿)投入必要的时间去理解它能做什么,那它有多大价值呢?

发布于 2026年10月16日凌晨1:58

近期文章

Battle Drones——一款基于音频多人对战的氛围编程 RTS——2026年10月20日

你好 Python 3.15,再见 3.10,现在我可以使用 3.11 了——2026年10月12日

我的博客的新功能,用我的声音构建——2026年10月9日

Claude Haiku 5.5——2026年10月7日

这是 Simon Willison 的一篇博文,发布于 2026年10月16日。

来源

Simon Willison