diff --git a/linkml_model/model/schema/meta.yaml b/linkml_model/model/schema/meta.yaml index 4b1b6514..d0ac4547 100644 --- a/linkml_model/model/schema/meta.yaml +++ b/linkml_model/model/schema/meta.yaml @@ -650,6 +650,29 @@ slots: exact_mappings: - cdisc:PermissibleValue + is_open: + domain: enum_expression + range: boolean + description: >- + Whether the enumeration is open, meaning that values outside of the set of + permissible values are allowed. If true, the enumeration is open and data values + that are not in the set of permissible values are permitted (though they SHOULD be + drawn from the permissible values if available). If false (runtime default), the + enumeration is closed and data values MUST be drawn from the set of permissible values. + ifabsent: false + comments: + - An open enumeration is analogous to the `allow-other="yes"` construct in the OSCAL Metamodel. + - When an enum is open, the permissible values are advisory - they document the recommended + or expected values but do not constrain the range. In JSON Schema this maps to a plain string. + see_also: + - https://pages.nist.gov/metaschema/specification/syntax/constraints/#allow-other + - https://github.com/linkml/linkml/issues/127 + - https://github.com/linkml/linkml/pull/3712 + in_subset: + - SpecificationSubset + # BasicSubset + status: testing + enum_uri: aliases: - public ID @@ -2782,6 +2805,7 @@ classes: - code_set_version - pv_formula - permissible_values + - is_open - include - minus - inherits