#vector-database #sql #sparql #cypher #graph-database #wasm #self-improvement #gnn #neural-network

rvlite

Standalone vector database with SQL, SPARQL, and Cypher - powered by RuVector WASM

2 unstable releases

0.3.0 Feb 8, 2026
0.2.0 Dec 29, 2025

#2402 in Database interfaces

MIT/Apache

790KB
19K SLoC

RvLite - Standalone Vector Database

Status: Proof of Concept (v0.1.0)

RvLite is a lightweight, standalone vector database that runs entirely in WebAssembly. It provides SQL, SPARQL, and Cypher query interfaces, along with graph neural networks and self-learning capabilities.

🎯 Vision

A complete vector database that runs anywhere JavaScript runs:

  • βœ… Browsers (Chrome, Firefox, Safari, Edge)
  • βœ… Node.js
  • βœ… Deno
  • βœ… Bun
  • βœ… Cloudflare Workers
  • βœ… Vercel Edge Functions

πŸ—οΈ Architecture

RvLite is a thin orchestration layer over battle-tested WASM crates:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  RvLite (Orchestration)                 β”‚
β”‚  β”œβ”€ SQL executor                        β”‚
β”‚  β”œβ”€ SPARQL executor                     β”‚
β”‚  β”œβ”€ Storage adapter                     β”‚
β”‚  └─ Unified WASM API                    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
               β”‚ depends on (100% reuse)
               β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Existing WASM Crates                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚  β€’ ruvector-core (vectors, SIMD)         β”‚
β”‚  β€’ ruvector-wasm (storage, indexing)     β”‚
β”‚  β€’ ruvector-graph-wasm (Cypher)          β”‚
β”‚  β€’ ruvector-gnn-wasm (GNN layers)        β”‚
β”‚  β€’ sona (ReasoningBank learning)         β”‚
β”‚  β€’ micro-hnsw-wasm (ultra-fast HNSW)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start (Future)

import { RvLite } from '@rvlite/wasm';

// Create database
const db = await RvLite.create();

// SQL with vector search
await db.sql(`
  CREATE TABLE docs (
    id SERIAL PRIMARY KEY,
    content TEXT,
    embedding VECTOR(384)
  )
`);

await db.sql(`
  SELECT id, content, embedding <=> $1 AS distance
  FROM docs
  ORDER BY distance
  LIMIT 10
`, [queryVector]);

// Cypher graph queries
await db.cypher(`
  CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'})
`);

// SPARQL RDF queries
await db.sparql(`
  SELECT ?name WHERE {
    ?person foaf:name ?name .
  }
`);

// GNN embeddings
const embeddings = await db.gnn.computeEmbeddings('social_network', [
  db.gnn.createLayer('gcn', { inputDim: 128, outputDim: 64 })
]);

// Self-learning with ReasoningBank
await db.learning.recordTrajectory({ state: [0.1], action: 2, reward: 1.0 });
await db.learning.train({ algorithm: 'q-learning', iterations: 1000 });

πŸ“¦ Current Status (v0.1.0 - POC)

This is a proof of concept to validate:

  • βœ… Basic WASM compilation with ruvector-core
  • βœ… WASM bindings setup (wasm-bindgen)
  • ⏳ Integration with other WASM crates (pending)
  • ⏳ Bundle size measurement (pending)
  • ⏳ Performance benchmarks (pending)

πŸ› οΈ Development

Build

# Install wasm-pack
curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh

# Build for web
cd crates/rvlite
wasm-pack build --target web --release

# Build for Node.js
wasm-pack build --target nodejs --release

Test

# Run Rust unit tests
cargo test

# Run WASM tests (requires Chrome/Firefox)
wasm-pack test --headless --chrome
wasm-pack test --headless --firefox

Size Analysis

# Build optimized
wasm-pack build --release

# Check size
ls -lh pkg/*.wasm
du -sh pkg/

πŸ“– Documentation

See /crates/rvlite/docs/ for comprehensive documentation:

  • 00_EXISTING_WASM_ANALYSIS.md - Analysis of existing WASM infrastructure
  • 01_SPECIFICATION.md - Complete requirements specification
  • 02_API_SPECIFICATION.md - TypeScript API design
  • 03_IMPLEMENTATION_ROADMAP.md - Original 5-week timeline
  • 04_REVISED_ARCHITECTURE_MAX_REUSE.md - Optimized 2-3 week plan
  • 05_ARCHITECTURE_REVIEW_AND_VALIDATION.md - Architecture validation
  • SPARC_OVERVIEW.md - SPARC methodology overview

🎯 Roadmap

Phase 1: Proof of Concept (Current)

  • Create rvlite crate structure
  • Set up WASM bindings
  • Basic compilation test
  • Measure bundle size
  • Integration with ruvector-wasm
  • Integration with ruvector-graph-wasm

Phase 2: Core Integration (Week 1)

  • Storage adapter implementation
  • SPARQL extraction from ruvector-postgres
  • SQL parser integration (sqlparser-rs)
  • Basic query routing

Phase 3: Full Features (Week 2)

  • GNN layer integration
  • ReasoningBank integration
  • Hyperbolic embeddings
  • Comprehensive testing

Phase 4: Production Release (Week 3)

  • Documentation
  • Examples (browser, Node.js, Deno)
  • Performance benchmarks
  • NPM package publication

πŸ“Š Size Budget

Target: < 3MB gzipped

Expected breakdown:

  • ruvector-core: ~500KB
  • SQL parser: ~200KB
  • SPARQL executor: ~300KB
  • Cypher (ruvector-graph-wasm): ~600KB
  • GNN layers: ~300KB
  • ReasoningBank (sona): ~300KB
  • Orchestration: ~100KB

Total estimated: ~2.3MB gzipped βœ…

🀝 Contributing

This project reuses existing battle-tested WASM crates. Contributions should focus on:

  1. Integration and orchestration
  2. SQL/SPARQL/Cypher query routing
  3. Storage adapter implementation
  4. Testing and benchmarks
  5. Documentation and examples

πŸ“„ License

MIT OR Apache-2.0

πŸ™ Acknowledgments

RvLite is built on the shoulders of:

  • ruvector-core - Vector operations and SIMD
  • ruvector-wasm - WASM vector database
  • ruvector-graph - Cypher and graph database
  • ruvector-gnn - Graph neural networks
  • sona - Self-learning and ReasoningBank
  • micro-hnsw-wasm - Ultra-lightweight HNSW

Status: Proof of Concept - Architecture Validated βœ… Next Step: Build and measure bundle size

Dependencies

~19–25MB
~377K SLoC