- 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.1 KiB
1.1 KiB
Task 14 — Export: RDF (Metadata & Provenance Graph)
Goal
RDF surface for the metadata/provenance layer only — never the numeric series (per ADR).
Input
canonical/snapshot headers + hierarchy,schema/, lineage.
Actions
- Mint stable IRIs for every data note, batch, coupon, sample, measurement (pattern
https://tribology.ufl.example/id/<entity>/<key>; base IRI in config). - Write
scripts/export_rdf.py→exports/rdf/metadata.ttl(Turtle): hierarchy, measurement headers, atmosphere, instrument, source-file provenance. Vocabularies: PROV-O (provenance), QUDT (units), Dublin Core (citation), DCAT (dataset catalog), locallab:terms. - Emit
exports/rdf/mappings.r2rml.ttl— R2RML mappings from the PostgreSQL schema, ready for Ontop virtual deployment. - Numeric series: reference-only — each measurement IRI carries a
lab:dataServicepointer, no point triples.
Intermediate Result (done when)
metadata.ttlparses (validate withrdflib); triple counts reported per class.- R2RML mappings cover all metadata tables.
EXPORT_MANIFEST.jsonwritten.