01 // VERIFICATION Same query
Every row executes identical Cypher syntax on an identical corpus. If the result node or relationship counts differ between engines, the row is rejected and never published.
Every published row uses the same Cypher, the same random seed, and verifies identical result counts. Neo4j is CPU and Bolt in every row, because that is what Neo4j Community can execute.
GraphRAG measures cosine vector scoring, top ten hits, and an undirected 3-hop traversal. The load row evaluates 2,048 queries across 128 parallel clients.
| Workload | LightningDB GPU | LightningDB CPU | Neo4j Community | Advantage |
|---|---|---|---|---|
| GraphRAG20k people, 8k papers | 0.86 ms | — | 9.27 ms | 10.8× |
| GraphRAG2M people, 500k papers | 6.48 ms | 9.18 ms | 12.12 ms | 1.9× |
| Exact cosine250k rows, 32-d | 2.65 ms | 12.03 ms | 559 ms | 211× |
| Exact cosine250k rows, 1,536-d | 9.48 ms | 27.67 ms | 17.3 s | 1,830× |
| Four-hop traversal20k / 8k | — | 8.25 ms | 1.18 s | 143× |
| Under load128 parallel calls, 2,048 requests | 629 / s | 2,048 / 2,048 | — | 0 dropped |
Published clocks are reproducible on public data and identical host hardware. Machine-readable telemetry: results.json.
Exact cosine on 250,000 vectors. LightningDB scales with dimension on CPU and GPU, while Neo4j falls behind.
| Vector width | LightningDB CPU | LightningDB GPU | Neo4j Community | Advantage |
|---|---|---|---|---|
| 32 | 12.03 ms | 2.65 ms | 559 ms | 211× |
| 256 | 10.73 ms | 3.74 ms | 3.89 s | 1,040× |
| 384 | 11.48 ms | 4.25 ms | 4.25 s | 1,000× |
| 768 | 14.40 ms | 6.02 ms | 8.65 s | 1,440× |
| 1,024 | 15.36 ms | 7.37 ms | 14.6 s | 1,980× |
| 1,536 | 27.67 ms | 9.48 ms | 17.3 s | 1,830× |
20,000 people, 8,000 papers, seed 42. Pure graph traversals without vector retrieval.
| Workload | Results | LightningDB | Neo4j Community | Advantage |
|---|---|---|---|---|
| Multi-edge traversal | 19,625 | 226 µs | 20.5 ms | 90.8× |
| Deep traversal | 20,000 | 396 µs | 25.9 ms | 65.5× |
| Deep traversal, length 4 | 11,384,853 | 8.25 ms | 1.18 s | 143× |
| Node traversal | 305,245 | 1.33 ms | 50.4 ms | 38× |
| Multi-edge, papers | 4,680 | 154 µs | 15.0 ms | 97× |
| Retrieve k=10, 32-d | — | 63 µs | 3.97 ms | 63.3× |
Every row executes identical Cypher syntax on an identical corpus. If the result node or relationship counts differ between engines, the row is rejected and never published.
Neo4j is CPU and Bolt. LightningDB CPU is shown directly beside the GPU so the C++ architecture is evaluated on its own merits before hardware accelerators are introduced.
Downstream LLM token generation takes two to three seconds on every database stack. LightningDB optimizes the retrieval step that feeds the prompt context before generation begins.
Free on 2 CPUs. The same Cypher subset, the same HTTP interface, and an automated migration path from Neo4j. Open source on GitHub.
# Test your Cypher queries against LightningDB
curl -s -X POST localhost:7475/v1/query \
-d '{"query":"MATCH (p:Person)-[:AUTHORED]->(d:Paper) RETURN p.name, count(d)"}'