open-standards/wai/vocab/v1.ttl
Transaction Science 2354fd9a96 vocab v1 across sister standards: arl + openpay + smart-byte + eoc + wai + joule-code (wave-23 #3)
Carries the third-generation-interop pattern shipped at
jouleclaw/vocab/v1 across every TX Science open standard. Every
sister standard now has a stable IRI for every wire field of
every major data type, plus a Turtle ontology covering classes,
enumerations, and properties.

What ships, per standard:

  arl/vocab/         Claim, Session, Evaluation, Attestation;
                     the four axes (Validation Depth 1–9,
                     Convergence A–E, EnergyProfile, S0–S4);
                     ARL-S isolation tiers 0–3.

  openpay/vocab/     Money, Currency, PaymentMethod, Receipt,
                     Refund, Dispute; the five rails (FedNow / PIX
                     / SEPA Instant / USDC / USDT); the four card
                     schemes; the seven lifecycle states.

  smart-byte/vocab/  Byte, Envelope, Issuer, Holder, KERI AID,
                     LockstepEvent; the cargo-class taxonomy
                     (Value / Coding / Identity / Telemetry /
                     Custom) and the shared HwShunt / ModelBased /
                     Estimator energy-provenance enum.

  eoc/vocab/         Query, Resolution, EOC Receipt, the four
                     cascade stages (Cache / KeyValue / Graph /
                     Neural), CarbonRecord, VendorAPI binding.

  wai/vocab/         Manifest, Capability, Codec; the two paths
                     (NeuralPath shared-prior + ZerothPath
                     registered codec menu); the six modalities;
                     the nine codecs in the v1 menu.

  joule-code/vocab/  README.md complements the LEXICON.md / v1.jsonld
                     / v1.ttl already shipped in b838b86.

Every JSON-LD `@context` pairs with a Turtle ontology. Every
ontology subclasses W3C PROV-O where the alignment is exact
(prov:Activity for sessions / resolutions / lockstep events,
prov:Entity for source trees, prov:Agent for issuers / agents).

Pattern is identical to jouleclaw/vocab/v1 so a downstream
consumer that already loads one vocabulary picks up the others
with no new code: same namespace shape, same JSON-LD context
binding, same Turtle conventions.

Standards documents stay unchanged on the wire: vocabularies are
optional additions, not modifications. A receipt or claim that
doesn't carry `@context` deserialises exactly as before; one that
does gains typed RDF semantics for free.

Licences match each standard's spec text — CC-BY-4.0 for ARL,
Smart Byte, EOC, joule-code; Apache-2.0 for OpenPay, WAI.

Deploy follow-up: extending the Caddyfile @-blocks of arl /
openpay / byte / eoc / wai / joulecode sites to serve `.jsonld`
files as `application/ld+json` is a separate small change. Until
then the vocab is reachable via the GitHub raw URL.
2026-06-02 14:16:58 -04:00

68 lines
5 KiB
Turtle

@prefix wai: <https://wai.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 dc: <http://purl.org/dc/terms/> .
<https://wai.transaction.science/vocab/v1> a owl:Ontology ;
dc:title "WAI vocabulary (v1)" ;
dc:description "Stable IRIs for the Web AI Media Transport & Execution open standard: Manifest, Capability, Codec, the two paths (neural shared-prior + zeroth registered-codec floor), and the modality / codec enumerations." ;
dc:license <https://www.apache.org/licenses/LICENSE-2.0> ;
owl:versionInfo "1" .
# ─── Top-level classes ───────────────────────────────────────────────
wai:Manifest a owl:Class ; rdfs:label "WAI manifest" ;
rdfs:comment "The envelope around a WAI media object — names the modality, the codec, the path, and the capabilities the file requires." .
wai:Capability a owl:Class ; rdfs:label "Required capability" ;
rdfs:comment "A capability the consumer must possess to open the file (e.g. shared-prior decoder, AV1 hardware decoder)." .
wai:Codec a owl:Class ; rdfs:label "Registered codec" .
wai:NeuralPrior a owl:Class ; rdfs:label "Shared ambient neural prior" .
wai:Stream a owl:Class ; rdfs:label "Media stream" .
wai:Envelope a owl:Class ; rdfs:label "Signed envelope" .
# ─── Modality ────────────────────────────────────────────────────────
wai:Modality a owl:Class ; rdfs:label "Media modality" .
wai:Image a wai:Modality ; rdfs:label "Image" .
wai:Audio a wai:Modality ; rdfs:label "Audio" .
wai:Video a wai:Modality ; rdfs:label "Video" .
wai:Volume a wai:Modality ; rdfs:label "Volumetric (3D)" .
wai:Mesh a wai:Modality ; rdfs:label "Mesh / polygonal" .
wai:Compressed a wai:Modality ; rdfs:label "Generic compressed payload" .
# ─── Paths (neural vs zeroth) ────────────────────────────────────────
wai:Path a owl:Class ; rdfs:label "Decode path" .
wai:NeuralPath a wai:Path ; rdfs:label "Neural shared-prior path" ;
rdfs:comment "Sink regenerates the media from a shared ambient prior referenced by URI + hash." .
wai:ZerothPath a wai:Path ; rdfs:label "Zeroth-condition path" ;
rdfs:comment "Registered SOTA codec menu — PNG/FLAC/zstd mandatory floor + the recommended modern set." .
# ─── Registered codecs ───────────────────────────────────────────────
wai:PNG a wai:Codec ; rdfs:label "PNG (image, lossless)" .
wai:JPEG a wai:Codec ; rdfs:label "JPEG (image, lossy)" .
wai:AVIF a wai:Codec ; rdfs:label "AVIF (image)" .
wai:JPEGXL a wai:Codec ; rdfs:label "JPEG XL (image)" .
wai:FLAC a wai:Codec ; rdfs:label "FLAC (audio, lossless)" .
wai:Opus a wai:Codec ; rdfs:label "Opus (audio)" .
wai:AV1 a wai:Codec ; rdfs:label "AV1 (video)" .
wai:zstd a wai:Codec ; rdfs:label "zstd (generic compression)" .
wai:XZ a wai:Codec ; rdfs:label "XZ (generic compression)" .
# ─── Properties ──────────────────────────────────────────────────────
wai:modality a owl:ObjectProperty ; rdfs:domain wai:Manifest ; rdfs:range wai:Modality ; rdfs:label "Media modality" .
wai:codec a owl:ObjectProperty ; rdfs:domain wai:Manifest ; rdfs:range wai:Codec ; rdfs:label "Selected codec" .
wai:path a owl:ObjectProperty ; rdfs:domain wai:Manifest ; rdfs:range wai:Path ; rdfs:label "Decode path" .
wai:capabilitiesRequired a owl:ObjectProperty ; rdfs:domain wai:Manifest ; rdfs:range wai:Capability ; rdfs:label "Required capabilities" .
wai:sharedPriorUri a owl:ObjectProperty ; rdfs:domain wai:NeuralPrior ; rdfs:label "Shared-prior URI" .
wai:sharedPriorHash a owl:DatatypeProperty ; rdfs:domain wai:NeuralPrior ; rdfs:range xsd:string ; rdfs:label "Shared-prior content hash (BLAKE3 hex)" .
wai:contentHash a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Content hash (BLAKE3 hex)" .
wai:size a owl:DatatypeProperty ; rdfs:range xsd:nonNegativeInteger ; rdfs:label "Byte size" .
wai:mediaType a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "IANA media type" .
wai:encodedAt a owl:DatatypeProperty ; rdfs:range xsd:dateTime ; rdfs:label "Encoded at (RFC 3339)" .
wai:decodedAt a owl:DatatypeProperty ; rdfs:range xsd:dateTime ; rdfs:label "Decoded at (RFC 3339)" .
wai:schemaId a owl:DatatypeProperty ; rdfs:range xsd:string ; rdfs:label "Schema id (e.g. \"manifest/1\")" .