Understand this story
On October 16, 2026, Simon Willison introduced sparqlite, an experimental project he generated using Claude Code's Ultracode mode. It is a SQLite loadable extension written in Rust that stores RDF quads in ordinary SQLite tables and executes SPARQL 1.1 queries and updates within the SQLite process. According to his description, the project uses integer-encoded terms, covering indexes, a cost-based planner, batch joins, and optional direct reads of SQLite B-trees, making it 3.5 times faster than SQL translation in count mode and 2.8 times faster when returning full results, and it passes 636 of the 639 applicable W3C evaluation tests. Willison said this experiment had Claude Code running continuously for more than 12 hours; he was unable to review the resulting code and is not sure how to use this implementation, which was built on a whim. The project is currently still at the experimental introduction stage, with no further progress yet.
AI-generated from public reports
Latest development · Report
sparqlite: Implementing SPARQL 1.1 inside SQLite in RustDevelopments
1 confirmed developments
Simon Willison introduces the sparqlite experimental project
Source:Simon Willison
Reports and discussion timeline
Browse reports and discussion by time. Their evidence levels remain distinct.
Oct 16
Simon Willison
sparqlite: Implementing SPARQL 1.1 inside SQLite in Rust
Simon Willison used Claude Code's Ultracode mode to generate sparqlite, a Rust-written loadable SQLite extension that stores RDF quads in ordinary SQLite tables and executes SPARQL 1.1 queries and updates inside the SQLite process. By integer-encoding terms, using covering indexes, a cost-based planner, batched joins, and optional direct reads of SQLite B-trees, it is 3.5 times faster than SQL translation in count mode and 2.8 times faster when returning full results, and it passes 636 of the 639 applicable W3C evaluation tests. The author says the experiment kept Claude Code running continuously for more than 12 hours; he cannot review the resulting code and is unsure how to use this implementation built on a whim.