Standard extensions¶
On top of plain JSON Schema and JSON-LD, OO-LD defines a small set of extensions. They fall into two groups.
JSON-LD side
- Processing mode (
@version) - OO-LD relies on JSON-LD 1.1 features (scoped contexts), so contexts should declare"@version": 1.1. - Multi-Mapping - a
<property>*notation documents alternative IRI mappings for a term (redesign tracked in #12).
JSON Schema side
- JSON Schema 2020-12 is the required dialect (composition places
$refnext to sibling keywords, only honored from 2019-09 onward). - Multilanguage -
x-oold-multilang-title/x-oold-multilang-descriptionlocalize a schema's own labels; instance values are localized with standard JSON-LD language maps. - Range (
x-oold-range) - constrains the type of a referenced object (an IRI, a union of IRIs, or an inline subschema); references inside it usex-oold-ref, not$ref. - Reverse properties (
x-oold-reverse-*) - edit a symmetric relation from both sides, mapped with JSON-LD@reverse. - UI Generation - keywords from JSON Editor may drive automatic form generation.
For the normative rules and worked examples of every keyword above, see Standard Extensions in the specification.