- adapt meta-/code-/obs- rules to the local Python benchmark pipeline - replace db-sql-ddl, code-config-env-scope, test-e2e-pytest with pipeline equivalents - add code-python-style, data-determinism, data-naming-units, bench-methodology, build-pipeline-tasks - normalize specs and README typography to ASCII per code-data-formatting - rewrite root CLAUDE.md trigger table; add .cursorrules and .gitignore - specs: pipeline plan and task specs 00-11 - rules: 19 binding rule files adapted for this project - docs: CLAUDE.md rule-trigger table - config: .cursorrules commit convention, .gitignore excluding out/ and .venv/ - docs: rewrite README.md with pipeline diagrams, setup guide, result placeholders - config: requirements.txt for the closed dependency list - datagen: make_lab_config.py writes out/config/lab_config.yaml and .done marker
1.2 KiB
1.2 KiB
07 - Convert to RDF TripleStore
Context / Goal
Build the semantic-web variant to quantify triple-store overhead and SPARQL performance on real hardware.
Dependencies
03 (optionally reuse 04 hybrid JSON-LD as an intermediate).
Input
CSV tree (or ./out/json/full/ for direct rdflib parsing - choose the faster path, document the choice).
Processing instructions
- Vocabulary identical to task 04 (
tribology#+ QUDT + PROV-O). - Triple modeling: every cycle → 3 triples (
rdf:typeoptional at bulk level to save space - model cycles astrack :hasCycle [ :cycleNumber n ; :cof x ]without explicit type; document the decision). Loop points likewise. Expected total: 25-45 M triples. - Serialize
./out/rdf/dataset.nt.gz(N-Triples, gzip) and./out/rdf/dataset.ttl(Turtle) - both sizes recorded. - Queryable store, first available option:
oxigraph(pip, embedded, on-disk store./out/rdf/oxigraph_store/) - preferred, no external service.- Jena Fuseki with TDB2 if Java present.
- Bulk-load, record store on-disk size into
storage_sizes.csvand load wall-time. - Smoke-test with a SPARQL COUNT query.
Output
- Serializations + populated store.
- Marker
./out/.done/07.okwith triple count.