SQLite Graph Ext
Graph database with Cypher queries (alpha)
Details
- External ID
- 45751339
- Source
- HN
- Company
- —
- Product
- SQLite Graph Ext
- Website domain
- github.com
- Launched
- Oct. 29, 2025
- Cohort
- —
- Upvotes
- 35
- Upvotes percentile
- 0.8301886792452831
- Tags
- —
- Fetched at
- Sept. 7, 2026, 9:25 p.m.
- Updated at
- Sept. 7, 2026, 9:25 p.m.
Description
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 CypherPerformance: - 340K nodes/sec inserts (consistent to 1M nodes) - 390K edges/sec for relationships - 180K nodes/sec scans with WHERE filteringCurrent 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-graphHappy to answer questions about the implementation!
Enrichment
- Theme
- database infrastructure and developer tools
- Vertical
- Horizontal
- Function
- Data infrastructure
- Audience
- Developer
- AI stance
- Not AI
- Project type
- Hobby / open-source project
- Normalized one-liner
- graph database extension for sqlite
- Manually corrected
- False
Could you build this?
No Creating a native C SQLite extension implementing a full graph query engine and Cypher parser requires deep database internals and compiler engineering expertise.
What it would actually take: A functional version requires writing a C/Rust SQLite loadable extension with an integrated Cypher parser (often using ANTLR, flex/bison, or a custom PEG parser). The engine must translate graph traversal semantics (nodes, edges, MATCH patterns) into efficient SQLite B-tree/virtual table queries or recursive CTEs while maintaining ACID guarantees. This requires deep systems programming, database execution engine design, and formal grammar parsing experience.
Discussion
17 comments analyzed.
Competitors mentioned: Apache AGE (Postgres extension), Kuzu, CozoDB, Elasticsearch (for full-text search comparison)
Concerns raised: Constraints not yet implemented (roadmap v0.2.0+), Property indexes only planned for v0.2.0, composite indexes v0.4.0, Edge list storage model efficiency unclear, Mature production-readiness takes significant time, XML syntax verbosity vs JSON
Feature requests: JSON as first-class citizen alongside XML, Unique constraints on specific node label properties, Relationship constraints (edge type validation between node labels), Composite and spatial indexes, Case studies demonstrating real-world usage
Competitors
Other products that read as similar to this one — 68 launches clear the similarity bar, closest 8 shown.
Attention rank: #7 of 69 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).
Looks like the first mover among its competitors.
- LatticeDB · hn · 2026-08-25 · 190 upvotes · similarity 0.56
- TypeGraph · hn · 2026-02-24 · 5 upvotes · similarity 0.55
- ChikkaDB · hn · 2025-11-29 · 5 upvotes · similarity 0.46
- HelixDB · hn · 2026-06-10 · 159 upvotes · similarity 0.44
- BlitzGraph · hn · 2026-06-16 · 15 upvotes · similarity 0.44
- We built a type-safe Python ORM for RedisGraph/FalkorDB · hn · 2026-01-28 · 5 upvotes · similarity 0.43
- Eatmydata.ai · hn · 2026-06-10 · 8 upvotes · similarity 0.41
- DB Pro · hn · 2025-11-28 · 33 upvotes · similarity 0.40
Other launches for this product
- No other launches for this product.
Same idea, different domain
Nobody's really built a data infrastructure tool for Media & entertainment yet.