Fixture data for KoreDB.
This repository holds the datasets consumed by the KoreDB end-to-end test suite
(test/test_files/**/*.test), the extension tests, and the language-binding
tests. It was split out of the main repository so that cloning KoreDB no longer
pulls ~350 MB of test data.
It is consumed as a git submodule mounted at dataset/ in the KoreDB source
tree:
git clone --recurse-submodules https://github.com/KoreDB/koredb.gitFor an existing clone:
git submodule update --init datasetTest code resolves fixtures as <koredb-root>/dataset/<name>, so the mount
point has to stay at dataset/.
Each top-level directory is one dataset. Datasets loaded by the e2e runner
provide schema.cypher and copy.cypher; the remaining files are the CSV,
Parquet, NPY, JSON, or Turtle payloads those scripts copy from.
Some directories are not committed in full — see .gitignore. binary-demo
and databases/tinysnb are generated by scripts in the koredb repository, and
ldbc-1/csv is fetched by ldbc-1/download_data.py.
bench/ holds Node.js performance tests that run KoreDB against these
datasets — COPY throughput and query latency for scans and multi-hop joins:
cd bench
npm install @koredb/koredb
npm run benchTo benchmark a working-tree build of the engine instead of the published
package, point KOREDB_NODE_MODULE at it. See bench/README.md
for the full set of options.
KoreDB pins this repository by commit SHA. After changing data here, push to
main, then bump the pointer in the main repository:
cd dataset && git pull origin main
cd .. && git add dataset && git commit -m "Bump dataset submodule"