Defines shapes and factories for validating language-tagged string values, mapping
JSON-LD language maps to
RDF 1.1 language-tagged strings.
Whether each tag holds a single string or a string array is determined by the cardinality of the enclosing
SetShape, not by the shape itself:
Scalar cardinality (maxCount === 1): each tag holds a single string
Array cardinality (maxCount > 1 or unbounded): each tag holds a string array
The tag-keyed map is the form stored and ingested. A localised property additionally coalesces under language
negotiation when retrieved, at its per-tag cardinality: its template slot also accepts a coalesced placeholder for
the negotiated value(s) (a bare string for single-string-per-tag, a single-element string array for array-per-tag),
and a selection may constrain it with a plain-string operand (comparison, text search, or option) matched
existentially over the coalesced value set under ordinary string semantics. State ingress never coalesces: it
accepts only the tag-keyed form.
Compatibility
JSON
JSON-LD
RDF 1.1
tag-keyed string map
@language-container language map
language-tagged string literals
Defining Language-Tagged Shapes
Models are tag-keyed maps; the und tag carries content of
undetermined language (a proper name, say), and the zxx tag content
with no language at all (identifiers, codes, formulae):
Dictionary shape and factories.
Defines shapes and factories for validating language-tagged string values, mapping JSON-LD language maps to RDF 1.1 language-tagged strings.
Whether each tag holds a single string or a string array is determined by the cardinality of the enclosing SetShape, not by the shape itself:
maxCount === 1): each tag holds a single stringmaxCount > 1or unbounded): each tag holds a string arrayThe tag-keyed map is the form stored and ingested. A localised property additionally coalesces under language negotiation when retrieved, at its per-tag cardinality: its template slot also accepts a coalesced placeholder for the negotiated value(s) (a bare string for single-string-per-tag, a single-element string array for array-per-tag), and a selection may constrain it with a plain-string operand (comparison, text search, or option) matched existentially over the coalesced value set under ordinary string semantics. State ingress never coalesces: it accepts only the tag-keyed form.
Compatibility
@language-container language mapDefining Language-Tagged Shapes
Models are tag-keyed maps; the
undtag carries content of undetermined language (a proper name, say), and thezxxtag content with no language at all (identifiers, codes, formulae):Using in Resource Shapes
See