open-standards/wai/vocab/v2.shapes.ttl
Transaction Science deca7f582c wai: regenerate the registry export for wai.video.vp8 and wai.audio.opus.packet
`wai registry export` output: registry/capabilities.json, vocab/v2.ttl,
vocab/v2.shapes.ttl and the generated table in REGISTRY.md gain the two rows.
No hand edits.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 13:52:30 -04:00

385 lines
13 KiB
Turtle

# Generated by `wai registry export` from wai-rs/src/codecs/registry.rs. Do not edit.
@prefix wai: <https://wai.transaction.science/vocab/v2#> .
@prefix sh: <http://www.w3.org/ns/shacl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# A WAI manifest, typed or not: every manifest has a wai (version) field. A WAI1 manifest names a
# capability, a WAI2 manifest a renditions list, and never both. The capability is a
# registered payload, companion or refinement capability that is not a candidate; the
# fallback a registered payload capability that is not a candidate. (A WAI1 naming a
# companion-only capability, or a refinement-only one without refines, parses but does
# not conform; the reference implementation's role check reports it.) media is
# informational, and a reader accepts a value it does not know
# (SPEC sections 3 and 8), so only its form is checked.
wai:ManifestShape a sh:NodeShape ;
sh:targetClass wai:Manifest ;
sh:targetSubjectsOf wai:wai ;
sh:targetSubjectsOf wai:intent ;
sh:property [ sh:path wai:capability ; sh:nodeKind sh:IRI ; sh:maxCount 1 ;
sh:in (
wai:wai.audio.aac
wai:wai.audio.ac4
wai:wai.audio.avs3
wai:wai.audio.flac
wai:wai.audio.iamf
wai:wai.audio.int_codec
wai:wai.audio.int_refine
wai:wai.audio.ivas
wai:wai.audio.mpegh
wai:wai.audio.opus
wai:wai.audio.opus.packet
wai:wai.audio.scene
wai:wai.audio.score
wai:wai.avatar.pose
wai:wai.feed.state
wai:wai.film.linear
wai:wai.film.reel
wai:wai.generate.spectral
wai:wai.haptic.mihs
wai:wai.haptic.signal
wai:wai.image.avif
wai:wai.image.int_refine
wai:wai.image.jp2
wai:wai.image.jpeg
wai:wai.image.jpegai
wai:wai.image.jxl
wai:wai.image.png
wai:wai.mesh.draco
wai:wai.mesh.glb
wai:wai.meta.dovi
wai:wai.meta.hdr10plus
wai:wai.neural.bmshj2018
wai:wai.neural.cmic
wai:wai.neural.dac
wai:wai.neural.dcvc_fm
wai:wai.neural.dcvc_rt
wai:wai.neural.elic
wai:wai.neural.encodec32
wai:wai.neural.glc
wai:wai.neural.int_hyper
wai:wai.neural.int_mlicpp
wai:wai.neural.int_synth
wai:wai.neural.mbt2018_mean
wai:wai.neural.mimi
wai:wai.neural.mlicpp
wai:wai.neural.mlicv2
wai:wai.neural.snac
wai:wai.neural.video_bmshj2018
wai:wai.neural.wavtokenizer
wai:wai.pc.gpcc
wai:wai.pc.vpcc
wai:wai.prior.nnc
wai:wai.prior.set
wai:wai.quantum.circuit
wai:wai.quantum.circuit2
wai:wai.semantic.clip
wai:wai.semantic.perco2
wai:wai.splat.4d
wai:wai.splat.int_codec
wai:wai.splat.int_refine
wai:wai.splat.spz
wai:wai.ternary.tt
wai:wai.text.xz
wai:wai.text.zstd
wai:wai.video.av1
wai:wai.video.av1.lossless
wai:wai.video.av2
wai:wai.video.avc
wai:wai.video.avs3
wai:wai.video.evc
wai:wai.video.evc.baseline
wai:wai.video.hevc
wai:wai.video.int_hyper
wai:wai.video.int_motion
wai:wai.video.int_refine
wai:wai.video.j2k
wai:wai.video.lcevc
wai:wai.video.vp8
wai:wai.video.vp9
wai:wai.video.vvc
wai:wai.world.live
wai:wai.world.model
wai:wai.world.replay
wai:wai.world.scene
) ] ;
sh:property [ sh:path wai:fallback ; sh:nodeKind sh:IRI ; sh:maxCount 1 ;
sh:in (
wai:wai.audio.aac
wai:wai.audio.ac4
wai:wai.audio.avs3
wai:wai.audio.flac
wai:wai.audio.iamf
wai:wai.audio.int_codec
wai:wai.audio.ivas
wai:wai.audio.mpegh
wai:wai.audio.opus
wai:wai.audio.opus.packet
wai:wai.audio.scene
wai:wai.audio.score
wai:wai.avatar.pose
wai:wai.feed.state
wai:wai.film.linear
wai:wai.film.reel
wai:wai.generate.spectral
wai:wai.haptic.mihs
wai:wai.haptic.signal
wai:wai.image.avif
wai:wai.image.jp2
wai:wai.image.jpeg
wai:wai.image.jpegai
wai:wai.image.jxl
wai:wai.image.png
wai:wai.mesh.draco
wai:wai.mesh.glb
wai:wai.neural.bmshj2018
wai:wai.neural.cmic
wai:wai.neural.dac
wai:wai.neural.dcvc_fm
wai:wai.neural.dcvc_rt
wai:wai.neural.elic
wai:wai.neural.encodec32
wai:wai.neural.glc
wai:wai.neural.int_hyper
wai:wai.neural.int_mlicpp
wai:wai.neural.int_synth
wai:wai.neural.mbt2018_mean
wai:wai.neural.mimi
wai:wai.neural.mlicpp
wai:wai.neural.mlicv2
wai:wai.neural.snac
wai:wai.neural.video_bmshj2018
wai:wai.neural.wavtokenizer
wai:wai.pc.gpcc
wai:wai.pc.vpcc
wai:wai.prior.nnc
wai:wai.prior.set
wai:wai.quantum.circuit
wai:wai.quantum.circuit2
wai:wai.semantic.clip
wai:wai.semantic.perco2
wai:wai.splat.4d
wai:wai.splat.int_codec
wai:wai.splat.spz
wai:wai.ternary.tt
wai:wai.text.xz
wai:wai.text.zstd
wai:wai.video.av1
wai:wai.video.av1.lossless
wai:wai.video.av2
wai:wai.video.avc
wai:wai.video.avs3
wai:wai.video.evc
wai:wai.video.evc.baseline
wai:wai.video.hevc
wai:wai.video.int_hyper
wai:wai.video.int_motion
wai:wai.video.j2k
wai:wai.video.vp8
wai:wai.video.vp9
wai:wai.video.vvc
wai:wai.world.live
wai:wai.world.model
wai:wai.world.replay
wai:wai.world.scene
) ] ;
sh:property [ sh:path wai:media ; sh:nodeKind sh:IRI ; sh:maxCount 1 ] ;
sh:property [ sh:path wai:intent ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ] ;
sh:xone (
[ sh:property [ sh:path wai:capability ; sh:minCount 1 ] ]
[ sh:property [ sh:path wai:renditions ; sh:minCount 1 ] ]
) .
# A WAI2 component, in any role: its capability is a registered payload, companion or
# refinement capability that is not a candidate, and the base a companion names is a
# registered payload capability that is not a candidate.
wai:ComponentShape a sh:NodeShape ;
sh:targetClass wai:Component ;
sh:targetObjectsOf wai:renditions ;
sh:property [ sh:path wai:capability ; sh:nodeKind sh:IRI ; sh:minCount 1 ; sh:maxCount 1 ;
sh:in (
wai:wai.audio.aac
wai:wai.audio.ac4
wai:wai.audio.avs3
wai:wai.audio.flac
wai:wai.audio.iamf
wai:wai.audio.int_codec
wai:wai.audio.int_refine
wai:wai.audio.ivas
wai:wai.audio.mpegh
wai:wai.audio.opus
wai:wai.audio.opus.packet
wai:wai.audio.scene
wai:wai.audio.score
wai:wai.avatar.pose
wai:wai.feed.state
wai:wai.film.linear
wai:wai.film.reel
wai:wai.generate.spectral
wai:wai.haptic.mihs
wai:wai.haptic.signal
wai:wai.image.avif
wai:wai.image.int_refine
wai:wai.image.jp2
wai:wai.image.jpeg
wai:wai.image.jpegai
wai:wai.image.jxl
wai:wai.image.png
wai:wai.mesh.draco
wai:wai.mesh.glb
wai:wai.meta.dovi
wai:wai.meta.hdr10plus
wai:wai.neural.bmshj2018
wai:wai.neural.cmic
wai:wai.neural.dac
wai:wai.neural.dcvc_fm
wai:wai.neural.dcvc_rt
wai:wai.neural.elic
wai:wai.neural.encodec32
wai:wai.neural.glc
wai:wai.neural.int_hyper
wai:wai.neural.int_mlicpp
wai:wai.neural.int_synth
wai:wai.neural.mbt2018_mean
wai:wai.neural.mimi
wai:wai.neural.mlicpp
wai:wai.neural.mlicv2
wai:wai.neural.snac
wai:wai.neural.video_bmshj2018
wai:wai.neural.wavtokenizer
wai:wai.pc.gpcc
wai:wai.pc.vpcc
wai:wai.prior.nnc
wai:wai.prior.set
wai:wai.quantum.circuit
wai:wai.quantum.circuit2
wai:wai.semantic.clip
wai:wai.semantic.perco2
wai:wai.splat.4d
wai:wai.splat.int_codec
wai:wai.splat.int_refine
wai:wai.splat.spz
wai:wai.ternary.tt
wai:wai.text.xz
wai:wai.text.zstd
wai:wai.video.av1
wai:wai.video.av1.lossless
wai:wai.video.av2
wai:wai.video.avc
wai:wai.video.avs3
wai:wai.video.evc
wai:wai.video.evc.baseline
wai:wai.video.hevc
wai:wai.video.int_hyper
wai:wai.video.int_motion
wai:wai.video.int_refine
wai:wai.video.j2k
wai:wai.video.lcevc
wai:wai.video.vp8
wai:wai.video.vp9
wai:wai.video.vvc
wai:wai.world.live
wai:wai.world.model
wai:wai.world.replay
wai:wai.world.scene
) ] ;
sh:property [ sh:path wai:companionOf ; sh:nodeKind sh:IRI ; sh:maxCount 1 ;
sh:in (
wai:wai.audio.aac
wai:wai.audio.ac4
wai:wai.audio.avs3
wai:wai.audio.flac
wai:wai.audio.iamf
wai:wai.audio.int_codec
wai:wai.audio.ivas
wai:wai.audio.mpegh
wai:wai.audio.opus
wai:wai.audio.opus.packet
wai:wai.audio.scene
wai:wai.audio.score
wai:wai.avatar.pose
wai:wai.feed.state
wai:wai.film.linear
wai:wai.film.reel
wai:wai.generate.spectral
wai:wai.haptic.mihs
wai:wai.haptic.signal
wai:wai.image.avif
wai:wai.image.jp2
wai:wai.image.jpeg
wai:wai.image.jpegai
wai:wai.image.jxl
wai:wai.image.png
wai:wai.mesh.draco
wai:wai.mesh.glb
wai:wai.neural.bmshj2018
wai:wai.neural.cmic
wai:wai.neural.dac
wai:wai.neural.dcvc_fm
wai:wai.neural.dcvc_rt
wai:wai.neural.elic
wai:wai.neural.encodec32
wai:wai.neural.glc
wai:wai.neural.int_hyper
wai:wai.neural.int_mlicpp
wai:wai.neural.int_synth
wai:wai.neural.mbt2018_mean
wai:wai.neural.mimi
wai:wai.neural.mlicpp
wai:wai.neural.mlicv2
wai:wai.neural.snac
wai:wai.neural.video_bmshj2018
wai:wai.neural.wavtokenizer
wai:wai.pc.gpcc
wai:wai.pc.vpcc
wai:wai.prior.nnc
wai:wai.prior.set
wai:wai.quantum.circuit
wai:wai.quantum.circuit2
wai:wai.semantic.clip
wai:wai.semantic.perco2
wai:wai.splat.4d
wai:wai.splat.int_codec
wai:wai.splat.spz
wai:wai.ternary.tt
wai:wai.text.xz
wai:wai.text.zstd
wai:wai.video.av1
wai:wai.video.av1.lossless
wai:wai.video.av2
wai:wai.video.avc
wai:wai.video.avs3
wai:wai.video.evc
wai:wai.video.evc.baseline
wai:wai.video.hevc
wai:wai.video.int_hyper
wai:wai.video.int_motion
wai:wai.video.j2k
wai:wai.video.vp8
wai:wai.video.vp9
wai:wai.video.vvc
wai:wai.world.live
wai:wai.world.model
wai:wai.world.replay
wai:wai.world.scene
) ] .
# The parameter-set pin (SPEC section 3.1). The JSON-LD context types no prior object,
# so the shape targets whatever wai:prior points at rather than a class. pinTier is a
# closed vocabulary; the tokens are the ones codecs::TIER_TOKENS holds.
wai:ParameterSetPinShape a sh:NodeShape ;
sh:targetObjectsOf wai:prior ;
sh:property [ sh:path wai:pinId ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ] ;
sh:property [ sh:path wai:pinSha256 ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ;
sh:pattern "^[a-f0-9]{64}$" ] ;
sh:property [ sh:path wai:pinDeterminism ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ] ;
sh:property [ sh:path wai:pinForm ; sh:datatype xsd:string ; sh:maxCount 1 ] ;
sh:property [ sh:path wai:pinTier ; sh:datatype xsd:string ; sh:maxCount 1 ;
sh:in ( "decode-equivalence" "entropy-consistency" "none" ) ] ;
sh:property [ sh:path wai:pinSupersedes ; sh:node wai:SupersedesShape ; sh:maxCount 1 ] .
# supersedes names a set as a pin names one, by sha256 and, if it is pinned in a
# declared form, form; it has no id, determinism or tier.
wai:SupersedesShape a sh:NodeShape ;
sh:property [ sh:path wai:pinSha256 ; sh:datatype xsd:string ; sh:minCount 1 ; sh:maxCount 1 ;
sh:pattern "^[a-f0-9]{64}$" ] ;
sh:property [ sh:path wai:pinForm ; sh:datatype xsd:string ; sh:maxCount 1 ] .