SQLite Graph Ext – Graph database with Cypher queries (alpha)
I've been working on adding graph database capabilities to SQLite with support for the Cypher query language. As of this week, both CREATE and MATCH operations work with full relationship support. Here's what it looks like: import sqlite3 conn = sqlite3.connect(":memory:") conn.load_extension("./libgraph.so") conn.execute("CREATE VIRTUAL TABLE graph USING graph()") # Create a social network conn.execute("""SELECT cypher_execute(' CREATE (alice:Person {name: "Alice", age: 30}), (bob:Person {name: "Bob", age: 25}), (alice)-[:KNOWS {since: 2020}]->(bob) ')""") # Query the graph with…
In plain words
SQLite Graph Ext is an extension that adds graph database capabilities to SQLite using the Cypher query language. It allows users to create nodes and relationships, then query them with Cypher's pattern-matching syntax. The extension includes a complete execution pipeline with lexer, parser, logical planner, physical planner, and iterator-based executor. It is designed for developers who want graph database features within SQLite and currently supports CREATE and MATCH operations with full relationship support.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
I've been working on adding graph database capabilities to SQLite with support for the Cypher query language. As of this week, both CREATE and MATCH operations work with full relationship support. Here's what it looks like: import sqlite3 conn = sqlite3.connect(":memory:") conn.load_extension("./libgraph.so") conn.execute("CREATE VIRTUAL TABLE graph USING graph()") # Create a social network conn.execute("""SELECT cypher_execute(' CREATE (alice:Person {name: "Alice", age: 30}), (bob:Person {name: "Bob", age: 25}), (alice)-[:KNOWS {since: 2020}]->(bob) ')""") # Query the graph with relationship patterns conn.execute("""SELECT cypher_execute(' MATCH (a:Person)-[r:KNOWS]->(b:Person) WHERE a.age > 25 RETURN a, r, b ')""") The interesting part was building the complete execution pipeline - lexer, parser, logical planner, physical planner, and an iterator-based executor using the Volcano model. All in C99 with no dependencies beyond SQLite. What works now: - Full CREATE: nodes, relationships, properties, chained patterns (70/70 openCypher TCK tests) - MATCH with relationship patterns: (a)-[r:TYPE]->(b) with label and type filtering - WHERE clause: property comparisons on nodes (=, >, <, >=, <=, <>) - RETURN: basic projection with JSON serialization - Virtual table integration for mixing SQL and Cypher Performance: - 340K nodes/sec inserts (consistent to 1M nodes) - 390K edges/sec for relationships - 180K nodes/sec scans with WHERE filtering Current limitations (alpha): - Only forward relationships (no `<-[r]-` or bidirectional `-[r]-`) - No relationship property filtering in WHERE (e.g., `WHERE r.weight > 5`) - No variable-length paths yet (e.g., `[r*1..3]`) - No aggregations, ORDER BY, property projection in RETURN - Must use double quotes for strings: {name: "Alice"} not {name: 'Alice'} This is alpha - API may change. But core graph query patterns work! The execution pipeline handles CREATE/MATCH/WHERE/RETURN end-to-end. Next up: bidirectional relationships, property projection, aggregations. Roadmap targets full Cypher support by Q1 2026. Built as part of Agentflare AI, but it's standalone and MIT licensed. Would love feedback on what to prioritize. GitHub: https://github.com/agentflare-ai/sqlite-graph Happy to answer questions about the implementation!
More dev tools this month
the category →



Open-source GTM skills for technical founders
Dev tools · 29d ago · gtmcofounder.com

OpenTrailPaper is open-source bike computer firmware for the LilyGO T5S3 4.7" E-Paper PRO. It supports offline maps, GPX routes, FIT recording and Bluetooth sensors.
Dev tools · 1d ago · opentrailpaper.com

Launched alongside, October 2025
the whole month →

- SA
I went down the rabbit hole on a side project and ended up building this: Strange Attractors(https://blog.shashanktomar.com/posts/strange-attractors). It’s built with three.js. Working on it reminded me of the little "maths for fun" exercises I used to do while learning programming in early days. Just trying things out, getting fascinated and geeky, and being surprised by the results. I spent way too much time on this, but it was extreme fun. My favorite part: someone pointed me to the Simone Attractor on Threads. It is a 2D attractor and I asked GPT to extrapolate it to…
AI · Oct 2025 · blog.shashanktomar.com

- ASAutism Simulator▲779
Hey all, I built this. It’s not trying to capture every autistic experience (that’d be impossible). It’s based on my own lived experience as well as that of friends on the spectrum. I'm trying to give people a feel for what masking, decision fatigue, and burnout can look like day-to-day. That’s hard to explain in words, but easier to show through choices and stats. I'm not trying to "define autism". I’ve gotten good feedback here about resilience, meds, and difficulty tuning. I’ll keep tweaking it. If even a few people walk away thinking, "ah, maybe that’s why my coworker struggles in those…
Life & fun · Oct 2025 · autism-simulator.vercel.app
