# 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.
