open-standards/map/vocab/v1.ttl
Transaction Science b7fda4f20f map: point at maps.transaction.science (the only site) everywhere
There is no separate map.transaction.science — maps.transaction.science is the
single public face of the Map standard. Fix the root README Site line and align
the RDF vocabulary namespace (v1.ttl / v1.jsonld / v1.shapes.ttl + the vocab
docs) from the phantom map.transaction.science host to maps.transaction.science.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-07 19:40:49 -04:00

74 lines
5.9 KiB
Turtle

@prefix map: <https://maps.transaction.science/vocab/v1#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix dc: <http://purl.org/dc/terms/> .
<https://maps.transaction.science/vocab/v1> a owl:Ontology ;
dc:title "Map vocabulary (v1)" ;
dc:description "Stable IRIs for the Map open standard — the geospatial cargo class of the Transaction Science substrate. Defines the 4D cell key (S2 + altitude band + time bucket + LOD), the content-addressed tile, the range-requestable tileset directory, the signed manifest + revision chain, the F0-F4 fidelity cascade, and the JCR-1 receipt schema (measured + estimated joules with honest provenance)." ;
dc:license <https://creativecommons.org/licenses/by/4.0/> ;
owl:versionInfo "1" .
# ─── Classes ────────────────────────────────────────────────────────
map:Tile a owl:Class ; rdfs:label "Tile" ; rdfs:subClassOf prov:Entity ;
rdfs:comment "A content-addressed, signed unit of place at a single 4D cell, with its energy cost intrinsic." .
map:CellKey a owl:Class ; rdfs:label "Cell key" ;
rdfs:comment "The 4D address of a tile: S2 cell, altitude band, time bucket, and within-tier LOD." .
map:Tileset a owl:Class ; rdfs:label "Tileset" ; rdfs:subClassOf prov:Entity ;
rdfs:comment "A single range-requestable archive: header, Hilbert-ordered directory, and tile payloads." .
map:Directory a owl:Class ; rdfs:label "Tileset directory" ;
rdfs:comment "The CellKey -> (offset, len, content id) map, sorted by the S2 (Hilbert) key." .
map:Manifest a owl:Class ; rdfs:label "Manifest" ; rdfs:subClassOf prov:Entity ;
rdfs:comment "The signed root of a tileset: a commitment to the directory Merkle root under a publisher key." .
map:Revision a owl:Class ; rdfs:label "Revision" ; rdfs:subClassOf prov:Activity ;
rdfs:comment "A signed, dated transition prev_root -> new_root over a manifest. Append-only." .
map:Receipt a owl:Class ; rdfs:label "Receipt" ;
rdfs:comment "Signed energy receipt per resolved tile. Two-part energy: measured + estimated, with a provenance tag. Sealed as JCR-1." .
map:Cascade a owl:Class ; rdfs:label "Fidelity cascade" .
map:Publisher a owl:Class ; rdfs:label "Publisher" ; rdfs:subClassOf prov:Agent .
# ─── Fidelity tiers (SPEC §1.2) ─────────────────────────────────────
map:Tier a owl:Class ; rdfs:label "Fidelity tier" .
map:F0_Cache a map:Tier ; rdfs:label "F0 Cache" ; rdfs:comment "Content-addressed local-store hit (picojoules)." .
map:F1_Base a map:Tier ; rdfs:label "F1 Base" ; rdfs:comment "Terrain + coastlines + borders; the universal floor (microjoules)." .
map:F2_Field a map:Tier ; rdfs:label "F2 Field" ; rdfs:comment "Raster + scalar/vector field tiles (sub-millijoules)." .
map:F3_Feature a map:Tier ; rdfs:label "F3 Feature" ; rdfs:comment "Vector features + live entities (millijoules)." .
map:F4_Photoreal a map:Tier ; rdfs:label "F4 Photoreal" ; rdfs:comment "3D Gaussian splats; the escape hatch (joules)." .
# ─── Provenance (SPEC §6) ───────────────────────────────────────────
map:Provenance a owl:Class ; rdfs:label "Energy provenance" .
map:HwShunt a map:Provenance ; rdfs:label "HwShunt" ; rdfs:comment "Read from a hardware energy interface; requires a measured figure." .
map:ModelBased a map:Provenance ; rdfs:label "ModelBased" ; rdfs:comment "Computed from a calibrated per-operation model." .
map:Estimator a map:Provenance ; rdfs:label "Estimator" ; rdfs:comment "Coarse constant estimator; must not carry a measured figure." .
# ─── Properties ─────────────────────────────────────────────────────
map:s2 a owl:DatatypeProperty ; rdfs:domain map:CellKey ; rdfs:range xsd:unsignedLong ;
rdfs:label "S2 cell id" .
map:altBand a owl:DatatypeProperty ; rdfs:domain map:CellKey ; rdfs:range xsd:integer ;
rdfs:label "altitude band" .
map:timeStart a owl:DatatypeProperty ; rdfs:domain map:CellKey ; rdfs:range xsd:long ;
rdfs:label "time bucket start (TAI ms); 0 = atemporal" .
map:timeWidth a owl:DatatypeProperty ; rdfs:domain map:CellKey ; rdfs:range xsd:unsignedLong ;
rdfs:label "time bucket width (ms); 0 = atemporal" .
map:lod a owl:DatatypeProperty ; rdfs:domain map:CellKey ; rdfs:range xsd:unsignedByte ;
rdfs:label "within-tier LOD" .
map:contentId a owl:DatatypeProperty ; rdfs:range xsd:hexBinary ;
rdfs:label "BLAKE3 content id (32 bytes)" .
map:dirRoot a owl:DatatypeProperty ; rdfs:domain map:Manifest ; rdfs:range xsd:hexBinary ;
rdfs:label "directory Merkle root" .
map:prevRoot a owl:DatatypeProperty ; rdfs:domain map:Revision ; rdfs:range xsd:hexBinary .
map:newRoot a owl:DatatypeProperty ; rdfs:domain map:Revision ; rdfs:range xsd:hexBinary .
map:tier a owl:ObjectProperty ; rdfs:range map:Tier .
map:estimatedUj a owl:DatatypeProperty ; rdfs:domain map:Receipt ; rdfs:range xsd:unsignedLong .
map:measuredUj a owl:DatatypeProperty ; rdfs:domain map:Receipt ; rdfs:range xsd:unsignedLong .
map:provenance a owl:ObjectProperty ; rdfs:domain map:Receipt ; rdfs:range map:Provenance .
map:publisher a owl:ObjectProperty ; rdfs:range map:Publisher .
map:disclaimer a owl:DatatypeProperty ; rdfs:domain map:Manifest ; rdfs:range xsd:string ;
rdfs:comment "Required, non-empty, for any air-navigation tileset (SPEC §9)." .