@metreeca/blue - v0.12.0
    Preparing search index...

    Type Alias DictionaryShape

    DictionaryShape: DictionaryConstraints & { kind: "dictionary" }

    Describes a localised textual value.

    Admits the JSON-LD language maps a resource may carry: a map keyed by BCP 47 language tag, holding the content the resource states in each language, so that a property whose value varies by language is described by a single shape rather than by one member per language. Content of undetermined language (a proper name, say) is keyed by the und tag, and content belonging to no language at all (an identifier, a code, a formula) by the zxx tag. Each entry is stored as a RDF 1.1 language-tagged string.

    How many strings a tag carries is fixed by uniqueLang: a unique-tagged shape gives every tag a single string, and any other gives every tag an array. The map is a value set in its own right, so a member carries it whole, never in an array, whatever the bounds of the enclosing value!Range admit: those bounds count the values of the other branches of a two-natured range, which a resource carries in place of the map and never beside it.

    Negotiation

    The tag-keyed map is the form a value is stored and submitted in. On retrieval a localised member is additionally coalesced under language negotiation, at the same per-tag arity: the value may be retrieved as the negotiated content alone (a bare string where a tag carries one, a single-element array where it carries several), and filtered by a plain string operand (a comparison, a text search or an option) matched against the negotiated content under ordinary textual semantics. Submission never coalesces: it accepts the tag-keyed form alone.

    Inheritance

    Where a resource!ResourceShape extends the shapes it lists as parents, localised members are merged according to the following rules. The child is the extending shape; the parent is the inherited one.

    Field Override Rule
    kind Cannot be overridden
    minLength Child may only raise the minimum length
    maxLength Child may only lower the maximum length
    languageIn Child may only drop accepted ranges
    uniqueLang Child may add but not drop; an inherited constraint always carries through

    Cross-field validation

    • merged minLength must be ≤ merged maxLength

    Type Declaration

    • Readonlykind: "dictionary"

      Discriminator identifying this as a dictionary shape.

      Inheritance — cannot be overridden.