Files
LabDataStorageEvaluation/docs/specs/07_convert_rdf.md
administrator b173ac82a9 fix(docs): fix formatting issues in README.md
- 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
2026-07-11 13:39:13 -04:00

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:type optional at bulk level to save space - model cycles as track :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:
    1. oxigraph (pip, embedded, on-disk store ./out/rdf/oxigraph_store/) - preferred, no external service.
    2. Jena Fuseki with TDB2 if Java present.
  • Bulk-load, record store on-disk size into storage_sizes.csv and load wall-time.
  • Smoke-test with a SPARQL COUNT query.

Output

  • Serializations + populated store.
  • Marker ./out/.done/07.ok with triple count.