The variants record type mapping names to value shapes
ReadonlykindDiscriminator identifying this as a union.
ReadonlymodelPrototype value for runtime model assembly.
An indexed record mapping variant keys to their model types. Each variant key is individually optional since union values provide one variant at a time.
ReadonlyvariantsNamed value shape variants.
Each key serves as a type discriminator for polymorphic property values.
Discriminated type alternatives for polymorphic property values.
Values for union properties are represented as Indexed records mapping variant identifiers to values. In JSON-LD, this maps to an indexed container (
@container: @index), where variant keys serve as type discriminators.Unions are pure type discriminators — cardinality constraints belong on the enclosing Range, not on individual variants.
Indexed containers are designed exactly to provide JSON structure without affecting JSON-LD graph semantics, making unions unambiguous and manageable while preserving interoperability with linked data systems.
See