diff --git a/linkml_runtime/linkml_model/annotations.py b/linkml_runtime/linkml_model/annotations.py index a6dbfcba..bc5c1cd2 100644 --- a/linkml_runtime/linkml_model/annotations.py +++ b/linkml_runtime/linkml_model/annotations.py @@ -1,5 +1,5 @@ -# Auto generated from annotations.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:10 +# Auto generated from annotations.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:22 # Schema: annotations # # id: https://w3id.org/linkml/annotations @@ -49,7 +49,7 @@ class Annotatable(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Annotatable + class_class_uri: ClassVar[URIRef] = LINKML["Annotatable"] class_class_curie: ClassVar[str] = "linkml:Annotatable" class_name: ClassVar[str] = "annotatable" class_model_uri: ClassVar[URIRef] = LINKML.Annotatable @@ -69,7 +69,7 @@ class Annotation(Extension): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Annotation + class_class_uri: ClassVar[URIRef] = LINKML["Annotation"] class_class_curie: ClassVar[str] = "linkml:Annotation" class_name: ClassVar[str] = "annotation" class_model_uri: ClassVar[URIRef] = LINKML.Annotation diff --git a/linkml_runtime/linkml_model/array.py b/linkml_runtime/linkml_model/array.py index f1cda556..e69de29b 100644 --- a/linkml_runtime/linkml_model/array.py +++ b/linkml_runtime/linkml_model/array.py @@ -1,419 +0,0 @@ -# Auto generated from array.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:12 -# Schema: arrays -# -# id: https://w3id.org/linkml/lib/arrays -# description: LinkML templates for storing one-dimensional series, two-dimensional arrays, and arrays of higher dimensionality. -# Status: Experimental -# Note that this model is not intended to be imported directly. Instead, use `implements` to denote conformance. -# license: https://creativecommons.org/publicdomain/zero/1.0/ - -import dataclasses -import re -from jsonasobj2 import JsonObj, as_dict -from typing import Optional, List, Union, Dict, ClassVar, Any -from dataclasses import dataclass - -from linkml_runtime.utils.slot import Slot -from linkml_runtime.utils.metamodelcore import empty_list, empty_dict, bnode -from linkml_runtime.utils.yamlutils import YAMLRoot, extended_str, extended_float, extended_int -from linkml_runtime.utils.dataclass_extensions_376 import dataclasses_init_fn_with_kwargs -from linkml_runtime.utils.formatutils import camelcase, underscore, sfx -from linkml_runtime.utils.enumerations import EnumDefinitionImpl -from rdflib import Namespace, URIRef -from linkml_runtime.utils.curienamespace import CurieNamespace -from .types import Integer, String - -metamodel_version = "1.7.0" -version = None - -# Overwrite dataclasses _init_fn to add **kwargs in __init__ -dataclasses._init_fn = dataclasses_init_fn_with_kwargs - -# Namespaces -GITHUB = CurieNamespace('github', 'https://github.com/') -GOM = CurieNamespace('gom', 'https://w3id.org/gom#') -LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') -DEFAULT_ = LINKML - - -# Types - -# Class references -class OneDimensionalSeriesSeriesLabel(extended_str): - pass - - -Any = Any - -class DataStructure(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.DataStructure - class_class_curie: ClassVar[str] = "linkml:DataStructure" - class_name: ClassVar[str] = "DataStructure" - class_model_uri: ClassVar[URIRef] = LINKML.DataStructure - - -@dataclass -class Array(DataStructure): - """ - a data structure consisting of a collection of *elements*, each identified by at least one array index tuple. - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.Array - class_class_curie: ClassVar[str] = "linkml:Array" - class_name: ClassVar[str] = "Array" - class_model_uri: ClassVar[URIRef] = LINKML.Array - - elements: Union[Union[dict, Any], List[Union[dict, Any]]] = None - dimensionality: Optional[int] = None - array_linearization_order: Optional[Union[str, "ArrayLinearizationOrderOptions"]] = "ROW_MAJOR_ARRAY_ORDER" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.dimensionality is not None and not isinstance(self.dimensionality, int): - self.dimensionality = int(self.dimensionality) - - if self.array_linearization_order is not None and not isinstance(self.array_linearization_order, ArrayLinearizationOrderOptions): - self.array_linearization_order = ArrayLinearizationOrderOptions(self.array_linearization_order) - - super().__post_init__(**kwargs) - - -@dataclass -class OneDimensionalSeries(Array): - """ - An array that has one dimension - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.OneDimensionalSeries - class_class_curie: ClassVar[str] = "linkml:OneDimensionalSeries" - class_name: ClassVar[str] = "OneDimensionalSeries" - class_model_uri: ClassVar[URIRef] = LINKML.OneDimensionalSeries - - series_label: Union[str, OneDimensionalSeriesSeriesLabel] = None - elements: Union[Union[dict, Any], List[Union[dict, Any]]] = None - length: Optional[int] = None - dimensionality: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.series_label): - self.MissingRequiredField("series_label") - if not isinstance(self.series_label, OneDimensionalSeriesSeriesLabel): - self.series_label = OneDimensionalSeriesSeriesLabel(self.series_label) - - if self.length is not None and not isinstance(self.length, int): - self.length = int(self.length) - - if self.dimensionality is not None and not isinstance(self.dimensionality, int): - self.dimensionality = int(self.dimensionality) - - super().__post_init__(**kwargs) - - -@dataclass -class TwoDimensionalArray(Array): - """ - An array that has two dimensions - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.TwoDimensionalArray - class_class_curie: ClassVar[str] = "linkml:TwoDimensionalArray" - class_name: ClassVar[str] = "TwoDimensionalArray" - class_model_uri: ClassVar[URIRef] = LINKML.TwoDimensionalArray - - axis0: Union[dict, OneDimensionalSeries] = None - axis1: Union[dict, OneDimensionalSeries] = None - elements: Union[Union[dict, Any], List[Union[dict, Any]]] = None - dimensionality: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.axis0): - self.MissingRequiredField("axis0") - if not isinstance(self.axis0, OneDimensionalSeries): - self.axis0 = OneDimensionalSeries(**as_dict(self.axis0)) - - if self._is_empty(self.axis1): - self.MissingRequiredField("axis1") - if not isinstance(self.axis1, OneDimensionalSeries): - self.axis1 = OneDimensionalSeries(**as_dict(self.axis1)) - - if self.dimensionality is not None and not isinstance(self.dimensionality, int): - self.dimensionality = int(self.dimensionality) - - super().__post_init__(**kwargs) - - -@dataclass -class ThreeDimensionalArray(Array): - """ - An array that has two dimensions - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.ThreeDimensionalArray - class_class_curie: ClassVar[str] = "linkml:ThreeDimensionalArray" - class_name: ClassVar[str] = "ThreeDimensionalArray" - class_model_uri: ClassVar[URIRef] = LINKML.ThreeDimensionalArray - - elements: Union[Union[dict, Any], List[Union[dict, Any]]] = None - axis0: Union[dict, OneDimensionalSeries] = None - axis1: Union[dict, OneDimensionalSeries] = None - axis2: Union[dict, OneDimensionalSeries] = None - dimensionality: Optional[int] = None - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self._is_empty(self.axis0): - self.MissingRequiredField("axis0") - if not isinstance(self.axis0, OneDimensionalSeries): - self.axis0 = OneDimensionalSeries(**as_dict(self.axis0)) - - if self._is_empty(self.axis1): - self.MissingRequiredField("axis1") - if not isinstance(self.axis1, OneDimensionalSeries): - self.axis1 = OneDimensionalSeries(**as_dict(self.axis1)) - - if self._is_empty(self.axis2): - self.MissingRequiredField("axis2") - if not isinstance(self.axis2, OneDimensionalSeries): - self.axis2 = OneDimensionalSeries(**as_dict(self.axis2)) - - if self.dimensionality is not None and not isinstance(self.dimensionality, int): - self.dimensionality = int(self.dimensionality) - - super().__post_init__(**kwargs) - - -class OrderedArray(YAMLRoot): - """ - A mixin that describes an array whose elements are mapped from a linear sequence to an array index via a specified - mapping - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.OrderedArray - class_class_curie: ClassVar[str] = "linkml:OrderedArray" - class_name: ClassVar[str] = "OrderedArray" - class_model_uri: ClassVar[URIRef] = LINKML.OrderedArray - - -@dataclass -class ColumnOrderedArray(YAMLRoot): - """ - An array ordering that is column-order - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.ColumnOrderedArray - class_class_curie: ClassVar[str] = "linkml:ColumnOrderedArray" - class_name: ClassVar[str] = "ColumnOrderedArray" - class_model_uri: ClassVar[URIRef] = LINKML.ColumnOrderedArray - - array_linearization_order: Optional[Union[str, "ArrayLinearizationOrderOptions"]] = "ROW_MAJOR_ARRAY_ORDER" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.array_linearization_order is not None and not isinstance(self.array_linearization_order, ArrayLinearizationOrderOptions): - self.array_linearization_order = ArrayLinearizationOrderOptions(self.array_linearization_order) - - super().__post_init__(**kwargs) - - -@dataclass -class RowOrderedArray(YAMLRoot): - """ - An array ordering that is row-order or generalizations thereof - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.RowOrderedArray - class_class_curie: ClassVar[str] = "linkml:RowOrderedArray" - class_name: ClassVar[str] = "RowOrderedArray" - class_model_uri: ClassVar[URIRef] = LINKML.RowOrderedArray - - array_linearization_order: Optional[Union[str, "ArrayLinearizationOrderOptions"]] = "ROW_MAJOR_ARRAY_ORDER" - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.array_linearization_order is not None and not isinstance(self.array_linearization_order, ArrayLinearizationOrderOptions): - self.array_linearization_order = ArrayLinearizationOrderOptions(self.array_linearization_order) - - super().__post_init__(**kwargs) - - -@dataclass -class MultiDimensionalArray(Array): - """ - An array that has more than two dimensions - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.MultiDimensionalArray - class_class_curie: ClassVar[str] = "linkml:MultiDimensionalArray" - class_name: ClassVar[str] = "MultiDimensionalArray" - class_model_uri: ClassVar[URIRef] = LINKML.MultiDimensionalArray - - elements: Union[Union[dict, Any], List[Union[dict, Any]]] = None - -class ObjectAsTuple(YAMLRoot): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.ObjectAsTuple - class_class_curie: ClassVar[str] = "linkml:ObjectAsTuple" - class_name: ClassVar[str] = "ObjectAsTuple" - class_model_uri: ClassVar[URIRef] = LINKML.ObjectAsTuple - - -class ArrayIndex(ObjectAsTuple): - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.ArrayIndex - class_class_curie: ClassVar[str] = "linkml:ArrayIndex" - class_name: ClassVar[str] = "ArrayIndex" - class_model_uri: ClassVar[URIRef] = LINKML.ArrayIndex - - -@dataclass -class Operation(YAMLRoot): - """ - Represents the transformation of one or more inputs to one or more outputs determined by zero to many operation - parameters - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.Operation - class_class_curie: ClassVar[str] = "linkml:Operation" - class_name: ClassVar[str] = "Operation" - class_model_uri: ClassVar[URIRef] = LINKML.Operation - - specified_input: Optional[Union[Union[dict, DataStructure], List[Union[dict, DataStructure]]]] = empty_list() - specified_output: Optional[Union[Union[dict, DataStructure], List[Union[dict, DataStructure]]]] = empty_list() - operation_parameters: Optional[Union[Union[dict, Any], List[Union[dict, Any]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if not isinstance(self.specified_input, list): - self.specified_input = [self.specified_input] if self.specified_input is not None else [] - self.specified_input = [v if isinstance(v, DataStructure) else DataStructure(**as_dict(v)) for v in self.specified_input] - - if not isinstance(self.specified_output, list): - self.specified_output = [self.specified_output] if self.specified_output is not None else [] - self.specified_output = [v if isinstance(v, DataStructure) else DataStructure(**as_dict(v)) for v in self.specified_output] - - super().__post_init__(**kwargs) - - -@dataclass -class ArrayIndexOperation(YAMLRoot): - """ - An operation that takes as input an Array and is parameterized by an array index tuple and yields an array element - """ - _inherited_slots: ClassVar[List[str]] = [] - - class_class_uri: ClassVar[URIRef] = LINKML.ArrayIndexOperation - class_class_curie: ClassVar[str] = "linkml:ArrayIndexOperation" - class_name: ClassVar[str] = "ArrayIndexOperation" - class_model_uri: ClassVar[URIRef] = LINKML.ArrayIndexOperation - - specified_input: Optional[Union[Union[dict, Array], List[Union[dict, Array]]]] = empty_list() - specified_output: Optional[Union[Union[dict, Any], List[Union[dict, Any]]]] = empty_list() - operation_parameters: Optional[Union[Union[dict, ArrayIndex], List[Union[dict, ArrayIndex]]]] = empty_list() - - def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - self._normalize_inlined_as_dict(slot_name="specified_input", slot_type=Array, key_name="elements", keyed=False) - - if not isinstance(self.operation_parameters, list): - self.operation_parameters = [self.operation_parameters] if self.operation_parameters is not None else [] - self.operation_parameters = [v if isinstance(v, ArrayIndex) else ArrayIndex(**as_dict(v)) for v in self.operation_parameters] - - super().__post_init__(**kwargs) - - -# Enumerations -class ArrayLinearizationOrderOptions(EnumDefinitionImpl): - """ - Determines how a linear contiguous representation of the elements of an array map to array indices - """ - COLUMN_MAJOR_ARRAY_ORDER = PermissibleValue( - text="COLUMN_MAJOR_ARRAY_ORDER", - description="""An array layout option in which the elements in each column is stored in consecutive positions, or any generalization thereof to dimensionality greater than 2""", - meaning=GOM.columnMajorArray) - ROW_MAJOR_ARRAY_ORDER = PermissibleValue( - text="ROW_MAJOR_ARRAY_ORDER", - description="""An array layout option in which the elements in each row is stored in consecutive positions, or any generalization thereof to dimensionality greater than 2""", - meaning=GOM.rowMajorArray) - - _defn = EnumDefinition( - name="ArrayLinearizationOrderOptions", - description="Determines how a linear contiguous representation of the elements of an array map to array indices", - ) - -# Slots -class slots: - pass - -slots.dimensionality = Slot(uri=LINKML.dimensionality, name="dimensionality", curie=LINKML.curie('dimensionality'), - model_uri=LINKML.dimensionality, domain=None, range=Optional[int]) - -slots.axis = Slot(uri=LINKML.axis, name="axis", curie=LINKML.curie('axis'), - model_uri=LINKML.axis, domain=None, range=Optional[Union[str, OneDimensionalSeriesSeriesLabel]]) - -slots.axis0 = Slot(uri=LINKML.axis0, name="axis0", curie=LINKML.curie('axis0'), - model_uri=LINKML.axis0, domain=None, range=Union[dict, OneDimensionalSeries]) - -slots.axis1 = Slot(uri=LINKML.axis1, name="axis1", curie=LINKML.curie('axis1'), - model_uri=LINKML.axis1, domain=None, range=Union[dict, OneDimensionalSeries]) - -slots.axis2 = Slot(uri=LINKML.axis2, name="axis2", curie=LINKML.curie('axis2'), - model_uri=LINKML.axis2, domain=None, range=Union[dict, OneDimensionalSeries]) - -slots.elements = Slot(uri=LINKML.elements, name="elements", curie=LINKML.curie('elements'), - model_uri=LINKML.elements, domain=None, range=Union[Union[dict, Any], List[Union[dict, Any]]]) - -slots.series_label = Slot(uri=LINKML.series_label, name="series_label", curie=LINKML.curie('series_label'), - model_uri=LINKML.series_label, domain=None, range=URIRef) - -slots.length = Slot(uri=LINKML.length, name="length", curie=LINKML.curie('length'), - model_uri=LINKML.length, domain=None, range=Optional[int]) - -slots.array_linearization_order = Slot(uri=LINKML.array_linearization_order, name="array_linearization_order", curie=LINKML.curie('array_linearization_order'), - model_uri=LINKML.array_linearization_order, domain=None, range=Optional[Union[str, "ArrayLinearizationOrderOptions"]]) - -slots.specified_input = Slot(uri=LINKML.specified_input, name="specified_input", curie=LINKML.curie('specified_input'), - model_uri=LINKML.specified_input, domain=None, range=Optional[Union[Union[dict, DataStructure], List[Union[dict, DataStructure]]]]) - -slots.specified_output = Slot(uri=LINKML.specified_output, name="specified_output", curie=LINKML.curie('specified_output'), - model_uri=LINKML.specified_output, domain=None, range=Optional[Union[Union[dict, DataStructure], List[Union[dict, DataStructure]]]]) - -slots.operation_parameters = Slot(uri=LINKML.operation_parameters, name="operation_parameters", curie=LINKML.curie('operation_parameters'), - model_uri=LINKML.operation_parameters, domain=None, range=Optional[Union[Union[dict, Any], List[Union[dict, Any]]]]) - -slots.Array_elements = Slot(uri=LINKML.elements, name="Array_elements", curie=LINKML.curie('elements'), - model_uri=LINKML.Array_elements, domain=Array, range=Union[Union[dict, Any], List[Union[dict, Any]]]) - -slots.OneDimensionalSeries_dimensionality = Slot(uri=LINKML.dimensionality, name="OneDimensionalSeries_dimensionality", curie=LINKML.curie('dimensionality'), - model_uri=LINKML.OneDimensionalSeries_dimensionality, domain=OneDimensionalSeries, range=Optional[int]) - -slots.TwoDimensionalArray_dimensionality = Slot(uri=LINKML.dimensionality, name="TwoDimensionalArray_dimensionality", curie=LINKML.curie('dimensionality'), - model_uri=LINKML.TwoDimensionalArray_dimensionality, domain=TwoDimensionalArray, range=Optional[int]) - -slots.TwoDimensionalArray_elements = Slot(uri=LINKML.elements, name="TwoDimensionalArray_elements", curie=LINKML.curie('elements'), - model_uri=LINKML.TwoDimensionalArray_elements, domain=TwoDimensionalArray, range=Union[Union[dict, Any], List[Union[dict, Any]]]) - -slots.ThreeDimensionalArray_dimensionality = Slot(uri=LINKML.dimensionality, name="ThreeDimensionalArray_dimensionality", curie=LINKML.curie('dimensionality'), - model_uri=LINKML.ThreeDimensionalArray_dimensionality, domain=ThreeDimensionalArray, range=Optional[int]) - -slots.ColumnOrderedArray_array_linearization_order = Slot(uri=LINKML.array_linearization_order, name="ColumnOrderedArray_array_linearization_order", curie=LINKML.curie('array_linearization_order'), - model_uri=LINKML.ColumnOrderedArray_array_linearization_order, domain=None, range=Optional[Union[str, "ArrayLinearizationOrderOptions"]]) - -slots.RowOrderedArray_array_linearization_order = Slot(uri=LINKML.array_linearization_order, name="RowOrderedArray_array_linearization_order", curie=LINKML.curie('array_linearization_order'), - model_uri=LINKML.RowOrderedArray_array_linearization_order, domain=None, range=Optional[Union[str, "ArrayLinearizationOrderOptions"]]) - -slots.ArrayIndexOperation_specified_input = Slot(uri=LINKML.specified_input, name="ArrayIndexOperation_specified_input", curie=LINKML.curie('specified_input'), - model_uri=LINKML.ArrayIndexOperation_specified_input, domain=ArrayIndexOperation, range=Optional[Union[Union[dict, Array], List[Union[dict, Array]]]]) - -slots.ArrayIndexOperation_specified_output = Slot(uri=LINKML.specified_output, name="ArrayIndexOperation_specified_output", curie=LINKML.curie('specified_output'), - model_uri=LINKML.ArrayIndexOperation_specified_output, domain=ArrayIndexOperation, range=Optional[Union[Union[dict, Any], List[Union[dict, Any]]]]) - -slots.ArrayIndexOperation_operation_parameters = Slot(uri=LINKML.operation_parameters, name="ArrayIndexOperation_operation_parameters", curie=LINKML.curie('operation_parameters'), - model_uri=LINKML.ArrayIndexOperation_operation_parameters, domain=ArrayIndexOperation, range=Optional[Union[Union[dict, ArrayIndex], List[Union[dict, ArrayIndex]]]]) diff --git a/linkml_runtime/linkml_model/datasets.py b/linkml_runtime/linkml_model/datasets.py index d5c603fa..b05a6941 100644 --- a/linkml_runtime/linkml_model/datasets.py +++ b/linkml_runtime/linkml_model/datasets.py @@ -1,5 +1,5 @@ -# Auto generated from datasets.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:13 +# Auto generated from datasets.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:27 # Schema: datasets # # id: https://w3id.org/linkml/datasets @@ -30,7 +30,7 @@ dataclasses._init_fn = dataclasses_init_fn_with_kwargs # Namespaces -BIBO = CurieNamespace('bibo', 'http://example.org/UNKNOWN/bibo/') +BIBO = CurieNamespace('bibo', 'http://purl.org/ontology/bibo/') CSVW = CurieNamespace('csvw', 'http://www.w3.org/ns/csvw#') DATASETS = CurieNamespace('datasets', 'https://w3id.org/linkml/report') DCAT = CurieNamespace('dcat', 'http://www.w3.org/ns/dcat#') @@ -39,7 +39,7 @@ FRICTIONLESS = CurieNamespace('frictionless', 'https://specs.frictionlessdata.io/') LINKML = CurieNamespace('linkml', 'https://w3id.org/linkml/') MEDIATYPES = CurieNamespace('mediatypes', 'https://www.iana.org/assignments/media-types/') -OSLC = CurieNamespace('oslc', 'http://example.org/UNKNOWN/oslc/') +OSLC = CurieNamespace('oslc', 'http://open-services.net/ns/core#') OWL = CurieNamespace('owl', 'http://www.w3.org/2002/07/owl#') PAV = CurieNamespace('pav', 'http://purl.org/pav/') PROV = CurieNamespace('prov', 'http://www.w3.org/ns/prov#') @@ -75,7 +75,7 @@ class Information(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = DATASETS.Information + class_class_uri: ClassVar[URIRef] = DATASETS["Information"] class_class_curie: ClassVar[str] = "datasets:Information" class_name: ClassVar[str] = "Information" class_model_uri: ClassVar[URIRef] = DATASETS.Information @@ -172,7 +172,7 @@ class DataPackage(Information): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = VOID.Dataset + class_class_uri: ClassVar[URIRef] = VOID["Dataset"] class_class_curie: ClassVar[str] = "void:Dataset" class_name: ClassVar[str] = "DataPackage" class_model_uri: ClassVar[URIRef] = DATASETS.DataPackage @@ -200,7 +200,7 @@ class DataResource(Information): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = DCAT.Distribution + class_class_uri: ClassVar[URIRef] = DCAT["Distribution"] class_class_curie: ClassVar[str] = "dcat:Distribution" class_name: ClassVar[str] = "DataResource" class_model_uri: ClassVar[URIRef] = DATASETS.DataResource @@ -267,7 +267,7 @@ class FormatDialect(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = DATASETS.FormatDialect + class_class_uri: ClassVar[URIRef] = DATASETS["FormatDialect"] class_class_curie: ClassVar[str] = "datasets:FormatDialect" class_name: ClassVar[str] = "FormatDialect" class_model_uri: ClassVar[URIRef] = DATASETS.FormatDialect @@ -328,22 +328,22 @@ class FormatEnum(EnumDefinitionImpl): N3 = PermissibleValue( text="N3", - meaning=FORMATS.N3) + meaning=FORMATS["N3"]) Microdata = PermissibleValue( text="Microdata", - meaning=FORMATS.microdata) + meaning=FORMATS["microdata"]) POWDER = PermissibleValue( text="POWDER", - meaning=FORMATS.POWDER) + meaning=FORMATS["POWDER"]) RDFa = PermissibleValue( text="RDFa", - meaning=FORMATS.RDFa) + meaning=FORMATS["RDFa"]) Turtle = PermissibleValue( text="Turtle", - meaning=FORMATS.Turtle) + meaning=FORMATS["Turtle"]) TriG = PermissibleValue( text="TriG", - meaning=FORMATS.TriG) + meaning=FORMATS["TriG"]) YAML = PermissibleValue(text="YAML") JSON = PermissibleValue(text="JSON") @@ -368,19 +368,19 @@ def _addvals(cls): setattr(cls, "LD Patch", PermissibleValue( text="LD Patch", - meaning=FORMATS.LD_Patch)) + meaning=FORMATS["LD_Patch"])) setattr(cls, "OWL XML Serialization", PermissibleValue( text="OWL XML Serialization", - meaning=FORMATS.OWL_XML)) + meaning=FORMATS["OWL_XML"])) setattr(cls, "OWL Functional Syntax", PermissibleValue( text="OWL Functional Syntax", - meaning=FORMATS.OWL_Functional)) + meaning=FORMATS["OWL_Functional"])) setattr(cls, "OWL Manchester Syntax", PermissibleValue( text="OWL Manchester Syntax", - meaning=FORMATS.OWL_Manchester)) + meaning=FORMATS["OWL_Manchester"])) setattr(cls, "POWDER-S", PermissibleValue( text="POWDER-S", @@ -396,31 +396,31 @@ def _addvals(cls): setattr(cls, "RDF/JSON", PermissibleValue( text="RDF/JSON", - meaning=FORMATS.RDF_JSON)) + meaning=FORMATS["RDF_JSON"])) setattr(cls, "RDF/XML", PermissibleValue( text="RDF/XML", - meaning=FORMATS.RDF_XML)) + meaning=FORMATS["RDF_XML"])) setattr(cls, "RIF XML Syntax", PermissibleValue( text="RIF XML Syntax", - meaning=FORMATS.RIF_XML)) + meaning=FORMATS["RIF_XML"])) setattr(cls, "SPARQL Results in XML", PermissibleValue( text="SPARQL Results in XML", - meaning=FORMATS.SPARQL_Results_XML)) + meaning=FORMATS["SPARQL_Results_XML"])) setattr(cls, "SPARQL Results in JSON", PermissibleValue( text="SPARQL Results in JSON", - meaning=FORMATS.SPARQL_Results_JSON)) + meaning=FORMATS["SPARQL_Results_JSON"])) setattr(cls, "SPARQL Results in CSV", PermissibleValue( text="SPARQL Results in CSV", - meaning=FORMATS.SPARQL_Results_CSV)) + meaning=FORMATS["SPARQL_Results_CSV"])) setattr(cls, "SPARQL Results in TSV", PermissibleValue( text="SPARQL Results in TSV", - meaning=FORMATS.SPARQL_Results_TSV)) + meaning=FORMATS["SPARQL_Results_TSV"])) # Slots class slots: diff --git a/linkml_runtime/linkml_model/excel/meta.xlsx b/linkml_runtime/linkml_model/excel/meta.xlsx index 21fd455c..4b28e8fb 100644 Binary files a/linkml_runtime/linkml_model/excel/meta.xlsx and b/linkml_runtime/linkml_model/excel/meta.xlsx differ diff --git a/linkml_runtime/linkml_model/extensions.py b/linkml_runtime/linkml_model/extensions.py index 0d3fcb9a..9b1ecf26 100644 --- a/linkml_runtime/linkml_model/extensions.py +++ b/linkml_runtime/linkml_model/extensions.py @@ -1,5 +1,5 @@ -# Auto generated from extensions.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:14 +# Auto generated from extensions.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:29 # Schema: extensions # # id: https://w3id.org/linkml/extensions @@ -50,7 +50,7 @@ class Extension(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Extension + class_class_uri: ClassVar[URIRef] = LINKML["Extension"] class_class_curie: ClassVar[str] = "linkml:Extension" class_name: ClassVar[str] = "extension" class_model_uri: ClassVar[URIRef] = LINKML.Extension @@ -77,7 +77,7 @@ class Extensible(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Extensible + class_class_uri: ClassVar[URIRef] = LINKML["Extensible"] class_class_curie: ClassVar[str] = "linkml:Extensible" class_name: ClassVar[str] = "extensible" class_model_uri: ClassVar[URIRef] = LINKML.Extensible diff --git a/linkml_runtime/linkml_model/graphql/meta.graphql b/linkml_runtime/linkml_model/graphql/meta.graphql index bf9e7dce..761e079b 100644 --- a/linkml_runtime/linkml_model/graphql/meta.graphql +++ b/linkml_runtime/linkml_model/graphql/meta.graphql @@ -160,8 +160,8 @@ type AnonymousSlotExpression implements SlotExpression recommended: Boolean inlined: Boolean inlinedAsList: Boolean - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything pattern: String structuredPattern: PatternExpression unit: UnitOfMeasure @@ -171,6 +171,7 @@ type AnonymousSlotExpression implements SlotExpression equalsStringIn: [String] equalsNumber: Integer equalsExpression: String + exactCardinality: Integer minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression @@ -190,8 +191,8 @@ type AnonymousTypeExpression implements TypeExpression equalsString: String equalsStringIn: [String] equalsNumber: Integer - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything noneOf: [AnonymousTypeExpression] exactlyOneOf: [AnonymousTypeExpression] anyOf: [AnonymousTypeExpression] @@ -206,10 +207,55 @@ type AnyValue { } +type ArrayExpression implements Extensible, Annotatable, CommonMetadata + { + exactNumberDimensions: Integer + minimumNumberDimensions: Integer + maximumNumberDimensions: Anything + hasExtraDimensions: Boolean + dimensions: [DimensionExpression] + extensions: [Extension] + annotations: [Annotation] + description: String + altDescriptions: [AltDescription] + title: String + deprecated: String + todos: [String] + notes: [String] + comments: [String] + examples: [Example] + inSubset: [SubsetDefinition] + fromSchema: Uri + importedFrom: String + source: Uriorcurie + inLanguage: String + seeAlso: [Uriorcurie] + deprecatedElementHasExactReplacement: Uriorcurie + deprecatedElementHasPossibleReplacement: Uriorcurie + aliases: [String] + structuredAliases: [StructuredAlias] + mappings: [Uriorcurie] + exactMappings: [Uriorcurie] + closeMappings: [Uriorcurie] + relatedMappings: [Uriorcurie] + narrowMappings: [Uriorcurie] + broadMappings: [Uriorcurie] + createdBy: Uriorcurie + contributors: [Uriorcurie] + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie + rank: Integer + categories: [Uriorcurie] + keywords: [String] + } + type ClassDefinition implements ClassExpression { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -378,6 +424,7 @@ interface Definition { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -427,10 +474,54 @@ interface Definition stringSerialization: String } +type DimensionExpression implements Extensible, Annotatable, CommonMetadata + { + alias: String + maximumCardinality: Integer + minimumCardinality: Integer + exactCardinality: Integer + extensions: [Extension] + annotations: [Annotation] + description: String + altDescriptions: [AltDescription] + title: String + deprecated: String + todos: [String] + notes: [String] + comments: [String] + examples: [Example] + inSubset: [SubsetDefinition] + fromSchema: Uri + importedFrom: String + source: Uriorcurie + inLanguage: String + seeAlso: [Uriorcurie] + deprecatedElementHasExactReplacement: Uriorcurie + deprecatedElementHasPossibleReplacement: Uriorcurie + aliases: [String] + structuredAliases: [StructuredAlias] + mappings: [Uriorcurie] + exactMappings: [Uriorcurie] + closeMappings: [Uriorcurie] + relatedMappings: [Uriorcurie] + narrowMappings: [Uriorcurie] + broadMappings: [Uriorcurie] + createdBy: Uriorcurie + contributors: [Uriorcurie] + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie + rank: Integer + categories: [Uriorcurie] + keywords: [String] + } + type Element implements Extensible, Annotatable, CommonMetadata { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -477,6 +568,7 @@ type EnumDefinition implements EnumExpression { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -782,6 +874,7 @@ type ReachabilityQuery type SchemaDefinition { idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -856,6 +949,7 @@ type SlotDefinition implements SlotExpression { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -904,6 +998,7 @@ type SlotDefinition implements SlotExpression domain: ClassDefinition slotUri: Uriorcurie multivalued: Boolean + array: ArrayExpression inherited: Boolean readonly: String ifabsent: String @@ -947,8 +1042,8 @@ type SlotDefinition implements SlotExpression recommended: Boolean inlined: Boolean inlinedAsList: Boolean - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything pattern: String structuredPattern: PatternExpression unit: UnitOfMeasure @@ -958,6 +1053,7 @@ type SlotDefinition implements SlotExpression equalsStringIn: [String] equalsNumber: Integer equalsExpression: String + exactCardinality: Integer minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression @@ -977,8 +1073,8 @@ interface SlotExpression recommended: Boolean inlined: Boolean inlinedAsList: Boolean - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything pattern: String structuredPattern: PatternExpression unit: UnitOfMeasure @@ -988,6 +1084,7 @@ interface SlotExpression equalsStringIn: [String] equalsNumber: Integer equalsExpression: String + exactCardinality: Integer minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression @@ -1043,6 +1140,7 @@ type SubsetDefinition { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -1089,6 +1187,7 @@ type TypeDefinition implements TypeExpression { name: String! idPrefixes: [Ncname] + idPrefixesAreClosed: Boolean definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String @@ -1141,8 +1240,8 @@ type TypeDefinition implements TypeExpression equalsString: String equalsStringIn: [String] equalsNumber: Integer - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything noneOf: [AnonymousTypeExpression] exactlyOneOf: [AnonymousTypeExpression] anyOf: [AnonymousTypeExpression] @@ -1158,8 +1257,8 @@ interface TypeExpression equalsString: String equalsStringIn: [String] equalsNumber: Integer - minimumValue: Integer - maximumValue: Integer + minimumValue: Anything + maximumValue: Anything noneOf: [AnonymousTypeExpression] exactlyOneOf: [AnonymousTypeExpression] anyOf: [AnonymousTypeExpression] diff --git a/linkml_runtime/linkml_model/jsonld/meta.context.jsonld b/linkml_runtime/linkml_model/jsonld/meta.context.jsonld index e29e4ff8..802ef6ed 100644 --- a/linkml_runtime/linkml_model/jsonld/meta.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/meta.context.jsonld @@ -1,7 +1,7 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2023-09-01T13:19:55", + "generation_date": "2024-02-07T17:29:49", "source": "meta.yaml" }, "@context": { @@ -11,6 +11,10 @@ }, "NCIT": "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#", "OIO": "http://www.geneontology.org/formats/oboInOwl#", + "SIO": { + "@id": "http://semanticscience.org/resource/SIO_", + "@prefix": true + }, "bibo": "http://purl.org/ontology/bibo/", "cdisc": "http://rdf.cdisc.org/mms#", "dcterms": "http://purl.org/dc/terms/", @@ -70,6 +74,9 @@ "apply_to": { "@type": "@id" }, + "array": { + "@type": "@id" + }, "asymmetric": { "@type": "xsd:boolean" }, @@ -161,6 +168,9 @@ "designates_type": { "@type": "xsd:boolean" }, + "dimensions": { + "@type": "@id" + }, "disjoint_with": { "@type": "@id" }, @@ -192,6 +202,12 @@ "@type": "@id", "@id": "skos:exactMatch" }, + "exact_cardinality": { + "@type": "xsd:integer" + }, + "exact_number_dimensions": { + "@type": "xsd:integer" + }, "exactly_one_of": { "@type": "@id" }, @@ -217,6 +233,9 @@ "generation_date": { "@type": "xsd:dateTime" }, + "has_extra_dimensions": { + "@type": "xsd:boolean" + }, "has_member": { "@type": "@id" }, @@ -227,6 +246,9 @@ "id": { "@type": "@id" }, + "id_prefixes_are_closed": { + "@type": "xsd:boolean" + }, "identifier": { "@type": "xsd:boolean" }, @@ -345,8 +367,11 @@ "maximum_cardinality": { "@type": "xsd:integer" }, + "maximum_number_dimensions": { + "@type": "@id" + }, "maximum_value": { - "@type": "xsd:integer" + "@type": "@id" }, "meaning": { "@type": "@id" @@ -354,9 +379,12 @@ "minimum_cardinality": { "@type": "xsd:integer" }, - "minimum_value": { + "minimum_number_dimensions": { "@type": "xsd:integer" }, + "minimum_value": { + "@type": "@id" + }, "minus": { "@type": "@id" }, diff --git a/linkml_runtime/linkml_model/jsonld/meta.jsonld b/linkml_runtime/linkml_model/jsonld/meta.jsonld index ff3e780b..fcdd35ee 100644 --- a/linkml_runtime/linkml_model/jsonld/meta.jsonld +++ b/linkml_runtime/linkml_model/jsonld/meta.jsonld @@ -1,9 +1,8 @@ { "name": "meta", - "description": "The metamodel for schemas defined using the Linked Data Modeling Language framework.\n\nFor more information on LinkML:\n\n* [linkml.io](https://linkml.io) main website\n* [specification](https://w3id.org/linkml/docs/specification/)\n\nLinkML is self-describing. Every LinkML schema consists of elements\nthat instantiate classes in this metamodel.\n\nCore metaclasses:\n\n* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition)\n* [ClassDefinition](https://w3id.org/linkml/ClassDefinition)\n* [SlotDefinition](https://w3id.org/linkml/SlotDefinition)\n* [TypeDefinition](https://w3id.org/linkml/TypeDefinition)\n\nThere are many subsets of *profiles* of the metamodel, for different purposes:\n\n* [MinimalSubset](https://w3id.org/linkml/MinimalSubset)\n* [BasicSubset](https://w3id.org/linkml/BasicSubset)\n* [BasicSubset](https://w3id.org/linkml/BasicSubset)\n\nFor canonical reference documentation on any metamodel construct,\nrefer to the official URI for each construct, e.g.\n[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)", + "description": "The metamodel for schemas defined using the Linked Data Modeling Language framework.\n\nFor more information on LinkML:\n\n* [linkml.io](https://linkml.io) main website\n* [specification](https://w3id.org/linkml/docs/specification/)\n\nLinkML is self-describing. Every LinkML schema consists of elements\nthat instantiate classes in this metamodel.\n\nCore metaclasses:\n\n* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition)\n* [ClassDefinition](https://w3id.org/linkml/ClassDefinition)\n* [SlotDefinition](https://w3id.org/linkml/SlotDefinition)\n* [TypeDefinition](https://w3id.org/linkml/TypeDefinition)\n\nThere are many subsets of *profiles* of the metamodel, for different purposes:\n\n* [MinimalSubset](https://w3id.org/linkml/MinimalSubset)\n* [BasicSubset](https://w3id.org/linkml/BasicSubset)\n\nFor canonical reference documentation on any metamodel construct,\nrefer to the official URI for each construct, e.g.\n[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)", "title": "LinkML Schema Metamodel", "id": "https://w3id.org/linkml/meta", - "version": "2.0.0", "imports": [ "linkml:types", "linkml:mappings", @@ -80,6 +79,10 @@ { "prefix_prefix": "cdisc", "prefix_reference": "http://rdf.cdisc.org/mms#" + }, + { + "prefix_prefix": "SIO", + "prefix_reference": "http://semanticscience.org/resource/SIO_" } ], "emit_prefixes": [ @@ -491,6 +494,10 @@ { "text": "FHIR_CODING", "description": "The permissible values are the set of FHIR coding elements derived from the code set" + }, + { + "text": "LABEL", + "description": "The permissible values are the set of human readable labels in the code set" } ] }, @@ -781,7 +788,6 @@ ], "from_schema": "https://w3id.org/linkml/meta", "see_also": [ - "https://github.com/linkml/linkml/issues/194", "https://github.com/linkml/linkml-model/issues/28" ], "domain": "Element", @@ -794,6 +800,23 @@ "range": "ncname", "@type": "SlotDefinition" }, + { + "name": "id_prefixes_are_closed", + "definition_uri": "https://w3id.org/linkml/id_prefixes_are_closed", + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "from_schema": "https://w3id.org/linkml/meta", + "see_also": [ + "https://github.com/linkml/linkml/issues/194" + ], + "domain": "Element", + "slot_uri": "https://w3id.org/linkml/id_prefixes_are_closed", + "owner": "Element", + "domain_of": [ + "Element" + ], + "range": "boolean", + "@type": "SlotDefinition" + }, { "name": "description", "definition_uri": "https://w3id.org/linkml/description", @@ -3055,6 +3078,124 @@ "range": "boolean", "@type": "SlotDefinition" }, + { + "name": "array", + "definition_uri": "https://w3id.org/linkml/array", + "description": "coerces the value of the slot into an array and defines the dimensions of that array", + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "SlotDefinition", + "slot_uri": "https://w3id.org/linkml/array", + "inherited": true, + "owner": "SlotDefinition", + "domain_of": [ + "SlotDefinition" + ], + "range": "ArrayExpression", + "inlined": true, + "@type": "SlotDefinition" + }, + { + "name": "dimensions", + "definition_uri": "https://w3id.org/linkml/dimensions", + "description": "definitions of each axis in the array", + "from_schema": "https://w3id.org/linkml/meta", + "aliases": [ + "axes" + ], + "status": "testing", + "domain": "ArrayExpression", + "slot_uri": "https://w3id.org/linkml/dimensions", + "multivalued": true, + "list_elements_ordered": true, + "owner": "ArrayExpression", + "domain_of": [ + "ArrayExpression" + ], + "range": "DimensionExpression", + "inlined": true, + "@type": "SlotDefinition" + }, + { + "name": "minimum_number_dimensions", + "definition_uri": "https://w3id.org/linkml/minimum_number_dimensions", + "description": "minimum number of dimensions in the array", + "comments": [ + "minimum_cardinality cannot be greater than maximum_cardinality" + ], + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "ArrayExpression", + "slot_uri": "https://w3id.org/linkml/minimum_number_dimensions", + "owner": "ArrayExpression", + "domain_of": [ + "ArrayExpression" + ], + "range": "integer", + "@type": "SlotDefinition" + }, + { + "name": "maximum_number_dimensions", + "definition_uri": "https://w3id.org/linkml/maximum_number_dimensions", + "description": "maximum number of dimensions in the array, or False if explicitly no maximum. If this is unset, and an explicit list of dimensions are passed using dimensions, then this is interpreted as a closed list and the maximum_number_dimensions is the length of the dimensions list, unless this value is set to False", + "comments": [ + "maximum_number_dimensions cannot be less than minimum_number_dimensions" + ], + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "ArrayExpression", + "slot_uri": "https://w3id.org/linkml/maximum_number_dimensions", + "owner": "ArrayExpression", + "domain_of": [ + "ArrayExpression" + ], + "range": "Anything", + "inlined": true, + "any_of": [ + { + "range": "integer", + "@type": "AnonymousSlotExpression" + }, + { + "range": "boolean", + "@type": "AnonymousSlotExpression" + } + ], + "@type": "SlotDefinition" + }, + { + "name": "exact_number_dimensions", + "definition_uri": "https://w3id.org/linkml/exact_number_dimensions", + "description": "exact number of dimensions in the array", + "comments": [ + "if exact_number_dimensions is set, then minimum_number_dimensions and maximum_number_dimensions must be unset or have the same value" + ], + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "ArrayExpression", + "slot_uri": "https://w3id.org/linkml/exact_number_dimensions", + "owner": "ArrayExpression", + "domain_of": [ + "ArrayExpression" + ], + "range": "integer", + "@type": "SlotDefinition" + }, + { + "name": "has_extra_dimensions", + "definition_uri": "https://w3id.org/linkml/has_extra_dimensions", + "description": "If this is set to true", + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "ArrayExpression", + "slot_uri": "https://w3id.org/linkml/has_extra_dimensions", + "owner": "ArrayExpression", + "domain_of": [ + "ArrayExpression" + ], + "range": "boolean", + "@type": "SlotDefinition" + }, { "name": "inherited", "definition_uri": "https://w3id.org/linkml/inherited", @@ -3241,10 +3382,35 @@ "range": "string", "@type": "SlotDefinition" }, + { + "name": "exact_cardinality", + "definition_uri": "https://w3id.org/linkml/exact_cardinality", + "description": "the exact number of entries for a multivalued slot", + "comments": [ + "if exact_cardinality is set, then minimum_cardinalty and maximum_cardinality must be unset or have the same value" + ], + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "is_a": "list_value_specification_constant", + "slot_uri": "https://w3id.org/linkml/exact_cardinality", + "inherited": true, + "owner": "DimensionExpression", + "domain_of": [ + "SlotExpression", + "DimensionExpression" + ], + "range": "integer", + "@type": "SlotDefinition" + }, { "name": "minimum_cardinality", "definition_uri": "https://w3id.org/linkml/minimum_cardinality", "description": "the minimum number of entries for a multivalued slot", + "comments": [ + "minimum_cardinality cannot be greater than maximum_cardinality" + ], "in_subset": [ "SpecificationSubset" ], @@ -3252,9 +3418,10 @@ "is_a": "list_value_specification_constant", "slot_uri": "https://w3id.org/linkml/minimum_cardinality", "inherited": true, - "owner": "SlotExpression", + "owner": "DimensionExpression", "domain_of": [ - "SlotExpression" + "SlotExpression", + "DimensionExpression" ], "range": "integer", "@type": "SlotDefinition" @@ -3263,6 +3430,9 @@ "name": "maximum_cardinality", "definition_uri": "https://w3id.org/linkml/maximum_cardinality", "description": "the maximum number of entries for a multivalued slot", + "comments": [ + "maximum_cardinality cannot be less than minimum_cardinality" + ], "in_subset": [ "SpecificationSubset" ], @@ -3270,9 +3440,10 @@ "is_a": "list_value_specification_constant", "slot_uri": "https://w3id.org/linkml/maximum_cardinality", "inherited": true, - "owner": "SlotExpression", + "owner": "DimensionExpression", "domain_of": [ - "SlotExpression" + "SlotExpression", + "DimensionExpression" ], "range": "integer", "@type": "SlotDefinition" @@ -3457,7 +3628,8 @@ ], "from_schema": "https://w3id.org/linkml/meta", "see_also": [ - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms", + "https://linkml.io/linkml/schemas/inlining.html" ], "rank": 25, "domain": "SlotDefinition", @@ -3484,7 +3656,8 @@ ], "from_schema": "https://w3id.org/linkml/meta", "see_also": [ - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms", + "https://linkml.io/linkml/schemas/inlining.html" ], "rank": 27, "domain": "SlotDefinition", @@ -3691,9 +3864,10 @@ "rank": 6, "domain": "SlotDefinition", "slot_uri": "http://www.w3.org/2004/02/skos/core#prefLabel", - "owner": "SlotDefinition", + "owner": "DimensionExpression", "domain_of": [ - "SlotDefinition" + "SlotDefinition", + "DimensionExpression" ], "range": "string", "@type": "SlotDefinition" @@ -3720,7 +3894,8 @@ "description": "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context", "from_schema": "https://w3id.org/linkml/meta", "exact_mappings": [ - "http://schema.org/domainIncludes" + "http://schema.org/domainIncludes", + "http://semanticscience.org/resource/SIO_000011" ], "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/domain_of", @@ -4054,7 +4229,10 @@ { "name": "minimum_value", "definition_uri": "https://w3id.org/linkml/minimum_value", - "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "description": "For ordinal ranges, the value must be equal to or higher than this", + "notes": [ + "Range to be refined to an \"Ordinal\" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142" + ], "in_subset": [ "SpecificationSubset", "BasicSubset" @@ -4071,13 +4249,17 @@ "TypeExpression", "SlotExpression" ], - "range": "integer", + "range": "Anything", + "inlined": true, "@type": "SlotDefinition" }, { "name": "maximum_value", "definition_uri": "https://w3id.org/linkml/maximum_value", - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "description": "For ordinal ranges, the value must be equal to or lower than this", + "notes": [ + "Range to be refined to an \"Ordinal\" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142" + ], "in_subset": [ "SpecificationSubset", "BasicSubset" @@ -4094,7 +4276,8 @@ "TypeExpression", "SlotExpression" ], - "range": "integer", + "range": "Anything", + "inlined": true, "@type": "SlotDefinition" }, { @@ -6264,6 +6447,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -6341,6 +6525,7 @@ "is_a": "Element", "slots": [ "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -6480,6 +6665,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -6557,6 +6743,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -6618,6 +6805,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -6732,9 +6920,12 @@ "from_schema": "https://w3id.org/linkml/meta", "aliases": [ "enum", + "enumeration", + "semantic enumeration", "value set", "term set", "concept set", + "code set", "Terminology Value Set", "answer list", "value domain" @@ -6755,6 +6946,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -7065,6 +7257,7 @@ "equals_string_in", "equals_number", "equals_expression", + "exact_cardinality", "minimum_cardinality", "maximum_cardinality", "has_member", @@ -7140,6 +7333,7 @@ "equals_string_in", "equals_number", "equals_expression", + "exact_cardinality", "minimum_cardinality", "maximum_cardinality", "has_member", @@ -7184,6 +7378,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -7232,6 +7427,7 @@ "domain", "slot_uri", "multivalued", + "array", "inherited", "readonly", "ifabsent", @@ -7286,6 +7482,7 @@ "equals_string_in", "equals_number", "equals_expression", + "exact_cardinality", "minimum_cardinality", "maximum_cardinality", "has_member", @@ -7402,6 +7599,7 @@ "slots": [ "name", "id_prefixes", + "id_prefixes_are_closed", "definition_uri", "local_names", "conforms_to", @@ -7552,6 +7750,119 @@ "class_uri": "https://w3id.org/linkml/ClassRule", "@type": "ClassDefinition" }, + { + "name": "ArrayExpression", + "definition_uri": "https://w3id.org/linkml/ArrayExpression", + "description": "defines the dimensions of an array", + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "mixins": [ + "Extensible", + "Annotatable", + "CommonMetadata" + ], + "slots": [ + "exact_number_dimensions", + "minimum_number_dimensions", + "maximum_number_dimensions", + "has_extra_dimensions", + "dimensions", + "extensions", + "annotations", + "description", + "alt_descriptions", + "title", + "deprecated", + "todos", + "notes", + "comments", + "examples", + "in_subset", + "from_schema", + "imported_from", + "source", + "in_language", + "see_also", + "deprecated_element_has_exact_replacement", + "deprecated_element_has_possible_replacement", + "aliases", + "structured_aliases", + "mappings", + "exact_mappings", + "close_mappings", + "related_mappings", + "narrow_mappings", + "broad_mappings", + "created_by", + "contributors", + "created_on", + "last_updated_on", + "modified_by", + "status", + "rank", + "categories", + "keywords" + ], + "slot_usage": {}, + "class_uri": "https://w3id.org/linkml/ArrayExpression", + "@type": "ClassDefinition" + }, + { + "name": "DimensionExpression", + "definition_uri": "https://w3id.org/linkml/DimensionExpression", + "description": "defines one of the dimensions of an array", + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "mixins": [ + "Extensible", + "Annotatable", + "CommonMetadata" + ], + "slots": [ + "alias", + "maximum_cardinality", + "minimum_cardinality", + "exact_cardinality", + "extensions", + "annotations", + "description", + "alt_descriptions", + "title", + "deprecated", + "todos", + "notes", + "comments", + "examples", + "in_subset", + "from_schema", + "imported_from", + "source", + "in_language", + "see_also", + "deprecated_element_has_exact_replacement", + "deprecated_element_has_possible_replacement", + "aliases", + "structured_aliases", + "mappings", + "exact_mappings", + "close_mappings", + "related_mappings", + "narrow_mappings", + "broad_mappings", + "created_by", + "contributors", + "created_on", + "last_updated_on", + "modified_by", + "status", + "rank", + "categories", + "keywords" + ], + "slot_usage": {}, + "class_uri": "https://w3id.org/linkml/DimensionExpression", + "@type": "ClassDefinition" + }, { "name": "PatternExpression", "definition_uri": "https://w3id.org/linkml/PatternExpression", @@ -8014,12 +8325,12 @@ ], "metamodel_version": "1.7.0", "source_file": "meta.yaml", - "source_file_date": "2023-09-01T13:18:46", - "source_file_size": 89472, - "generation_date": "2023-09-01T13:19:57", + "source_file_date": "2024-02-07T17:29:17", + "source_file_size": 93289, + "generation_date": "2024-02-07T17:29:51", "@type": "SchemaDefinition", "@context": [ - "target/jsonld/meta.context.jsonld", + "staging/jsonld/meta.context.jsonld", "https://w3id.org/linkml/types.context.jsonld", "https://w3id.org/linkml/mappings.context.jsonld", "https://w3id.org/linkml/extensions.context.jsonld", diff --git a/linkml_runtime/linkml_model/jsonschema/meta.schema.json b/linkml_runtime/linkml_model/jsonschema/meta.schema.json index f91d9cdd..9d968840 100644 --- a/linkml_runtime/linkml_model/jsonschema/meta.schema.json +++ b/linkml_runtime/linkml_model/jsonschema/meta.schema.json @@ -56,14 +56,30 @@ "properties": { "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -73,8 +89,8 @@ "type": "string" }, "value": { - "description": "the actual annotation", - "type": "string" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ @@ -90,14 +106,30 @@ "properties": { "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -107,8 +139,8 @@ "type": "string" }, "value": { - "description": "the actual annotation", - "type": "string" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ @@ -152,7 +184,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -247,7 +287,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -494,7 +542,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -589,6 +645,10 @@ }, "type": "array" }, + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": "integer" + }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { @@ -612,7 +672,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -676,16 +744,16 @@ "type": "integer" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_cardinality": { "description": "the minimum number of entries for a multivalued slot", "type": "integer" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", @@ -837,12 +905,12 @@ "type": "string" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "none_of": { "description": "holds if none of the expressions hold", @@ -867,20 +935,34 @@ "title": "AnonymousTypeExpression", "type": "object" }, + "AnyValue": { + "additionalProperties": true, + "description": "", + "title": "AnyValue", + "type": [ + "null", + "boolean", + "object", + "number", + "string" + ] + }, "Anything": { "additionalProperties": true, "description": "", "title": "Anything", - "type": "object" + "type": [ + "null", + "boolean", + "object", + "number", + "string" + ] }, - "ClassDefinition": { + "ArrayExpression": { "additionalProperties": false, - "description": "an element whose instances are complex objects that may have slot-value assignments", + "description": "defines the dimensions of an array", "properties": { - "abstract": { - "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" - }, "aliases": { "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", "items": { @@ -888,13 +970,6 @@ }, "type": "array" }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, "alt_descriptions": { "additionalProperties": { "anyOf": [ @@ -911,38 +986,18 @@ "type": "object" }, "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "apply_to": { - "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", - "items": { - "type": "string" - }, - "type": "array" - }, - "attributes": { "additionalProperties": { "anyOf": [ { - "$ref": "#/$defs/SlotDefinition__identifier_optional" + "$ref": "#/$defs/Annotation__identifier_optional" }, { - "type": "null" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } ] }, - "description": "Inline definition of slots", + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" }, "broad_mappings": { @@ -959,21 +1014,6 @@ }, "type": "array" }, - "children_are_mutually_disjoint": { - "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" - }, - "class_uri": { - "description": "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas", - "type": "string" - }, - "classification_rules": { - "description": "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance.", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { @@ -988,10 +1028,6 @@ }, "type": "array" }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, "contributors": { "description": "agent that contributed to the element", "items": { @@ -1008,17 +1044,6 @@ "format": "date-time", "type": "string" }, - "defining_slots": { - "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", - "items": { - "type": "string" - }, - "type": "array" - }, - "definition_uri": { - "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", - "type": "string" - }, "deprecated": { "description": "Description of why and when this element will no longer be used", "type": "string" @@ -1035,10 +1060,10 @@ "description": "a textual description of the element's purpose and use", "type": "string" }, - "disjoint_with": { - "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", + "dimensions": { + "description": "definitions of each axis in the array", "items": { - "type": "string" + "$ref": "#/$defs/DimensionExpression" }, "type": "array" }, @@ -1049,12 +1074,9 @@ }, "type": "array" }, - "exactly_one_of": { - "description": "holds if only one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" + "exact_number_dimensions": { + "description": "exact number of dimensions in the array", + "type": "integer" }, "examples": { "description": "example usages of an element", @@ -1065,7 +1087,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -1074,19 +1104,9 @@ "description": "id of the schema that defined the element", "type": "string" }, - "id_prefixes": { - "description": "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "implements": { - "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", - "items": { - "type": "string" - }, - "type": "array" + "has_extra_dimensions": { + "description": "If this is set to true", + "type": "boolean" }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", @@ -1103,17 +1123,6 @@ }, "type": "array" }, - "instantiates": { - "description": "An element in another schema which this element instantiates.", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "A primary parent class from which inheritable metaslots are propagated", - "type": "string" - }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { @@ -1126,20 +1135,6 @@ "format": "date-time", "type": "string" }, - "local_names": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/LocalName__identifier_optional" - }, - { - "description": "a name assigned to an element in a given ontology", - "type": "string" - } - ] - }, - "type": "object" - }, "mappings": { "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", "items": { @@ -1147,25 +1142,26 @@ }, "type": "array" }, - "mixin": { - "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", - "type": "boolean" - }, - "mixins": { - "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", - "items": { - "type": "string" - }, - "type": "array" + "maximum_number_dimensions": { + "$ref": "#/$defs/Anything", + "anyOf": [ + { + "type": "integer" + }, + { + "type": "boolean" + } + ], + "description": "maximum number of dimensions in the array, or False if explicitly no maximum. If this is unset, and an explicit list of dimensions are passed using dimensions, then this is interpreted as a closed list and the maximum_number_dimensions is the length of the dimensions list, unless this value is set to False" + }, + "minimum_number_dimensions": { + "description": "minimum number of dimensions in the array", + "type": "integer" }, "modified_by": { "description": "agent that modified the element", "type": "string" }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { @@ -1173,13 +1169,6 @@ }, "type": "array" }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { @@ -1198,17 +1187,6 @@ }, "type": "array" }, - "represents_relationship": { - "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" - }, - "rules": { - "description": "the collection of rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/ClassRule" - }, - "type": "array" - }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { @@ -1216,56 +1194,13 @@ }, "type": "array" }, - "slot_conditions": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "expresses constraints on a group of slots for a class expression", - "type": "object" + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slot_usage": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "the refinement of a slot in the context of the containing class definition.", - "type": "object" - }, - "slots": { - "description": "collection of slot names that are applicable to a class", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" + "status": { + "description": "status of the element", + "type": "string" }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", @@ -1274,10 +1209,6 @@ }, "type": "array" }, - "subclass_of": { - "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", - "type": "string" - }, "title": { "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", "type": "string" @@ -1288,40 +1219,12 @@ "type": "string" }, "type": "array" - }, - "tree_root": { - "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", - "type": "boolean" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_keys": { - "additionalProperties": { - "$ref": "#/$defs/UniqueKey__identifier_optional" - }, - "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", - "type": "object" - }, - "values_from": { - "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [ - "name" - ], - "title": "ClassDefinition", + "title": "ArrayExpression", "type": "object" }, - "ClassDefinition__identifier_optional": { + "ClassDefinition": { "additionalProperties": false, "description": "an element whose instances are complex objects that may have slot-value assignments", "properties": { @@ -1360,7 +1263,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -1513,7 +1424,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -1529,6 +1448,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -1551,17 +1474,873 @@ }, "type": "array" }, - "instantiates": { - "description": "An element in another schema which this element instantiates.", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "A primary parent class from which inheritable metaslots are propagated", - "type": "string" - }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_a": { + "description": "A primary parent class from which inheritable metaslots are propagated", + "type": "string" + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mixin": { + "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", + "type": "boolean" + }, + "mixins": { + "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "represents_relationship": { + "description": "true if this class represents a relationship rather than an entity", + "type": "boolean" + }, + "rules": { + "description": "the collection of rules that apply to all members of this class", + "items": { + "$ref": "#/$defs/ClassRule" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "slot_conditions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "expresses constraints on a group of slots for a class expression", + "type": "object" + }, + "slot_names_unique": { + "description": "if true then induced/mangled slot names are not created for class_usage and attributes", + "type": "boolean" + }, + "slot_usage": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "the refinement of a slot in the context of the containing class definition.", + "type": "object" + }, + "slots": { + "description": "collection of slot names that are applicable to a class", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subclass_of": { + "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "tree_root": { + "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", + "type": "boolean" + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_keys": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/UniqueKey__identifier_optional" + }, + { + "description": "list of slot names that form a key. The tuple formed from the values of all these slots should be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + ] + }, + "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", + "type": "object" + }, + "values_from": { + "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "title": "ClassDefinition", + "type": "object" + }, + "ClassDefinition__identifier_optional": { + "additionalProperties": false, + "description": "an element whose instances are complex objects that may have slot-value assignments", + "properties": { + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": "boolean" + }, + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + { + "description": "text of an attributed description", + "type": "string" + } + ] + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "apply_to": { + "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attributes": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "Inline definition of slots", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "children_are_mutually_disjoint": { + "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", + "type": "boolean" + }, + "class_uri": { + "description": "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas", + "type": "string" + }, + "classification_rules": { + "description": "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance.", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "contributors": { + "description": "agent that contributed to the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "defining_slots": { + "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", + "items": { + "type": "string" + }, + "type": "array" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "disjoint_with": { + "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", + "items": { + "type": "string" + }, + "type": "array" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "id_prefixes": { + "description": "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix", + "items": { + "type": "string" + }, + "type": "array" + }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_a": { + "description": "A primary parent class from which inheritable metaslots are propagated", + "type": "string" + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mixin": { + "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", + "type": "boolean" + }, + "mixins": { + "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "represents_relationship": { + "description": "true if this class represents a relationship rather than an entity", + "type": "boolean" + }, + "rules": { + "description": "the collection of rules that apply to all members of this class", + "items": { + "$ref": "#/$defs/ClassRule" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "slot_conditions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "expresses constraints on a group of slots for a class expression", + "type": "object" + }, + "slot_names_unique": { + "description": "if true then induced/mangled slot names are not created for class_usage and attributes", + "type": "boolean" + }, + "slot_usage": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "the refinement of a slot in the context of the containing class definition.", + "type": "object" + }, + "slots": { + "description": "collection of slot names that are applicable to a class", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subclass_of": { + "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "tree_root": { + "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", + "type": "boolean" + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_keys": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/UniqueKey__identifier_optional" + }, + { + "description": "list of slot names that form a key. The tuple formed from the values of all these slots should be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + ] + }, + "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", + "type": "object" + }, + "values_from": { + "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [], + "title": "ClassDefinition", + "type": "object" + }, + "ClassRule": { + "additionalProperties": false, + "description": "A rule that applies to instances of a class", + "properties": { + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + { + "description": "text of an attributed description", + "type": "string" + } + ] + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "bidirectional": { + "description": "in addition to preconditions entailing postconditions, the postconditions entail the preconditions", + "type": "boolean" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "contributors": { + "description": "agent that contributed to the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deactivated": { + "description": "a deactivated rule is not executed by the rules engine", + "type": "boolean" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "elseconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold for an instance of the class, if the preconditions no not hold" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { @@ -1574,20 +2353,6 @@ "format": "date-time", "type": "string" }, - "local_names": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/LocalName__identifier_optional" - }, - { - "description": "a name assigned to an element in a given ontology", - "type": "string" - } - ] - }, - "type": "object" - }, "mappings": { "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", "items": { @@ -1595,25 +2360,10 @@ }, "type": "array" }, - "mixin": { - "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", - "type": "boolean" - }, - "mixins": { - "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", - "items": { - "type": "string" - }, - "type": "array" - }, "modified_by": { "description": "agent that modified the element", "type": "string" }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { @@ -1621,13 +2371,6 @@ }, "type": "array" }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { @@ -1635,6 +2378,18 @@ }, "type": "array" }, + "open_world": { + "description": "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these", + "type": "boolean" + }, + "postconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold for an instance of the class, if the preconditions hold" + }, + "preconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold in order for the rule to be applicable to an instance" + }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", "type": "integer" @@ -1646,17 +2401,6 @@ }, "type": "array" }, - "represents_relationship": { - "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" - }, - "rules": { - "description": "the collection of rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/ClassRule" - }, - "type": "array" - }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { @@ -1664,45 +2408,6 @@ }, "type": "array" }, - "slot_conditions": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "expresses constraints on a group of slots for a class expression", - "type": "object" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slot_usage": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "the refinement of a slot in the context of the containing class definition.", - "type": "object" - }, - "slots": { - "description": "collection of slot names that are applicable to a class", - "items": { - "type": "string" - }, - "type": "array" - }, "source": { "description": "A related resource from which the element is derived.", "type": "string" @@ -1711,10 +2416,6 @@ "description": "status of the element", "type": "string" }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { @@ -1722,10 +2423,6 @@ }, "type": "array" }, - "subclass_of": { - "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", - "type": "string" - }, "title": { "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", "type": "string" @@ -1736,41 +2433,19 @@ "type": "string" }, "type": "array" - }, - "tree_root": { - "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", - "type": "boolean" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_keys": { - "additionalProperties": { - "$ref": "#/$defs/UniqueKey__identifier_optional" - }, - "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", - "type": "object" - }, - "values_from": { - "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" } }, - "required": [], - "title": "ClassDefinition", + "title": "ClassRule", "type": "object" }, - "ClassRule": { + "DimensionExpression": { "additionalProperties": false, - "description": "A rule that applies to instances of a class", + "description": "defines one of the dimensions of an array", "properties": { + "alias": { + "description": "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name.", + "type": "string" + }, "aliases": { "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", "items": { @@ -1795,15 +2470,19 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" }, - "bidirectional": { - "description": "in addition to preconditions entailing postconditions, the postconditions entail the preconditions", - "type": "boolean" - }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { @@ -1848,10 +2527,6 @@ "format": "date-time", "type": "string" }, - "deactivated": { - "description": "a deactivated rule is not executed by the rules engine", - "type": "boolean" - }, "deprecated": { "description": "Description of why and when this element will no longer be used", "type": "string" @@ -1868,9 +2543,9 @@ "description": "a textual description of the element's purpose and use", "type": "string" }, - "elseconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold for an instance of the class, if the preconditions no not hold" + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": "integer" }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", @@ -1888,7 +2563,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -1931,6 +2614,14 @@ }, "type": "array" }, + "maximum_cardinality": { + "description": "the maximum number of entries for a multivalued slot", + "type": "integer" + }, + "minimum_cardinality": { + "description": "the minimum number of entries for a multivalued slot", + "type": "integer" + }, "modified_by": { "description": "agent that modified the element", "type": "string" @@ -1949,18 +2640,6 @@ }, "type": "array" }, - "open_world": { - "description": "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these", - "type": "boolean" - }, - "postconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold for an instance of the class, if the preconditions hold" - }, - "preconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold in order for the rule to be applicable to an instance" - }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", "type": "integer" @@ -2006,7 +2685,7 @@ "type": "array" } }, - "title": "ClassRule", + "title": "DimensionExpression", "type": "object" }, "EnumDefinition": { @@ -2041,7 +2720,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -2160,7 +2847,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -2176,6 +2871,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -2416,7 +3115,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -2535,7 +3242,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -2551,6 +3266,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -2857,7 +3576,15 @@ "properties": { "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -2867,8 +3594,8 @@ "type": "string" }, "value": { - "description": "the actual annotation", - "type": "string" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ @@ -2884,7 +3611,15 @@ "properties": { "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -2894,8 +3629,8 @@ "type": "string" }, "value": { - "description": "the actual annotation", - "type": "string" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ @@ -2932,7 +3667,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -3013,7 +3756,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -3235,7 +3986,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -3330,7 +4089,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -3490,7 +4257,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -3571,7 +4346,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -3720,7 +4503,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -3801,7 +4592,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -3953,7 +4752,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -4034,7 +4841,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -4211,7 +5026,8 @@ "CODE", "CURIE", "URI", - "FHIR_CODING" + "FHIR_CODING", + "LABEL" ], "title": "PvFormulaOptions", "type": "string" @@ -4294,7 +5110,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -4433,7 +5257,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -4458,6 +5290,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -4788,7 +5624,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -4807,6 +5651,10 @@ }, "type": "array" }, + "array": { + "$ref": "#/$defs/ArrayExpression", + "description": "coerces the value of the slot into an array and defines the dimensions of that array" + }, "asymmetric": { "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", "type": "boolean" @@ -4928,6 +5776,10 @@ }, "type": "array" }, + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": "integer" + }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { @@ -4951,7 +5803,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -4971,6 +5831,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "identifier": { "description": "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container", "type": "boolean" @@ -5102,16 +5966,16 @@ "type": "integer" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_cardinality": { "description": "the minimum number of entries for a multivalued slot", "type": "integer" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "mixin": { "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", @@ -5369,7 +6233,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -5388,6 +6260,10 @@ }, "type": "array" }, + "array": { + "$ref": "#/$defs/ArrayExpression", + "description": "coerces the value of the slot into an array and defines the dimensions of that array" + }, "asymmetric": { "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", "type": "boolean" @@ -5509,6 +6385,10 @@ }, "type": "array" }, + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": "integer" + }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { @@ -5532,7 +6412,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -5552,6 +6440,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "identifier": { "description": "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container", "type": "boolean" @@ -5683,16 +6575,16 @@ "type": "integer" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_cardinality": { "description": "the minimum number of entries for a multivalued slot", "type": "integer" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "mixin": { "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", @@ -5929,7 +6821,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -6010,7 +6910,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -6158,7 +7066,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -6247,7 +7163,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -6263,6 +7187,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -6426,7 +7354,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -6515,7 +7451,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -6531,6 +7475,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -6699,7 +7647,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -6821,7 +7777,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -6837,6 +7801,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -6904,12 +7872,12 @@ "type": "array" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", @@ -7057,7 +8025,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -7179,7 +8155,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -7195,6 +8179,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -7262,12 +8250,12 @@ "type": "array" }, "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" + "$ref": "#/$defs/Anything", + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", @@ -7406,7 +8394,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -7491,7 +8487,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -7643,7 +8647,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -7728,7 +8740,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -7853,10 +8873,10 @@ }, "UnitOfMeasure": { "additionalProperties": false, - "description": "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension).", + "description": "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension).", "properties": { "abbreviation": { - "description": "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)", + "description": "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)", "type": "string" }, "derivation": { @@ -7875,7 +8895,7 @@ "type": "array" }, "has_quantity_kind": { - "description": "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length", + "description": "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length", "type": "string" }, "iec61360code": { @@ -7895,7 +8915,7 @@ } }, "$id": "https://w3id.org/linkml/meta", - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2019-09/schema", "additionalProperties": true, "description": "A collection of definitions that make up a schema or a data model.", "metamodel_version": "1.7.0", @@ -7924,7 +8944,15 @@ }, "annotations": { "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", "type": "object" @@ -8063,7 +9091,15 @@ }, "extensions": { "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" + "anyOf": [ + { + "$ref": "#/$defs/Extension__identifier_optional" + }, + { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" + } + ] }, "description": "a tag/text tuple attached to an arbitrary element", "type": "object" @@ -8088,6 +9124,10 @@ }, "type": "array" }, + "id_prefixes_are_closed": { + "description": "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation.", + "type": "boolean" + }, "implements": { "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", "items": { @@ -8331,5 +9371,5 @@ ], "title": "meta", "type": "object", - "version": "2.0.0" + "version": null } \ No newline at end of file diff --git a/linkml_runtime/linkml_model/linkml_files.py b/linkml_runtime/linkml_model/linkml_files.py index ddfb7864..48d11cc6 100644 --- a/linkml_runtime/linkml_model/linkml_files.py +++ b/linkml_runtime/linkml_model/linkml_files.py @@ -111,7 +111,7 @@ def do_request(url) -> object: raise requests.HTTPError(f"{resp.status_code} - {resp.reason}: {url}") def tag_to_commit(tag: str) -> str: - tags = do_request(f"{GITHUB_API_BASE}tags") + tags = do_request(f"{GITHUB_API_BASE}tags?per_page=100") for tagent in tags: if tagent['name'] == tag: return _build_loc(f"{GITHUB_BASE}blob/{tagent['commit']['sha']}/", source, fmt) diff --git a/linkml_runtime/linkml_model/mappings.py b/linkml_runtime/linkml_model/mappings.py index 0e7a8d97..e8a146ca 100644 --- a/linkml_runtime/linkml_model/mappings.py +++ b/linkml_runtime/linkml_model/mappings.py @@ -1,5 +1,5 @@ -# Auto generated from mappings.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:16 +# Auto generated from mappings.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:35 # Schema: mappings # # id: https://w3id.org/linkml/mappings @@ -76,4 +76,4 @@ class slots: model_uri=LINKML.deprecated_element_has_exact_replacement, domain=None, range=Optional[Union[str, URIorCURIE]], mappings = [IAO["0100001"]]) slots.deprecated_element_has_possible_replacement = Slot(uri=LINKML.deprecated_element_has_possible_replacement, name="deprecated element has possible replacement", curie=LINKML.curie('deprecated_element_has_possible_replacement'), - model_uri=LINKML.deprecated_element_has_possible_replacement, domain=None, range=Optional[Union[str, URIorCURIE]], mappings = [OIO.consider]) + model_uri=LINKML.deprecated_element_has_possible_replacement, domain=None, range=Optional[Union[str, URIorCURIE]], mappings = [OIO["consider"]]) diff --git a/linkml_runtime/linkml_model/meta.py b/linkml_runtime/linkml_model/meta.py index 5480f1dc..9edd8d13 100644 --- a/linkml_runtime/linkml_model/meta.py +++ b/linkml_runtime/linkml_model/meta.py @@ -1,5 +1,5 @@ -# Auto generated from meta.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:17 +# Auto generated from meta.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:36 # Schema: meta # # id: https://w3id.org/linkml/meta @@ -24,7 +24,6 @@ # # * [MinimalSubset](https://w3id.org/linkml/MinimalSubset) # * [BasicSubset](https://w3id.org/linkml/BasicSubset) -# * [BasicSubset](https://w3id.org/linkml/BasicSubset) # # For canonical reference documentation on any metamodel construct, # refer to the official URI for each construct, e.g. @@ -52,7 +51,7 @@ from linkml_runtime.utils.metamodelcore import Bool, NCName, URI, URIorCURIE, XSDDateTime metamodel_version = "1.7.0" -version = "2.0.0" +version = None # Overwrite dataclasses _init_fn to add **kwargs in __init__ dataclasses._init_fn = dataclasses_init_fn_with_kwargs @@ -61,6 +60,7 @@ IAO = CurieNamespace('IAO', 'http://purl.obolibrary.org/obo/IAO_') NCIT = CurieNamespace('NCIT', 'http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#') OIO = CurieNamespace('OIO', 'http://www.geneontology.org/formats/oboInOwl#') +SIO = CurieNamespace('SIO', 'http://semanticscience.org/resource/SIO_') BIBO = CurieNamespace('bibo', 'http://purl.org/ontology/bibo/') CDISC = CurieNamespace('cdisc', 'http://rdf.cdisc.org/mms#') DCTERMS = CurieNamespace('dcterms', 'http://purl.org/dc/terms/') @@ -151,7 +151,7 @@ class CommonMetadata(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.CommonMetadata + class_class_uri: ClassVar[URIRef] = LINKML["CommonMetadata"] class_class_curie: ClassVar[str] = "linkml:CommonMetadata" class_name: ClassVar[str] = "common_metadata" class_model_uri: ClassVar[URIRef] = LINKML.CommonMetadata @@ -314,13 +314,14 @@ class Element(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Element + class_class_uri: ClassVar[URIRef] = LINKML["Element"] class_class_curie: ClassVar[str] = "linkml:Element" class_name: ClassVar[str] = "element" class_model_uri: ClassVar[URIRef] = LINKML.Element name: Union[str, ElementName] = None id_prefixes: Optional[Union[Union[str, NCName], List[Union[str, NCName]]]] = empty_list() + id_prefixes_are_closed: Optional[Union[bool, Bool]] = None definition_uri: Optional[Union[str, URIorCURIE]] = None local_names: Optional[Union[Dict[Union[str, LocalNameLocalNameSource], Union[dict, "LocalName"]], List[Union[dict, "LocalName"]]]] = empty_dict() conforms_to: Optional[str] = None @@ -372,6 +373,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.id_prefixes = [self.id_prefixes] if self.id_prefixes is not None else [] self.id_prefixes = [v if isinstance(v, NCName) else NCName(v) for v in self.id_prefixes] + if self.id_prefixes_are_closed is not None and not isinstance(self.id_prefixes_are_closed, Bool): + self.id_prefixes_are_closed = Bool(self.id_prefixes_are_closed) + if self.definition_uri is not None and not isinstance(self.definition_uri, URIorCURIE): self.definition_uri = URIorCURIE(self.definition_uri) @@ -515,7 +519,7 @@ class SchemaDefinition(Element): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.SchemaDefinition + class_class_uri: ClassVar[URIRef] = LINKML["SchemaDefinition"] class_class_curie: ClassVar[str] = "linkml:SchemaDefinition" class_name: ClassVar[str] = "schema_definition" class_model_uri: ClassVar[URIRef] = LINKML.SchemaDefinition @@ -622,7 +626,7 @@ class AnonymousTypeExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = ["pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] - class_class_uri: ClassVar[URIRef] = LINKML.AnonymousTypeExpression + class_class_uri: ClassVar[URIRef] = LINKML["AnonymousTypeExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousTypeExpression" class_name: ClassVar[str] = "anonymous_type_expression" class_model_uri: ClassVar[URIRef] = LINKML.AnonymousTypeExpression @@ -634,8 +638,8 @@ class AnonymousTypeExpression(YAMLRoot): equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None none_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() exactly_one_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() any_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() @@ -664,12 +668,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_number is not None and not isinstance(self.equals_number, int): self.equals_number = int(self.equals_number) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] self.none_of = [v if isinstance(v, AnonymousTypeExpression) else AnonymousTypeExpression(**as_dict(v)) for v in self.none_of] @@ -696,7 +694,7 @@ class TypeDefinition(Element): """ _inherited_slots: ClassVar[List[str]] = ["base", "uri", "repr", "pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] - class_class_uri: ClassVar[URIRef] = LINKML.TypeDefinition + class_class_uri: ClassVar[URIRef] = LINKML["TypeDefinition"] class_class_curie: ClassVar[str] = "linkml:TypeDefinition" class_name: ClassVar[str] = "type_definition" class_model_uri: ClassVar[URIRef] = LINKML.TypeDefinition @@ -714,8 +712,8 @@ class TypeDefinition(Element): equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None none_of: Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]] = empty_list() exactly_one_of: Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]] = empty_list() any_of: Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]] = empty_list() @@ -765,12 +763,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_number is not None and not isinstance(self.equals_number, int): self.equals_number = int(self.equals_number) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] self.none_of = [v if isinstance(v, AnonymousTypeExpression) else AnonymousTypeExpression(**as_dict(v)) for v in self.none_of] @@ -797,7 +789,7 @@ class SubsetDefinition(Element): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.SubsetDefinition + class_class_uri: ClassVar[URIRef] = LINKML["SubsetDefinition"] class_class_curie: ClassVar[str] = "linkml:SubsetDefinition" class_name: ClassVar[str] = "subset_definition" class_model_uri: ClassVar[URIRef] = LINKML.SubsetDefinition @@ -820,7 +812,7 @@ class Definition(Element): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Definition + class_class_uri: ClassVar[URIRef] = LINKML["Definition"] class_class_curie: ClassVar[str] = "linkml:Definition" class_name: ClassVar[str] = "definition" class_model_uri: ClassVar[URIRef] = LINKML.Definition @@ -869,7 +861,7 @@ class AnonymousEnumExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.AnonymousEnumExpression + class_class_uri: ClassVar[URIRef] = LINKML["AnonymousEnumExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousEnumExpression" class_name: ClassVar[str] = "anonymous_enum_expression" class_model_uri: ClassVar[URIRef] = LINKML.AnonymousEnumExpression @@ -933,7 +925,7 @@ class EnumDefinition(Definition): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.EnumDefinition + class_class_uri: ClassVar[URIRef] = LINKML["EnumDefinition"] class_class_curie: ClassVar[str] = "linkml:EnumDefinition" class_name: ClassVar[str] = "enum_definition" class_model_uri: ClassVar[URIRef] = LINKML.EnumDefinition @@ -1008,7 +1000,7 @@ class MatchQuery(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.MatchQuery + class_class_uri: ClassVar[URIRef] = LINKML["MatchQuery"] class_class_curie: ClassVar[str] = "linkml:MatchQuery" class_name: ClassVar[str] = "match_query" class_model_uri: ClassVar[URIRef] = LINKML.MatchQuery @@ -1034,7 +1026,7 @@ class ReachabilityQuery(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.ReachabilityQuery + class_class_uri: ClassVar[URIRef] = LINKML["ReachabilityQuery"] class_class_curie: ClassVar[str] = "linkml:ReachabilityQuery" class_name: ClassVar[str] = "reachability_query" class_model_uri: ClassVar[URIRef] = LINKML.ReachabilityQuery @@ -1078,7 +1070,7 @@ class StructuredAlias(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = SKOSXL.Label + class_class_uri: ClassVar[URIRef] = SKOSXL["Label"] class_class_curie: ClassVar[str] = "skosxl:Label" class_name: ClassVar[str] = "structured_alias" class_model_uri: ClassVar[URIRef] = LINKML.StructuredAlias @@ -1256,7 +1248,7 @@ class Expression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Expression + class_class_uri: ClassVar[URIRef] = LINKML["Expression"] class_class_curie: ClassVar[str] = "linkml:Expression" class_name: ClassVar[str] = "expression" class_model_uri: ClassVar[URIRef] = LINKML.Expression @@ -1269,7 +1261,7 @@ class TypeExpression(Expression): """ _inherited_slots: ClassVar[List[str]] = ["pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] - class_class_uri: ClassVar[URIRef] = LINKML.TypeExpression + class_class_uri: ClassVar[URIRef] = LINKML["TypeExpression"] class_class_curie: ClassVar[str] = "linkml:TypeExpression" class_name: ClassVar[str] = "type_expression" class_model_uri: ClassVar[URIRef] = LINKML.TypeExpression @@ -1281,8 +1273,8 @@ class TypeExpression(Expression): equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None none_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() exactly_one_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() any_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() @@ -1311,12 +1303,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_number is not None and not isinstance(self.equals_number, int): self.equals_number = int(self.equals_number) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] self.none_of = [v if isinstance(v, AnonymousTypeExpression) else AnonymousTypeExpression(**as_dict(v)) for v in self.none_of] @@ -1343,7 +1329,7 @@ class EnumExpression(Expression): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.EnumExpression + class_class_uri: ClassVar[URIRef] = LINKML["EnumExpression"] class_class_curie: ClassVar[str] = "linkml:EnumExpression" class_name: ClassVar[str] = "enum_expression" class_model_uri: ClassVar[URIRef] = LINKML.EnumExpression @@ -1407,7 +1393,7 @@ class AnonymousExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.AnonymousExpression + class_class_uri: ClassVar[URIRef] = LINKML["AnonymousExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousExpression" class_name: ClassVar[str] = "anonymous_expression" class_model_uri: ClassVar[URIRef] = LINKML.AnonymousExpression @@ -1576,7 +1562,7 @@ class PathExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.PathExpression + class_class_uri: ClassVar[URIRef] = LINKML["PathExpression"] class_class_curie: ClassVar[str] = "linkml:PathExpression" class_name: ClassVar[str] = "path_expression" class_model_uri: ClassVar[URIRef] = LINKML.PathExpression @@ -1779,9 +1765,9 @@ class SlotExpression(Expression): """ an expression that constrains the range of values a slot can take """ - _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "exact_cardinality", "minimum_cardinality", "maximum_cardinality"] - class_class_uri: ClassVar[URIRef] = LINKML.SlotExpression + class_class_uri: ClassVar[URIRef] = LINKML["SlotExpression"] class_class_curie: ClassVar[str] = "linkml:SlotExpression" class_name: ClassVar[str] = "slot_expression" class_model_uri: ClassVar[URIRef] = LINKML.SlotExpression @@ -1793,8 +1779,8 @@ class SlotExpression(Expression): recommended: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None pattern: Optional[str] = None structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None @@ -1804,6 +1790,7 @@ class SlotExpression(Expression): equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None equals_expression: Optional[str] = None + exact_cardinality: Optional[int] = None minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, "AnonymousSlotExpression"]] = None @@ -1835,12 +1822,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.inlined_as_list is not None and not isinstance(self.inlined_as_list, Bool): self.inlined_as_list = Bool(self.inlined_as_list) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if self.pattern is not None and not isinstance(self.pattern, str): self.pattern = str(self.pattern) @@ -1869,6 +1850,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_expression is not None and not isinstance(self.equals_expression, str): self.equals_expression = str(self.equals_expression) + if self.exact_cardinality is not None and not isinstance(self.exact_cardinality, int): + self.exact_cardinality = int(self.exact_cardinality) + if self.minimum_cardinality is not None and not isinstance(self.minimum_cardinality, int): self.minimum_cardinality = int(self.minimum_cardinality) @@ -1902,9 +1886,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class AnonymousSlotExpression(AnonymousExpression): - _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "exact_cardinality", "minimum_cardinality", "maximum_cardinality"] - class_class_uri: ClassVar[URIRef] = LINKML.AnonymousSlotExpression + class_class_uri: ClassVar[URIRef] = LINKML["AnonymousSlotExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousSlotExpression" class_name: ClassVar[str] = "anonymous_slot_expression" class_model_uri: ClassVar[URIRef] = LINKML.AnonymousSlotExpression @@ -1916,8 +1900,8 @@ class AnonymousSlotExpression(AnonymousExpression): recommended: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None pattern: Optional[str] = None structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None @@ -1927,6 +1911,7 @@ class AnonymousSlotExpression(AnonymousExpression): equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None equals_expression: Optional[str] = None + exact_cardinality: Optional[int] = None minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, "AnonymousSlotExpression"]] = None @@ -1958,12 +1943,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.inlined_as_list is not None and not isinstance(self.inlined_as_list, Bool): self.inlined_as_list = Bool(self.inlined_as_list) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if self.pattern is not None and not isinstance(self.pattern, str): self.pattern = str(self.pattern) @@ -1992,6 +1971,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_expression is not None and not isinstance(self.equals_expression, str): self.equals_expression = str(self.equals_expression) + if self.exact_cardinality is not None and not isinstance(self.exact_cardinality, int): + self.exact_cardinality = int(self.exact_cardinality) + if self.minimum_cardinality is not None and not isinstance(self.minimum_cardinality, int): self.minimum_cardinality = int(self.minimum_cardinality) @@ -2028,9 +2010,9 @@ class SlotDefinition(Definition): """ an element that describes how instances are related to other instances """ - _inherited_slots: ClassVar[List[str]] = ["domain", "multivalued", "inherited", "readonly", "ifabsent", "list_elements_unique", "list_elements_ordered", "shared", "key", "identifier", "designates_type", "role", "relational_role", "range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["domain", "multivalued", "array", "inherited", "readonly", "ifabsent", "list_elements_unique", "list_elements_ordered", "shared", "key", "identifier", "designates_type", "role", "relational_role", "range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "exact_cardinality", "minimum_cardinality", "maximum_cardinality"] - class_class_uri: ClassVar[URIRef] = LINKML.SlotDefinition + class_class_uri: ClassVar[URIRef] = LINKML["SlotDefinition"] class_class_curie: ClassVar[str] = "linkml:SlotDefinition" class_name: ClassVar[str] = "slot_definition" class_model_uri: ClassVar[URIRef] = LINKML.SlotDefinition @@ -2040,6 +2022,7 @@ class SlotDefinition(Definition): domain: Optional[Union[str, ClassDefinitionName]] = None slot_uri: Optional[Union[str, URIorCURIE]] = None multivalued: Optional[Union[bool, Bool]] = None + array: Optional[Union[dict, "ArrayExpression"]] = None inherited: Optional[Union[bool, Bool]] = None readonly: Optional[str] = None ifabsent: Optional[str] = None @@ -2083,8 +2066,8 @@ class SlotDefinition(Definition): recommended: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None - minimum_value: Optional[int] = None - maximum_value: Optional[int] = None + minimum_value: Optional[Union[dict, Anything]] = None + maximum_value: Optional[Union[dict, Anything]] = None pattern: Optional[str] = None structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None @@ -2094,6 +2077,7 @@ class SlotDefinition(Definition): equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None equals_expression: Optional[str] = None + exact_cardinality: Optional[int] = None minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, AnonymousSlotExpression]] = None @@ -2121,6 +2105,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.multivalued is not None and not isinstance(self.multivalued, Bool): self.multivalued = Bool(self.multivalued) + if self.array is not None and not isinstance(self.array, ArrayExpression): + self.array = ArrayExpression(**as_dict(self.array)) + if self.inherited is not None and not isinstance(self.inherited, Bool): self.inherited = Bool(self.inherited) @@ -2255,12 +2242,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.inlined_as_list is not None and not isinstance(self.inlined_as_list, Bool): self.inlined_as_list = Bool(self.inlined_as_list) - if self.minimum_value is not None and not isinstance(self.minimum_value, int): - self.minimum_value = int(self.minimum_value) - - if self.maximum_value is not None and not isinstance(self.maximum_value, int): - self.maximum_value = int(self.maximum_value) - if self.pattern is not None and not isinstance(self.pattern, str): self.pattern = str(self.pattern) @@ -2289,6 +2270,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.equals_expression is not None and not isinstance(self.equals_expression, str): self.equals_expression = str(self.equals_expression) + if self.exact_cardinality is not None and not isinstance(self.exact_cardinality, int): + self.exact_cardinality = int(self.exact_cardinality) + if self.minimum_cardinality is not None and not isinstance(self.minimum_cardinality, int): self.minimum_cardinality = int(self.minimum_cardinality) @@ -2327,7 +2311,7 @@ class ClassExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.ClassExpression + class_class_uri: ClassVar[URIRef] = LINKML["ClassExpression"] class_class_curie: ClassVar[str] = "linkml:ClassExpression" class_name: ClassVar[str] = "class_expression" class_model_uri: ClassVar[URIRef] = LINKML.ClassExpression @@ -2364,7 +2348,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): class AnonymousClassExpression(AnonymousExpression): _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.AnonymousClassExpression + class_class_uri: ClassVar[URIRef] = LINKML["AnonymousClassExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousClassExpression" class_name: ClassVar[str] = "anonymous_class_expression" class_model_uri: ClassVar[URIRef] = LINKML.AnonymousClassExpression @@ -2408,7 +2392,7 @@ class ClassDefinition(Definition): """ _inherited_slots: ClassVar[List[str]] = ["defining_slots", "represents_relationship"] - class_class_uri: ClassVar[URIRef] = LINKML.ClassDefinition + class_class_uri: ClassVar[URIRef] = LINKML["ClassDefinition"] class_class_curie: ClassVar[str] = "linkml:ClassDefinition" class_name: ClassVar[str] = "class_definition" class_model_uri: ClassVar[URIRef] = LINKML.ClassDefinition @@ -2530,7 +2514,7 @@ class ClassLevelRule(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.ClassLevelRule + class_class_uri: ClassVar[URIRef] = LINKML["ClassLevelRule"] class_class_curie: ClassVar[str] = "linkml:ClassLevelRule" class_name: ClassVar[str] = "class_level_rule" class_model_uri: ClassVar[URIRef] = LINKML.ClassLevelRule @@ -2543,7 +2527,7 @@ class ClassRule(ClassLevelRule): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.ClassRule + class_class_uri: ClassVar[URIRef] = LINKML["ClassRule"] class_class_curie: ClassVar[str] = "linkml:ClassRule" class_name: ClassVar[str] = "class_rule" class_model_uri: ClassVar[URIRef] = LINKML.ClassRule @@ -2729,6 +2713,378 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass +class ArrayExpression(YAMLRoot): + """ + defines the dimensions of an array + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = LINKML["ArrayExpression"] + class_class_curie: ClassVar[str] = "linkml:ArrayExpression" + class_name: ClassVar[str] = "array_expression" + class_model_uri: ClassVar[URIRef] = LINKML.ArrayExpression + + exact_number_dimensions: Optional[int] = None + minimum_number_dimensions: Optional[int] = None + maximum_number_dimensions: Optional[Union[dict, Anything]] = None + has_extra_dimensions: Optional[Union[bool, Bool]] = None + dimensions: Optional[Union[Union[dict, "DimensionExpression"], List[Union[dict, "DimensionExpression"]]]] = empty_list() + extensions: Optional[Union[Dict[Union[str, ExtensionTag], Union[dict, Extension]], List[Union[dict, Extension]]]] = empty_dict() + annotations: Optional[Union[Dict[Union[str, AnnotationTag], Union[dict, Annotation]], List[Union[dict, Annotation]]]] = empty_dict() + description: Optional[str] = None + alt_descriptions: Optional[Union[Dict[Union[str, AltDescriptionSource], Union[dict, "AltDescription"]], List[Union[dict, "AltDescription"]]]] = empty_dict() + title: Optional[str] = None + deprecated: Optional[str] = None + todos: Optional[Union[str, List[str]]] = empty_list() + notes: Optional[Union[str, List[str]]] = empty_list() + comments: Optional[Union[str, List[str]]] = empty_list() + examples: Optional[Union[Union[dict, "Example"], List[Union[dict, "Example"]]]] = empty_list() + in_subset: Optional[Union[Union[str, SubsetDefinitionName], List[Union[str, SubsetDefinitionName]]]] = empty_list() + from_schema: Optional[Union[str, URI]] = None + imported_from: Optional[str] = None + source: Optional[Union[str, URIorCURIE]] = None + in_language: Optional[str] = None + see_also: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + deprecated_element_has_exact_replacement: Optional[Union[str, URIorCURIE]] = None + deprecated_element_has_possible_replacement: Optional[Union[str, URIorCURIE]] = None + aliases: Optional[Union[str, List[str]]] = empty_list() + structured_aliases: Optional[Union[Union[dict, StructuredAlias], List[Union[dict, StructuredAlias]]]] = empty_list() + mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + exact_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + close_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + related_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + narrow_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + broad_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + created_by: Optional[Union[str, URIorCURIE]] = None + contributors: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + created_on: Optional[Union[str, XSDDateTime]] = None + last_updated_on: Optional[Union[str, XSDDateTime]] = None + modified_by: Optional[Union[str, URIorCURIE]] = None + status: Optional[Union[str, URIorCURIE]] = None + rank: Optional[int] = None + categories: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + keywords: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.exact_number_dimensions is not None and not isinstance(self.exact_number_dimensions, int): + self.exact_number_dimensions = int(self.exact_number_dimensions) + + if self.minimum_number_dimensions is not None and not isinstance(self.minimum_number_dimensions, int): + self.minimum_number_dimensions = int(self.minimum_number_dimensions) + + if self.has_extra_dimensions is not None and not isinstance(self.has_extra_dimensions, Bool): + self.has_extra_dimensions = Bool(self.has_extra_dimensions) + + if not isinstance(self.dimensions, list): + self.dimensions = [self.dimensions] if self.dimensions is not None else [] + self.dimensions = [v if isinstance(v, DimensionExpression) else DimensionExpression(**as_dict(v)) for v in self.dimensions] + + self._normalize_inlined_as_dict(slot_name="extensions", slot_type=Extension, key_name="tag", keyed=True) + + self._normalize_inlined_as_dict(slot_name="annotations", slot_type=Annotation, key_name="tag", keyed=True) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + self._normalize_inlined_as_dict(slot_name="alt_descriptions", slot_type=AltDescription, key_name="source", keyed=True) + + if self.title is not None and not isinstance(self.title, str): + self.title = str(self.title) + + if self.deprecated is not None and not isinstance(self.deprecated, str): + self.deprecated = str(self.deprecated) + + if not isinstance(self.todos, list): + self.todos = [self.todos] if self.todos is not None else [] + self.todos = [v if isinstance(v, str) else str(v) for v in self.todos] + + if not isinstance(self.notes, list): + self.notes = [self.notes] if self.notes is not None else [] + self.notes = [v if isinstance(v, str) else str(v) for v in self.notes] + + if not isinstance(self.comments, list): + self.comments = [self.comments] if self.comments is not None else [] + self.comments = [v if isinstance(v, str) else str(v) for v in self.comments] + + if not isinstance(self.examples, list): + self.examples = [self.examples] if self.examples is not None else [] + self.examples = [v if isinstance(v, Example) else Example(**as_dict(v)) for v in self.examples] + + if not isinstance(self.in_subset, list): + self.in_subset = [self.in_subset] if self.in_subset is not None else [] + self.in_subset = [v if isinstance(v, SubsetDefinitionName) else SubsetDefinitionName(v) for v in self.in_subset] + + if self.from_schema is not None and not isinstance(self.from_schema, URI): + self.from_schema = URI(self.from_schema) + + if self.imported_from is not None and not isinstance(self.imported_from, str): + self.imported_from = str(self.imported_from) + + if self.source is not None and not isinstance(self.source, URIorCURIE): + self.source = URIorCURIE(self.source) + + if self.in_language is not None and not isinstance(self.in_language, str): + self.in_language = str(self.in_language) + + if not isinstance(self.see_also, list): + self.see_also = [self.see_also] if self.see_also is not None else [] + self.see_also = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.see_also] + + if self.deprecated_element_has_exact_replacement is not None and not isinstance(self.deprecated_element_has_exact_replacement, URIorCURIE): + self.deprecated_element_has_exact_replacement = URIorCURIE(self.deprecated_element_has_exact_replacement) + + if self.deprecated_element_has_possible_replacement is not None and not isinstance(self.deprecated_element_has_possible_replacement, URIorCURIE): + self.deprecated_element_has_possible_replacement = URIorCURIE(self.deprecated_element_has_possible_replacement) + + if not isinstance(self.aliases, list): + self.aliases = [self.aliases] if self.aliases is not None else [] + self.aliases = [v if isinstance(v, str) else str(v) for v in self.aliases] + + self._normalize_inlined_as_dict(slot_name="structured_aliases", slot_type=StructuredAlias, key_name="literal_form", keyed=False) + + if not isinstance(self.mappings, list): + self.mappings = [self.mappings] if self.mappings is not None else [] + self.mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.mappings] + + if not isinstance(self.exact_mappings, list): + self.exact_mappings = [self.exact_mappings] if self.exact_mappings is not None else [] + self.exact_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.exact_mappings] + + if not isinstance(self.close_mappings, list): + self.close_mappings = [self.close_mappings] if self.close_mappings is not None else [] + self.close_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.close_mappings] + + if not isinstance(self.related_mappings, list): + self.related_mappings = [self.related_mappings] if self.related_mappings is not None else [] + self.related_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.related_mappings] + + if not isinstance(self.narrow_mappings, list): + self.narrow_mappings = [self.narrow_mappings] if self.narrow_mappings is not None else [] + self.narrow_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.narrow_mappings] + + if not isinstance(self.broad_mappings, list): + self.broad_mappings = [self.broad_mappings] if self.broad_mappings is not None else [] + self.broad_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.broad_mappings] + + if self.created_by is not None and not isinstance(self.created_by, URIorCURIE): + self.created_by = URIorCURIE(self.created_by) + + if not isinstance(self.contributors, list): + self.contributors = [self.contributors] if self.contributors is not None else [] + self.contributors = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.contributors] + + if self.created_on is not None and not isinstance(self.created_on, XSDDateTime): + self.created_on = XSDDateTime(self.created_on) + + if self.last_updated_on is not None and not isinstance(self.last_updated_on, XSDDateTime): + self.last_updated_on = XSDDateTime(self.last_updated_on) + + if self.modified_by is not None and not isinstance(self.modified_by, URIorCURIE): + self.modified_by = URIorCURIE(self.modified_by) + + if self.status is not None and not isinstance(self.status, URIorCURIE): + self.status = URIorCURIE(self.status) + + if self.rank is not None and not isinstance(self.rank, int): + self.rank = int(self.rank) + + if not isinstance(self.categories, list): + self.categories = [self.categories] if self.categories is not None else [] + self.categories = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.categories] + + if not isinstance(self.keywords, list): + self.keywords = [self.keywords] if self.keywords is not None else [] + self.keywords = [v if isinstance(v, str) else str(v) for v in self.keywords] + + super().__post_init__(**kwargs) + + +@dataclass +class DimensionExpression(YAMLRoot): + """ + defines one of the dimensions of an array + """ + _inherited_slots: ClassVar[List[str]] = ["maximum_cardinality", "minimum_cardinality", "exact_cardinality"] + + class_class_uri: ClassVar[URIRef] = LINKML["DimensionExpression"] + class_class_curie: ClassVar[str] = "linkml:DimensionExpression" + class_name: ClassVar[str] = "dimension_expression" + class_model_uri: ClassVar[URIRef] = LINKML.DimensionExpression + + alias: Optional[str] = None + maximum_cardinality: Optional[int] = None + minimum_cardinality: Optional[int] = None + exact_cardinality: Optional[int] = None + extensions: Optional[Union[Dict[Union[str, ExtensionTag], Union[dict, Extension]], List[Union[dict, Extension]]]] = empty_dict() + annotations: Optional[Union[Dict[Union[str, AnnotationTag], Union[dict, Annotation]], List[Union[dict, Annotation]]]] = empty_dict() + description: Optional[str] = None + alt_descriptions: Optional[Union[Dict[Union[str, AltDescriptionSource], Union[dict, "AltDescription"]], List[Union[dict, "AltDescription"]]]] = empty_dict() + title: Optional[str] = None + deprecated: Optional[str] = None + todos: Optional[Union[str, List[str]]] = empty_list() + notes: Optional[Union[str, List[str]]] = empty_list() + comments: Optional[Union[str, List[str]]] = empty_list() + examples: Optional[Union[Union[dict, "Example"], List[Union[dict, "Example"]]]] = empty_list() + in_subset: Optional[Union[Union[str, SubsetDefinitionName], List[Union[str, SubsetDefinitionName]]]] = empty_list() + from_schema: Optional[Union[str, URI]] = None + imported_from: Optional[str] = None + source: Optional[Union[str, URIorCURIE]] = None + in_language: Optional[str] = None + see_also: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + deprecated_element_has_exact_replacement: Optional[Union[str, URIorCURIE]] = None + deprecated_element_has_possible_replacement: Optional[Union[str, URIorCURIE]] = None + aliases: Optional[Union[str, List[str]]] = empty_list() + structured_aliases: Optional[Union[Union[dict, StructuredAlias], List[Union[dict, StructuredAlias]]]] = empty_list() + mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + exact_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + close_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + related_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + narrow_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + broad_mappings: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + created_by: Optional[Union[str, URIorCURIE]] = None + contributors: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + created_on: Optional[Union[str, XSDDateTime]] = None + last_updated_on: Optional[Union[str, XSDDateTime]] = None + modified_by: Optional[Union[str, URIorCURIE]] = None + status: Optional[Union[str, URIorCURIE]] = None + rank: Optional[int] = None + categories: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + keywords: Optional[Union[str, List[str]]] = empty_list() + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.alias is not None and not isinstance(self.alias, str): + self.alias = str(self.alias) + + if self.maximum_cardinality is not None and not isinstance(self.maximum_cardinality, int): + self.maximum_cardinality = int(self.maximum_cardinality) + + if self.minimum_cardinality is not None and not isinstance(self.minimum_cardinality, int): + self.minimum_cardinality = int(self.minimum_cardinality) + + if self.exact_cardinality is not None and not isinstance(self.exact_cardinality, int): + self.exact_cardinality = int(self.exact_cardinality) + + self._normalize_inlined_as_dict(slot_name="extensions", slot_type=Extension, key_name="tag", keyed=True) + + self._normalize_inlined_as_dict(slot_name="annotations", slot_type=Annotation, key_name="tag", keyed=True) + + if self.description is not None and not isinstance(self.description, str): + self.description = str(self.description) + + self._normalize_inlined_as_dict(slot_name="alt_descriptions", slot_type=AltDescription, key_name="source", keyed=True) + + if self.title is not None and not isinstance(self.title, str): + self.title = str(self.title) + + if self.deprecated is not None and not isinstance(self.deprecated, str): + self.deprecated = str(self.deprecated) + + if not isinstance(self.todos, list): + self.todos = [self.todos] if self.todos is not None else [] + self.todos = [v if isinstance(v, str) else str(v) for v in self.todos] + + if not isinstance(self.notes, list): + self.notes = [self.notes] if self.notes is not None else [] + self.notes = [v if isinstance(v, str) else str(v) for v in self.notes] + + if not isinstance(self.comments, list): + self.comments = [self.comments] if self.comments is not None else [] + self.comments = [v if isinstance(v, str) else str(v) for v in self.comments] + + if not isinstance(self.examples, list): + self.examples = [self.examples] if self.examples is not None else [] + self.examples = [v if isinstance(v, Example) else Example(**as_dict(v)) for v in self.examples] + + if not isinstance(self.in_subset, list): + self.in_subset = [self.in_subset] if self.in_subset is not None else [] + self.in_subset = [v if isinstance(v, SubsetDefinitionName) else SubsetDefinitionName(v) for v in self.in_subset] + + if self.from_schema is not None and not isinstance(self.from_schema, URI): + self.from_schema = URI(self.from_schema) + + if self.imported_from is not None and not isinstance(self.imported_from, str): + self.imported_from = str(self.imported_from) + + if self.source is not None and not isinstance(self.source, URIorCURIE): + self.source = URIorCURIE(self.source) + + if self.in_language is not None and not isinstance(self.in_language, str): + self.in_language = str(self.in_language) + + if not isinstance(self.see_also, list): + self.see_also = [self.see_also] if self.see_also is not None else [] + self.see_also = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.see_also] + + if self.deprecated_element_has_exact_replacement is not None and not isinstance(self.deprecated_element_has_exact_replacement, URIorCURIE): + self.deprecated_element_has_exact_replacement = URIorCURIE(self.deprecated_element_has_exact_replacement) + + if self.deprecated_element_has_possible_replacement is not None and not isinstance(self.deprecated_element_has_possible_replacement, URIorCURIE): + self.deprecated_element_has_possible_replacement = URIorCURIE(self.deprecated_element_has_possible_replacement) + + if not isinstance(self.aliases, list): + self.aliases = [self.aliases] if self.aliases is not None else [] + self.aliases = [v if isinstance(v, str) else str(v) for v in self.aliases] + + self._normalize_inlined_as_dict(slot_name="structured_aliases", slot_type=StructuredAlias, key_name="literal_form", keyed=False) + + if not isinstance(self.mappings, list): + self.mappings = [self.mappings] if self.mappings is not None else [] + self.mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.mappings] + + if not isinstance(self.exact_mappings, list): + self.exact_mappings = [self.exact_mappings] if self.exact_mappings is not None else [] + self.exact_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.exact_mappings] + + if not isinstance(self.close_mappings, list): + self.close_mappings = [self.close_mappings] if self.close_mappings is not None else [] + self.close_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.close_mappings] + + if not isinstance(self.related_mappings, list): + self.related_mappings = [self.related_mappings] if self.related_mappings is not None else [] + self.related_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.related_mappings] + + if not isinstance(self.narrow_mappings, list): + self.narrow_mappings = [self.narrow_mappings] if self.narrow_mappings is not None else [] + self.narrow_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.narrow_mappings] + + if not isinstance(self.broad_mappings, list): + self.broad_mappings = [self.broad_mappings] if self.broad_mappings is not None else [] + self.broad_mappings = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.broad_mappings] + + if self.created_by is not None and not isinstance(self.created_by, URIorCURIE): + self.created_by = URIorCURIE(self.created_by) + + if not isinstance(self.contributors, list): + self.contributors = [self.contributors] if self.contributors is not None else [] + self.contributors = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.contributors] + + if self.created_on is not None and not isinstance(self.created_on, XSDDateTime): + self.created_on = XSDDateTime(self.created_on) + + if self.last_updated_on is not None and not isinstance(self.last_updated_on, XSDDateTime): + self.last_updated_on = XSDDateTime(self.last_updated_on) + + if self.modified_by is not None and not isinstance(self.modified_by, URIorCURIE): + self.modified_by = URIorCURIE(self.modified_by) + + if self.status is not None and not isinstance(self.status, URIorCURIE): + self.status = URIorCURIE(self.status) + + if self.rank is not None and not isinstance(self.rank, int): + self.rank = int(self.rank) + + if not isinstance(self.categories, list): + self.categories = [self.categories] if self.categories is not None else [] + self.categories = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.categories] + + if not isinstance(self.keywords, list): + self.keywords = [self.keywords] if self.keywords is not None else [] + self.keywords = [v if isinstance(v, str) else str(v) for v in self.keywords] + + super().__post_init__(**kwargs) + + @dataclass class PatternExpression(YAMLRoot): """ @@ -2736,7 +3092,7 @@ class PatternExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = ["syntax"] - class_class_uri: ClassVar[URIRef] = LINKML.PatternExpression + class_class_uri: ClassVar[URIRef] = LINKML["PatternExpression"] class_class_curie: ClassVar[str] = "linkml:PatternExpression" class_name: ClassVar[str] = "pattern_expression" class_model_uri: ClassVar[URIRef] = LINKML.PatternExpression @@ -2917,7 +3273,7 @@ class ImportExpression(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.ImportExpression + class_class_uri: ClassVar[URIRef] = LINKML["ImportExpression"] class_class_curie: ClassVar[str] = "linkml:ImportExpression" class_name: ClassVar[str] = "import_expression" class_model_uri: ClassVar[URIRef] = LINKML.ImportExpression @@ -3099,7 +3455,7 @@ class Setting(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Setting + class_class_uri: ClassVar[URIRef] = LINKML["Setting"] class_class_curie: ClassVar[str] = "linkml:Setting" class_name: ClassVar[str] = "setting" class_model_uri: ClassVar[URIRef] = LINKML.Setting @@ -3128,7 +3484,7 @@ class Prefix(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Prefix + class_class_uri: ClassVar[URIRef] = LINKML["Prefix"] class_class_curie: ClassVar[str] = "linkml:Prefix" class_name: ClassVar[str] = "prefix" class_model_uri: ClassVar[URIRef] = LINKML.Prefix @@ -3157,7 +3513,7 @@ class LocalName(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.LocalName + class_class_uri: ClassVar[URIRef] = LINKML["LocalName"] class_class_curie: ClassVar[str] = "linkml:LocalName" class_name: ClassVar[str] = "local_name" class_model_uri: ClassVar[URIRef] = LINKML.LocalName @@ -3186,7 +3542,7 @@ class Example(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.Example + class_class_uri: ClassVar[URIRef] = LINKML["Example"] class_class_curie: ClassVar[str] = "linkml:Example" class_name: ClassVar[str] = "example" class_model_uri: ClassVar[URIRef] = LINKML.Example @@ -3212,7 +3568,7 @@ class AltDescription(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.AltDescription + class_class_uri: ClassVar[URIRef] = LINKML["AltDescription"] class_class_curie: ClassVar[str] = "linkml:AltDescription" class_name: ClassVar[str] = "alt_description" class_model_uri: ClassVar[URIRef] = LINKML.AltDescription @@ -3241,7 +3597,7 @@ class PermissibleValue(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.PermissibleValue + class_class_uri: ClassVar[URIRef] = LINKML["PermissibleValue"] class_class_curie: ClassVar[str] = "linkml:PermissibleValue" class_name: ClassVar[str] = "permissible_value" class_model_uri: ClassVar[URIRef] = LINKML.PermissibleValue @@ -3433,7 +3789,7 @@ class UniqueKey(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = LINKML.UniqueKey + class_class_uri: ClassVar[URIRef] = LINKML["UniqueKey"] class_class_curie: ClassVar[str] = "linkml:UniqueKey" class_name: ClassVar[str] = "unique_key" class_model_uri: ClassVar[URIRef] = LINKML.UniqueKey @@ -3629,6 +3985,9 @@ class PvFormulaOptions(EnumDefinitionImpl): FHIR_CODING = PermissibleValue( text="FHIR_CODING", description="The permissible values are the set of FHIR coding elements derived from the code set") + LABEL = PermissibleValue( + text="LABEL", + description="The permissible values are the set of human readable labels in the code set") _defn = EnumDefinition( name="PvFormulaOptions", @@ -3655,15 +4014,15 @@ class RelationalRoleEnum(EnumDefinitionImpl): SUBJECT = PermissibleValue( text="SUBJECT", description="a slot with this role connects a relationship to its subject/source node", - meaning=RDF.subject) + meaning=RDF["subject"]) OBJECT = PermissibleValue( text="OBJECT", description="a slot with this role connects a relationship to its object/target node", - meaning=RDF.object) + meaning=RDF["object"]) PREDICATE = PermissibleValue( text="PREDICATE", description="a slot with this role connects a relationship to its predicate/property", - meaning=RDF.predicate) + meaning=RDF["predicate"]) NODE = PermissibleValue( text="NODE", description="""a slot with this role connects a symmetric relationship to a node that represents either subject or object node""") @@ -3682,16 +4041,16 @@ class AliasPredicateEnum(EnumDefinitionImpl): """ EXACT_SYNONYM = PermissibleValue( text="EXACT_SYNONYM", - meaning=SKOS.exactMatch) + meaning=SKOS["exactMatch"]) RELATED_SYNONYM = PermissibleValue( text="RELATED_SYNONYM", - meaning=SKOS.relatedMatch) + meaning=SKOS["relatedMatch"]) BROAD_SYNONYM = PermissibleValue( text="BROAD_SYNONYM", - meaning=SKOS.broaderMatch) + meaning=SKOS["broaderMatch"]) NARROW_SYNONYM = PermissibleValue( text="NARROW_SYNONYM", - meaning=SKOS.narrowerMatch) + meaning=SKOS["narrowerMatch"]) _defn = EnumDefinition( name="AliasPredicateEnum", @@ -3729,6 +4088,9 @@ class slots: slots.id_prefixes = Slot(uri=LINKML.id_prefixes, name="id_prefixes", curie=LINKML.curie('id_prefixes'), model_uri=LINKML.id_prefixes, domain=Element, range=Optional[Union[Union[str, NCName], List[Union[str, NCName]]]]) +slots.id_prefixes_are_closed = Slot(uri=LINKML.id_prefixes_are_closed, name="id_prefixes_are_closed", curie=LINKML.curie('id_prefixes_are_closed'), + model_uri=LINKML.id_prefixes_are_closed, domain=Element, range=Optional[Union[bool, Bool]]) + slots.description = Slot(uri=SKOS.definition, name="description", curie=SKOS.curie('definition'), model_uri=LINKML.description, domain=Element, range=Optional[str]) @@ -4038,6 +4400,24 @@ class slots: slots.multivalued = Slot(uri=LINKML.multivalued, name="multivalued", curie=LINKML.curie('multivalued'), model_uri=LINKML.multivalued, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) +slots.array = Slot(uri=LINKML.array, name="array", curie=LINKML.curie('array'), + model_uri=LINKML.array, domain=SlotDefinition, range=Optional[Union[dict, "ArrayExpression"]]) + +slots.dimensions = Slot(uri=LINKML.dimensions, name="dimensions", curie=LINKML.curie('dimensions'), + model_uri=LINKML.dimensions, domain=ArrayExpression, range=Optional[Union[Union[dict, "DimensionExpression"], List[Union[dict, "DimensionExpression"]]]]) + +slots.minimum_number_dimensions = Slot(uri=LINKML.minimum_number_dimensions, name="minimum_number_dimensions", curie=LINKML.curie('minimum_number_dimensions'), + model_uri=LINKML.minimum_number_dimensions, domain=ArrayExpression, range=Optional[int]) + +slots.maximum_number_dimensions = Slot(uri=LINKML.maximum_number_dimensions, name="maximum_number_dimensions", curie=LINKML.curie('maximum_number_dimensions'), + model_uri=LINKML.maximum_number_dimensions, domain=ArrayExpression, range=Optional[Union[dict, Anything]]) + +slots.exact_number_dimensions = Slot(uri=LINKML.exact_number_dimensions, name="exact_number_dimensions", curie=LINKML.curie('exact_number_dimensions'), + model_uri=LINKML.exact_number_dimensions, domain=ArrayExpression, range=Optional[int]) + +slots.has_extra_dimensions = Slot(uri=LINKML.has_extra_dimensions, name="has_extra_dimensions", curie=LINKML.curie('has_extra_dimensions'), + model_uri=LINKML.has_extra_dimensions, domain=ArrayExpression, range=Optional[Union[bool, Bool]]) + slots.inherited = Slot(uri=LINKML.inherited, name="inherited", curie=LINKML.curie('inherited'), model_uri=LINKML.inherited, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) @@ -4068,6 +4448,9 @@ class slots: slots.equals_expression = Slot(uri=LINKML.equals_expression, name="equals_expression", curie=LINKML.curie('equals_expression'), model_uri=LINKML.equals_expression, domain=None, range=Optional[str]) +slots.exact_cardinality = Slot(uri=LINKML.exact_cardinality, name="exact_cardinality", curie=LINKML.curie('exact_cardinality'), + model_uri=LINKML.exact_cardinality, domain=None, range=Optional[int]) + slots.minimum_cardinality = Slot(uri=LINKML.minimum_cardinality, name="minimum_cardinality", curie=LINKML.curie('minimum_cardinality'), model_uri=LINKML.minimum_cardinality, domain=None, range=Optional[int]) @@ -4186,10 +4569,10 @@ class slots: model_uri=LINKML.role, domain=SlotDefinition, range=Optional[str]) slots.minimum_value = Slot(uri=LINKML.minimum_value, name="minimum_value", curie=LINKML.curie('minimum_value'), - model_uri=LINKML.minimum_value, domain=SlotDefinition, range=Optional[int]) + model_uri=LINKML.minimum_value, domain=SlotDefinition, range=Optional[Union[dict, Anything]]) slots.maximum_value = Slot(uri=LINKML.maximum_value, name="maximum_value", curie=LINKML.curie('maximum_value'), - model_uri=LINKML.maximum_value, domain=SlotDefinition, range=Optional[int]) + model_uri=LINKML.maximum_value, domain=SlotDefinition, range=Optional[Union[dict, Anything]]) slots.interpolated = Slot(uri=LINKML.interpolated, name="interpolated", curie=LINKML.curie('interpolated'), model_uri=LINKML.interpolated, domain=PatternExpression, range=Optional[Union[bool, Bool]]) diff --git a/linkml_runtime/linkml_model/model/docs/specification/01introduction.md b/linkml_runtime/linkml_model/model/docs/specification/01introduction.md index d3190b26..6c0687d8 100644 --- a/linkml_runtime/linkml_model/model/docs/specification/01introduction.md +++ b/linkml_runtime/linkml_model/model/docs/specification/01introduction.md @@ -14,7 +14,7 @@ LinkML is self-describing, and any LinkML schema is itself a collection instance ## Audience -This document is intended for LinkML tool and framework implementors, and is intended to formally specify the structure and semantics of LinkML. +This document is intended for LinkML tool and framework implementers, and is intended to formally specify the structure and semantics of LinkML. For a more lightweight introduction, consult the material on the main [LinkML site](https://linkml.io), including the LinkML tutorial. diff --git a/linkml_runtime/linkml_model/model/docs/specification/03schemas.md b/linkml_runtime/linkml_model/model/docs/specification/03schemas.md index ff427fc1..d9631588 100644 --- a/linkml_runtime/linkml_model/model/docs/specification/03schemas.md +++ b/linkml_runtime/linkml_model/model/docs/specification/03schemas.md @@ -74,20 +74,20 @@ A schema *m* is an instance of a SchemaDefinition, with normative elements: | Name | Cardinality and Range | Description | | --- | --- |-------------------------------------------------------------------------------------------------| -| [id](id.md) | 1..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | The official schema URI | -| [name](name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | a unique name for the schema that is both human-readable and consists of only... **identifier** | -| [classes](classes.md) | 0..*
[ClassDefinition](ClassDefinition.md) | An index to the collection of all class definitions in the schema | -| [slot_definitions](slot_definitions.md) | 0..*
[SlotDefinition](SlotDefinition.md) | An index to the collection of all slot definitions in the schema | -| [enums](enums.md) | 0..*
[EnumDefinition](EnumDefinition.md) | An index to the collection of all enum definitions in the schema | -| [subsets](subsets.md) | 0..*
[SubsetDefinition](SubsetDefinition.md) | An index to the collection of all subset definitions in the schema | -| [prefixes](prefixes.md) | 0..*
[Prefix](Prefix.md) | prefix / URI definitions to be added to the context beyond those fetched from... | -| [default_prefix](default_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | default and base prefix -- used for ':' identifiers, @base and @vocab | -| [default_range](default_range.md) | 0..1
[TypeDefinition](TypeDefinition.md) | default slot range to be used if range element is omitted from a slot definitition... | -| [settings](settings.md) | 0..*
[Setting](Setting.md) | A collection of global variable settings | -| [imports](imports.md) | 0..*
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | other schemas that are included in this schema | -| [rank](rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | -| [id_prefixes](id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by ... | -| [from_schema](from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | +| [id](../id.md) | 1..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | The official schema URI | +| [name](../name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | a unique name for the schema that is both human-readable and consists of only... **identifier** | +| [classes](../classes.md) | 0..*
[ClassDefinition](../ClassDefinition.md) | An index to the collection of all class definitions in the schema | +| [slot_definitions](../slot_definitions.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | An index to the collection of all slot definitions in the schema | +| [enums](../enums.md) | 0..*
[EnumDefinition](../EnumDefinition.md) | An index to the collection of all enum definitions in the schema | +| [subsets](../subsets.md) | 0..*
[SubsetDefinition](../SubsetDefinition.md) | An index to the collection of all subset definitions in the schema | +| [prefixes](../prefixes.md) | 0..*
[Prefix](../Prefix.md) | prefix / URI definitions to be added to the context beyond those fetched from... | +| [default_prefix](../default_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | default and base prefix -- used for ':' identifiers, @base and @vocab | +| [default_range](../default_range.md) | 0..1
[TypeDefinition](../TypeDefinition.md) | default slot range to be used if range element is omitted from a slot definitition... | +| [settings](../settings.md) | 0..*
[Setting](../Setting.md) | A collection of global variable settings | +| [imports](../imports.md) | 0..*
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | other schemas that are included in this schema | +| [rank](../rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | +| [id_prefixes](../id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by ... | +| [from_schema](../from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | ### SchemaDefinition: Normative subset UML @@ -165,30 +165,30 @@ Any instance *c* of a ClassDefinition may have assignments in any of the followi | Name | Cardinality and Range | Description | | --- | --- | --- | -| [name](name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | -| [class_uri](class_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | URI of the class that provides a semantic interpretation of the element in a ... | -| [is_a](is_a.md) | 0..1
[ClassDefinition](ClassDefinition.md) | A primary parent class from which inheritable metaslots are propagated | -| [mixins](mixins.md) | 0..*
[ClassDefinition](ClassDefinition.md) | A collection of secondary parent mixin classes from which inheritable metaslo... | -| [slots](slots.md) | 0..*
[SlotDefinition](SlotDefinition.md) | collection of slot names that are applicable to a class | -| [slot_usage](slot_usage.md) | 0..*
[SlotDefinition](SlotDefinition.md) | the refinement of a slot in the context of the containing class definition | -| [attributes](attributes.md) | 0..*
[SlotDefinition](SlotDefinition.md) | Inline definition of slots | -| [tree_root](tree_root.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | indicator that this is the root class in tree structures | -| [rank](rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given... | -| [any_of](any_of.md) | 0..*
[AnonymousClassExpression](AnonymousClassExpression.md) | holds if at least one of the expressions hold | -| [exactly_one_of](exactly_one_of.md) | 0..*
[AnonymousClassExpression](AnonymousClassExpression.md) | holds if only one of the expressions hold | -| [none_of](none_of.md) | 0..*
[AnonymousClassExpression](AnonymousClassExpression.md) | holds if none of the expressions hold | -| [all_of](all_of.md) | 0..*
[AnonymousClassExpression](AnonymousClassExpression.md) | holds if all of the expressions hold | -| [union_of](union_of.md) | 0..*
[ClassDefinition](ClassDefinition.md) | indicates that the domain element consists exactly of the members of the elem... | -| [unique_keys](unique_keys.md) | 0..*
[UniqueKey](UniqueKey.md) | A collection of unique keys for this class | -| [rules](rules.md) | 0..*
[ClassRule](ClassRule.md) | the collection of rules that apply to all members of this class | -| [classification_rules](classification_rules.md) | 0..*
[AnonymousClassExpression](AnonymousClassExpression.md) | the collection of classification rules that apply to all members of this clas... | -| [disjoint_with](disjoint_with.md) | 0..*
[ClassDefinition](ClassDefinition.md) | Two classes are disjoint if they have no instances in common, two slots are d... | -| [slot_conditions](slot_conditions.md) | 0..*
[SlotDefinition](SlotDefinition.md) | expresses constraints on a group of slots for a class expression | -| [abstract](abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | -| [mixin](mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | -| [string_serialization](string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | -| [id_prefixes](id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | -| [from_schema](from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | +| [name](../name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | +| [class_uri](../class_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | URI of the class that provides a semantic interpretation of the element in a ... | +| [is_a](../is_a.md) | 0..1
[ClassDefinition](../ClassDefinition.md) | A primary parent class from which inheritable metaslots are propagated | +| [mixins](../mixins.md) | 0..*
[ClassDefinition](../ClassDefinition.md) | A collection of secondary parent mixin classes from which inheritable metaslo... | +| [slots](../slots.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | collection of slot names that are applicable to a class | +| [slot_usage](../slot_usage.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | the refinement of a slot in the context of the containing class definition | +| [attributes](../attributes.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | Inline definition of slots | +| [tree_root](../tree_root.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | indicator that this is the root class in tree structures | +| [rank](../rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given... | +| [any_of](../any_of.md) | 0..*
[AnonymousClassExpression](../AnonymousClassExpression.md) | holds if at least one of the expressions hold | +| [exactly_one_of](../exactly_one_of.md) | 0..*
[AnonymousClassExpression](../AnonymousClassExpression.md) | holds if only one of the expressions hold | +| [none_of](../none_of.md) | 0..*
[AnonymousClassExpression](../AnonymousClassExpression.md) | holds if none of the expressions hold | +| [all_of](../all_of.md) | 0..*
[AnonymousClassExpression](../AnonymousClassExpression.md) | holds if all of the expressions hold | +| [union_of](../union_of.md) | 0..*
[ClassDefinition](../ClassDefinition.md) | indicates that the domain element consists exactly of the members of the elem... | +| [unique_keys](../unique_keys.md) | 0..*
[UniqueKey](../UniqueKey.md) | A collection of unique keys for this class | +| [rules](../rules.md) | 0..*
[ClassRule](../ClassRule.md) | the collection of rules that apply to all members of this class | +| [classification_rules](../classification_rules.md) | 0..*
[AnonymousClassExpression](../AnonymousClassExpression.md) | the collection of classification rules that apply to all members of this clas... | +| [disjoint_with](../disjoint_with.md) | 0..*
[ClassDefinition](../ClassDefinition.md) | Two classes are disjoint if they have no instances in common, two slots are d... | +| [slot_conditions](../slot_conditions.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | expresses constraints on a group of slots for a class expression | +| [abstract](../abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | +| [mixin](../mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | +| [string_serialization](../string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | +| [id_prefixes](../id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | +| [from_schema](../from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | @@ -311,63 +311,63 @@ Any instance *s* of a SlotDefinition may have assignments in any of the followin | Name | Cardinality and Range | Description | | --- | --- | --- | -| [name](name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | -| [slot_uri](slot_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | predicate of this slot for semantic web application | -| [identifier](identifier.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) uniquely identify the container | -| [alias](alias.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the name used for a slot in the context of its owning class | -| [multivalued](multivalued.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that slot can have more than one value | -| [required](required.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the slot must be present in the loaded definition | -| [recommended](recommended.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the slot should be present in the loaded definition, but this... | -| [is_a](is_a.md) | 0..1
[SlotDefinition](SlotDefinition.md) | A primary parent slot from which inheritable metaslots are propagated | -| [mixins](mixins.md) | 0..*
[SlotDefinition](SlotDefinition.md) | A collection of secondary parent mixin slots from which inheritable metaslots... | -| [inlined](inlined.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that keyed or identified slot appears in an outer structure by val... | -| [inlined_as_list](inlined_as_list.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that an inlined slot is represented as a list of range instances | -| [pattern](pattern.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the string value of the slot must conform to this regular expression expresse... | -| [rank](rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | -| [any_of](any_of.md) | 0..*
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if at least one of the expressions hold | -| [exactly_one_of](exactly_one_of.md) | 0..*
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if only one of the expressions hold | -| [none_of](none_of.md) | 0..*
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if none of the expressions hold | -| [all_of](all_of.md) | 0..*
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if all of the expressions hold | -| [domain](domain.md) | 0..1
[ClassDefinition](ClassDefinition.md) | defines the type of the subject of the slot | -| [inherited](inherited.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the *value* of a slot is inherited by subclasses | -| [ifabsent](ifabsent.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | function that provides a default value for the slot | -| [list_elements_unique](list_elements_unique.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then there must be no duplicates in the elements of a multivalued sl... | -| [list_elements_ordered](list_elements_ordered.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then the order of elements of a multivalued slot is guaranteed to be... | -| [shared](shared.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then the relationship between the slot domain and range is many to o... | -| [key](key.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) uniquely identify the container | -| [designates_type](designates_type.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) is used to determine the instantiation (types... | -| [symmetric](symmetric.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is symmetric, and i | -| [reflexive](reflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is reflexive, then i | -| [locally_reflexive](locally_reflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is locally_reflexive, then i | -| [irreflexive](irreflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is irreflexive, then there exists no i such i | -| [asymmetric](asymmetric.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is antisymmetric, and i | -| [transitive](transitive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is transitive, and i | -| [inverse](inverse.md) | 0..1
[SlotDefinition](SlotDefinition.md) | indicates that any instance of d s r implies that there is also an instance o... | -| [transitive_form_of](transitive_form_of.md) | 0..1
[SlotDefinition](SlotDefinition.md) | If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transit... | -| [reflexive_transitive_form_of](reflexive_transitive_form_of.md) | 0..1
[SlotDefinition](SlotDefinition.md) | transitive_form_of including the reflexive case | -| [slot_group](slot_group.md) | 0..1
[SlotDefinition](SlotDefinition.md) | allows for grouping of related slots into a grouping slot that serves the rol... | -| [is_grouping_slot](is_grouping_slot.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true if this slot is a grouping slot | -| [disjoint_with](disjoint_with.md) | 0..*
[SlotDefinition](SlotDefinition.md) | Two classes are disjoint if they have no instances in common, two slots are d... | -| [union_of](union_of.md) | 0..*
[SlotDefinition](SlotDefinition.md) | indicates that the domain element consists exactly of the members of the elem... | -| [range](range.md) | 0..1
[Element](Element.md) | defines the type of the object of the slot | -| [range_expression](range_expression.md) | 0..1
[AnonymousClassExpression](AnonymousClassExpression.md) | A range that is described as a boolean expression combining existing ranges | -| [enum_range](enum_range.md) | 0..1
[EnumExpression](EnumExpression.md) | An inlined enumeration | -| [minimum_value](minimum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or higher th... | -| [maximum_value](maximum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or lowe than... | -| [structured_pattern](structured_pattern.md) | 0..1
[PatternExpression](PatternExpression.md) | the string value of the slot must conform to the regular expression in the pa... | -| [implicit_prefix](implicit_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | -| [equals_string](equals_string.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal the spec... | -| [equals_string_in](equals_string_in.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal one of t... | -| [equals_expression](equals_expression.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the value of the slot must equal the value of the evaluated expression | -| [minimum_cardinality](minimum_cardinality.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the minimum number of entries for a multivalued slot | -| [maximum_cardinality](maximum_cardinality.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the maximum number of entries for a multivalued slot | -| [has_member](has_member.md) | 0..1
[AnonymousSlotExpression](AnonymousSlotExpression.md) | the values of the slot is multivalued with at least one member satisfying the... | -| [all_members](all_members.md) | 0..*
[SlotDefinition](SlotDefinition.md) | the value of the multivalued slot is a list where all elements conform to the... | -| [abstract](abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | -| [mixin](mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | -| [string_serialization](string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | -| [id_prefixes](id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | -| [from_schema](from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | +| [name](../name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | +| [slot_uri](../slot_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | predicate of this slot for semantic web application | +| [identifier](../identifier.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) uniquely identify the container | +| [alias](../alias.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the name used for a slot in the context of its owning class | +| [multivalued](../multivalued.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that slot can have more than one value | +| [required](../required.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the slot must be present in the loaded definition | +| [recommended](../recommended.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the slot should be present in the loaded definition, but this... | +| [is_a](../is_a.md) | 0..1
[SlotDefinition](../SlotDefinition.md) | A primary parent slot from which inheritable metaslots are propagated | +| [mixins](../mixins.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | A collection of secondary parent mixin slots from which inheritable metaslots... | +| [inlined](../inlined.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that keyed or identified slot appears in an outer structure by val... | +| [inlined_as_list](../inlined_as_list.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that an inlined slot is represented as a list of range instances | +| [pattern](../pattern.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the string value of the slot must conform to this regular expression expresse... | +| [rank](../rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | +| [any_of](../any_of.md) | 0..*
[AnonymousSlotExpression](../AnonymousSlotExpression.md) | holds if at least one of the expressions hold | +| [exactly_one_of](../exactly_one_of.md) | 0..*
[AnonymousSlotExpression](../AnonymousSlotExpression.md) | holds if only one of the expressions hold | +| [none_of](../none_of.md) | 0..*
[AnonymousSlotExpression](../AnonymousSlotExpression.md) | holds if none of the expressions hold | +| [all_of](../all_of.md) | 0..*
[AnonymousSlotExpression](../AnonymousSlotExpression.md) | holds if all of the expressions hold | +| [domain](../domain.md) | 0..1
[ClassDefinition](../ClassDefinition.md) | defines the type of the subject of the slot | +| [inherited](../inherited.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true means that the *value* of a slot is inherited by subclasses | +| [ifabsent](../ifabsent.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | function that provides a default value for the slot | +| [list_elements_unique](../list_elements_unique.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then there must be no duplicates in the elements of a multivalued sl... | +| [list_elements_ordered](../list_elements_ordered.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then the order of elements of a multivalued slot is guaranteed to be... | +| [shared](../shared.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If True, then the relationship between the slot domain and range is many to o... | +| [key](../key.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) uniquely identify the container | +| [designates_type](../designates_type.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | True means that the key slot(s) is used to determine the instantiation (types... | +| [symmetric](../symmetric.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is symmetric, and i | +| [reflexive](../reflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is reflexive, then i | +| [locally_reflexive](../locally_reflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is locally_reflexive, then i | +| [irreflexive](../irreflexive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is irreflexive, then there exists no i such i | +| [asymmetric](../asymmetric.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is antisymmetric, and i | +| [transitive](../transitive.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | If s is transitive, and i | +| [inverse](../inverse.md) | 0..1
[SlotDefinition](../SlotDefinition.md) | indicates that any instance of d s r implies that there is also an instance o... | +| [transitive_form_of](../transitive_form_of.md) | 0..1
[SlotDefinition](../SlotDefinition.md) | If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transit... | +| [reflexive_transitive_form_of](../reflexive_transitive_form_of.md) | 0..1
[SlotDefinition](../SlotDefinition.md) | transitive_form_of including the reflexive case | +| [slot_group](../slot_group.md) | 0..1
[SlotDefinition](../SlotDefinition.md) | allows for grouping of related slots into a grouping slot that serves the rol... | +| [is_grouping_slot](../is_grouping_slot.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | true if this slot is a grouping slot | +| [disjoint_with](../disjoint_with.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | Two classes are disjoint if they have no instances in common, two slots are d... | +| [union_of](../union_of.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | indicates that the domain element consists exactly of the members of the elem... | +| [range](../range.md) | 0..1
[Element](../Element.md) | defines the type of the object of the slot | +| [range_expression](../range_expression.md) | 0..1
[AnonymousClassExpression](../AnonymousClassExpression.md) | A range that is described as a boolean expression combining existing ranges | +| [enum_range](../enum_range.md) | 0..1
[EnumExpression](../EnumExpression.md) | An inlined enumeration | +| [minimum_value](../minimum_value.md) | 0..1
[linkml:Any](https://linkml.io/linkml-model/latest/docs/Anything/) | for slots with ordinal ranges, the value must be equal to or higher th... | +| [maximum_value](../maximum_value.md) | 0..1
[linkml:Any](https://linkml.io/linkml-model/latest/docs/Anything/) | for slots with ordinal ranges, the value must be equal to or lowe than... | +| [structured_pattern](../structured_pattern.md) | 0..1
[PatternExpression](../PatternExpression.md) | the string value of the slot must conform to the regular expression in the pa... | +| [implicit_prefix](../implicit_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | +| [equals_string](../equals_string.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal the spec... | +| [equals_string_in](../equals_string_in.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal one of t... | +| [equals_expression](../equals_expression.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the value of the slot must equal the value of the evaluated expression | +| [minimum_cardinality](../minimum_cardinality.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the minimum number of entries for a multivalued slot | +| [maximum_cardinality](../maximum_cardinality.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the maximum number of entries for a multivalued slot | +| [has_member](../has_member.md) | 0..1
[AnonymousSlotExpression](../AnonymousSlotExpression.md) | the values of the slot is multivalued with at least one member satisfying the... | +| [all_members](../all_members.md) | 0..*
[SlotDefinition](../SlotDefinition.md) | the value of the multivalued slot is a list where all elements conform to the... | +| [abstract](../abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | +| [mixin](../mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | +| [string_serialization](../string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | +| [id_prefixes](../id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | +| [from_schema](../from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | ### SlotDefinition: Normative subset UML @@ -447,25 +447,25 @@ Any instance *e* of a EnumDefinition may have assignments in any of the followin | Name | Cardinality and Range | Description | | --- | --- | --- | -| [name](name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | -| [is_a](is_a.md) | 0..1
[Definition](Definition.md) | A primary parent class or slot from which inheritable metaslots are propagate... | -| [mixins](mixins.md) | 0..*
[Definition](Definition.md) | A collection of secondary parent classes or slots from which inheritable meta... | -| [rank](rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given... | -| [enum_uri](enum_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | URI of the enum that provides a semantic interpretation of the element in a l... | -| [code_set](code_set.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | the identifier of an enumeration code set | -| [pv_formula](pv_formula.md) | 0..1
[PvFormulaOptions](PvFormulaOptions.md) | Defines the specific formula to be used to generate the permissible values | -| [permissible_values](permissible_values.md) | 0..*
[PermissibleValue](PermissibleValue.md) | A list of possible values for a slot range | -| [include](include.md) | 0..*
[AnonymousEnumExpression](AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be in... | -| [minus](minus.md) | 0..*
[AnonymousEnumExpression](AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be su... | -| [inherits](inherits.md) | 0..*
[EnumDefinition](EnumDefinition.md) | An enum definition that is used as the basis to create a new enum | -| [reachable_from](reachable_from.md) | 0..1
[ReachabilityQuery](ReachabilityQuery.md) | Specifies a query for obtaining a list of permissible values based on graph r... | -| [matches](matches.md) | 0..1
[MatchQuery](MatchQuery.md) | Specifies a match query that is used to calculate the list of permissible val... | -| [concepts](concepts.md) | 0..*
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | A list of identifiers that are used to construct a set of permissible values | -| [abstract](abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | -| [mixin](mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | -| [string_serialization](string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | -| [id_prefixes](id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | -| [from_schema](from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | +| [name](../name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | +| [is_a](../is_a.md) | 0..1
[Definition](../Definition.md) | A primary parent class or slot from which inheritable metaslots are propagate... | +| [mixins](../mixins.md) | 0..*
[Definition](../Definition.md) | A collection of secondary parent classes or slots from which inheritable meta... | +| [rank](../rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given... | +| [enum_uri](../enum_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | URI of the enum that provides a semantic interpretation of the element in a l... | +| [code_set](../code_set.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | the identifier of an enumeration code set | +| [pv_formula](../pv_formula.md) | 0..1
[PvFormulaOptions](../PvFormulaOptions.md) | Defines the specific formula to be used to generate the permissible values | +| [permissible_values](../permissible_values.md) | 0..*
[PermissibleValue](../PermissibleValue.md) | A list of possible values for a slot range | +| [include](../include.md) | 0..*
[AnonymousEnumExpression](../AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be in... | +| [minus](../minus.md) | 0..*
[AnonymousEnumExpression](../AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be su... | +| [inherits](../inherits.md) | 0..*
[EnumDefinition](../EnumDefinition.md) | An enum definition that is used as the basis to create a new enum | +| [reachable_from](../reachable_from.md) | 0..1
[ReachabilityQuery](../ReachabilityQuery.md) | Specifies a query for obtaining a list of permissible values based on graph r... | +| [matches](../matches.md) | 0..1
[MatchQuery](../MatchQuery.md) | Specifies a match query that is used to calculate the list of permissible val... | +| [concepts](../concepts.md) | 0..*
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | A list of identifiers that are used to construct a set of permissible values | +| [abstract](../abstract.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot cannot be directly instantiated and is intended f... | +| [mixin](../mixin.md) | 0..1
[xsd:boolean](http://www.w3.org/2001/XMLSchema#boolean) | Indicates the class or slot is not intended to inherited from without being a... | +| [string_serialization](../string_serialization.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Used on a slot that stores the string serialization of the containing object | +| [id_prefixes](../id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by t... | +| [from_schema](../from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | @@ -505,26 +505,26 @@ Any instance *t* of a TypeDefinition may have assignments in any of the followin | Name | Cardinality and Range | Description | | --- | --- |-----------------------------------------------------------------------------------| -| [name](name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | -| [type_uri](type_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | The uri that defines the possible values for the type definition | -| [typeof](typeof.md) | 0..1
[TypeDefinition](TypeDefinition.md) | Names a parent type | -| [base](base.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | python base type that implements this type definition | -| [repr](repr.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the name of the python object that implements this type definition | -| [pattern](pattern.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the string value of the slot must conform to this regular expression expresses... | -| [rank](rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | -| [any_of](any_of.md) | 0..*
[AnonymousTypeExpression](AnonymousTypeExpression.md) | holds if at least one of the expressions hold | -| [exactly_one_of](exactly_one_of.md) | 0..*
[AnonymousTypeExpression](AnonymousTypeExpression.md) | holds if only one of the expressions hold | -| [none_of](none_of.md) | 0..*
[AnonymousTypeExpression](AnonymousTypeExpression.md) | holds if none of the expressions hold | -| [all_of](all_of.md) | 0..*
[AnonymousTypeExpression](AnonymousTypeExpression.md) | holds if all of the expressions hold | -| [union_of](union_of.md) | 0..*
[TypeDefinition](TypeDefinition.md) | indicates that the domain element consists exactly of the members of ... | -| [structured_pattern](structured_pattern.md) | 0..1
[PatternExpression](PatternExpression.md) | the string value of the slot must conform to the regular expression in the ... | -| [implicit_prefix](implicit_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | -| [equals_string](equals_string.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal the ... | -| [equals_string_in](equals_string_in.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal one of ... | -| [minimum_value](minimum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or higher ... | -| [maximum_value](maximum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or lowe than... | -| [id_prefixes](id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by ... | -| [from_schema](from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | +| [name](../name.md) | 1..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the unique name of the element within the context of the schema **identifier** | +| [type_uri](../type_uri.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | The uri that defines the possible values for the type definition | +| [typeof](../typeof.md) | 0..1
[TypeDefinition](../TypeDefinition.md) | Names a parent type | +| [base](../base.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | python base type that implements this type definition | +| [repr](../repr.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the name of the python object that implements this type definition | +| [pattern](../pattern.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the string value of the slot must conform to this regular expression expresses... | +| [rank](../rank.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | the relative order in which the element occurs, lower values are given ... | +| [any_of](../any_of.md) | 0..*
[AnonymousTypeExpression](../AnonymousTypeExpression.md) | holds if at least one of the expressions hold | +| [exactly_one_of](../exactly_one_of.md) | 0..*
[AnonymousTypeExpression](../AnonymousTypeExpression.md) | holds if only one of the expressions hold | +| [none_of](../none_of.md) | 0..*
[AnonymousTypeExpression](../AnonymousTypeExpression.md) | holds if none of the expressions hold | +| [all_of](../all_of.md) | 0..*
[AnonymousTypeExpression](../AnonymousTypeExpression.md) | holds if all of the expressions hold | +| [union_of](../union_of.md) | 0..*
[TypeDefinition](../TypeDefinition.md) | indicates that the domain element consists exactly of the members of ... | +| [structured_pattern](../structured_pattern.md) | 0..1
[PatternExpression](../PatternExpression.md) | the string value of the slot must conform to the regular expression in the ... | +| [implicit_prefix](../implicit_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | +| [equals_string](../equals_string.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal the ... | +| [equals_string_in](../equals_string_in.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the slot must have range string and the value of the slot must equal one of ... | +| [minimum_value](../minimum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or higher ... | +| [maximum_value](../maximum_value.md) | 0..1
[xsd:integer](http://www.w3.org/2001/XMLSchema#integer) | for slots with ranges of type number, the value must be equal to or lowe than... | +| [id_prefixes](../id_prefixes.md) | 0..*
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the identifier of this class or slot must begin with the URIs referenced by ... | +| [from_schema](../from_schema.md) | 0..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | id of the schema that defined the element | ### TypeDefinition: Normative subset UML @@ -596,8 +596,8 @@ A schema can contain any number of prefixes. Each prefix maps a short name such | Name | Cardinality and Range | Description | | --- | --- | --- | -| [prefix_prefix](prefix_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the nsname (sans ':' for a given prefix) | -| [prefix_reference](prefix_reference.md) | 1..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | A URI associated with a given prefix | +| [prefix_prefix](../prefix_prefix.md) | 0..1
[xsd:string](http://www.w3.org/2001/XMLSchema#string) | the nsname (sans ':' for a given prefix) | +| [prefix_reference](../prefix_reference.md) | 1..1
[xsd:anyURI](http://www.w3.org/2001/XMLSchema#anyURI) | A URI associated with a given prefix | ### Prefix: Normative subset UML diff --git a/linkml_runtime/linkml_model/model/schema/array.yaml b/linkml_runtime/linkml_model/model/schema/array.yaml index f049abc3..1d5f67fd 100644 --- a/linkml_runtime/linkml_model/model/schema/array.yaml +++ b/linkml_runtime/linkml_model/model/schema/array.yaml @@ -1,7 +1,7 @@ id: https://w3id.org/linkml/lib/arrays name: arrays title: LinkML Arrays -description: >- +description: >- LinkML templates for storing one-dimensional series, two-dimensional arrays, and arrays of higher dimensionality. @@ -9,7 +9,7 @@ description: >- Note that this model is not intended to be imported directly. Instead, use `implements` to denote conformance. - + status: testing # contributors: # - github:rly @@ -39,13 +39,13 @@ classes: DataStructure: abstract: true - Array: + NDArray: description: >- a data structure consisting of a collection of *elements*, each identified by at least one array index tuple. abstract: true is_a: DataStructure slots: - - dimensionality + - dimensions - elements - array_linearization_order slot_usage: @@ -55,65 +55,26 @@ classes: an ordered sequence of values. The elements also have an *array interpretation*, where each element has a unique index which is determined by array_linearization_order - - OneDimensionalSeries: - is_a: Array - description: >- - An array that has one dimension - aliases: - - axis - - 1D array - - vector - - series - - row - slots: - - series_label - - length - # TODO: consider offset and rate - slot_usage: - dimensionality: - equals_expression: "1" - - TwoDimensionalArray: - is_a: Array - description: >- - An array that has two dimensions - aliases: - - table - - matrix - - grid - slots: - - axis0 - - axis1 - slot_usage: - dimensionality: - equals_expression: "2" - elements: - description: >- - this will be serialized as one big long list that should be interpreted as a 2D array - - ThreeDimensionalArray: - is_a: Array + DataArray: description: >- - An array that has two dimensions - aliases: - - 3D array + a data structure containing an NDArray and a set of one-dimensional series that are used to label + the elements of the array + is_a: DataStructure slots: - - axis0 - - axis1 - - axis2 - slot_usage: - dimensionality: - equals_expression: "3" + - axis + - array + see_also: + - https://docs.xarray.dev/en/stable/generated/xarray.DataArray.html - OrderedArray: + GroupingByArrayOrder: mixin: true description: >- A mixin that describes an array whose elements are mapped from a linear sequence to an array index via a specified mapping - + ColumnOrderedArray: mixin: true + is_a: GroupingByArrayOrder description: >- An array ordering that is column-order slots: @@ -121,9 +82,10 @@ classes: slot_usage: array_linearization_order: equals_string: COLUMN_MAJOR_ARRAY_ORDER - + RowOrderedArray: mixin: true + is_a: GroupingByArrayOrder description: >- An array ordering that is row-order or generalizations thereof slots: @@ -131,96 +93,36 @@ classes: slot_usage: array_linearization_order: equals_string: ROW_MAJOR_ARRAY_ORDER - - MultiDimensionalArray: - is_a: Array - abstract: true - description: >- - An array that has more than two dimensions - - ObjectAsTuple: - comments: - - not modeled as an array since this is used as a metaclass - implements: - - OneDimensionalSeries - - ArrayIndex: - is_a: ObjectAsTuple - Operation: - abstract: true - description: >- - Represents the transformation of one or more inputs to one or more outputs determined by - zero to many operation parameters - slots: - - specified_input - - specified_output - - operation_parameters - - ArrayIndexOperation: - description: >- - An operation that takes as input an Array and is parameterized by an array index tuple and - yields an array element - slot_usage: - specified_input: - range: Array - maximum_cardinality: 1 - specified_output: - range: Any - maximum_cardinality: 1 - operation_parameters: - range: ArrayIndex - maximum_cardinality: 1 - slots: - dimensionality: + dimensions: description: >- The number of elements in the tuple used to access elements of an array aliases: - rank - - dimension + - dimensionality - number of axes - number of elements range: integer axis: - abstract: true - range: OneDimensionalSeries + range: NDArray + slot_usage: + dimensions: + equals_number: 1 aliases: - dimension description: >- - A one dimensional series that contains elements that form one part of a tuple used to access an array - axis0: - is_a: axis - aliases: - - x - - dimension0 - description: >- - An axis that is the zeroth index of the tuple used to access an array - range: OneDimensionalSeries - rank: 0 + A one-dimensional series that contains elements that form one part of a tuple used to access an array required: true - inlined: true - inlined_as_list: true - axis1: - is_a: axis - aliases: - - y + axis_index: + range: integer description: >- - An axis that is the index after the zeroth of the tuple used to access an array - range: OneDimensionalSeries - rank: 1 - required: true - inlined: true - inlined_as_list: true - axis2: - is_a: axis - aliases: - - z - range: OneDimensionalSeries - rank: 2 + The position of an axis in a tuple used to access an array + array: + range: NDArray + description: >- + An array that is labeled by a set of one-dimensional series required: true - inlined: true - inlined_as_list: true elements: # this will be serialized as one big long list that should be interpreted as a 2D array range: Any @@ -254,7 +156,7 @@ slots: operation_parameters: range: Any multivalued: true - + enums: ArrayLinearizationOrderOptions: description: >- @@ -275,5 +177,3 @@ enums: or any generalization thereof to dimensionality greater than 2 aliases: - C order - - diff --git a/linkml_runtime/linkml_model/model/schema/datasets.yaml b/linkml_runtime/linkml_model/model/schema/datasets.yaml index 1f95748d..431d7aee 100644 --- a/linkml_runtime/linkml_model/model/schema/datasets.yaml +++ b/linkml_runtime/linkml_model/model/schema/datasets.yaml @@ -21,6 +21,8 @@ prefixes: csvw: http://www.w3.org/ns/csvw# dcat: http://www.w3.org/ns/dcat# mediatypes: https://www.iana.org/assignments/media-types/ + oslc: http://open-services.net/ns/core# + bibo: http://purl.org/ontology/bibo/ default_prefix: datasets default_range: string diff --git a/linkml_runtime/linkml_model/model/schema/meta.yaml b/linkml_runtime/linkml_model/model/schema/meta.yaml index 7bad9e38..d9c21038 100644 --- a/linkml_runtime/linkml_model/model/schema/meta.yaml +++ b/linkml_runtime/linkml_model/model/schema/meta.yaml @@ -23,14 +23,12 @@ description: |- * [MinimalSubset](https://w3id.org/linkml/MinimalSubset) * [BasicSubset](https://w3id.org/linkml/BasicSubset) - * [BasicSubset](https://w3id.org/linkml/BasicSubset) For canonical reference documentation on any metamodel construct, refer to the official URI for each construct, e.g. [https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a) license: https://creativecommons.org/publicdomain/zero/1.0/ -version: 2.0.0 prefixes: linkml: https://w3id.org/linkml/ @@ -50,6 +48,7 @@ prefixes: vann: https://vocab.org/vann/ qudt: http://qudt.org/schema/qudt/ cdisc: http://rdf.cdisc.org/mms# + SIO: http://semanticscience.org/resource/SIO_ default_prefix: linkml default_range: string @@ -241,12 +240,19 @@ slots: - If identifiers are treated as CURIEs, then the CURIE must start with one of the indicated prefixes followed by `:` (_should_ start if the list is open) - If identifiers are treated as URIs, then the URI string must start with the expanded for of the prefix (_should_ start if the list is open) see_also: - - https://github.com/linkml/linkml/issues/194 - https://github.com/linkml/linkml-model/issues/28 in_subset: - SpecificationSubset - BasicSubset + id_prefixes_are_closed: + domain: element + range: boolean + description: >- + If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation. + see_also: + - https://github.com/linkml/linkml/issues/194 + description: rank: 5 aliases: @@ -1419,6 +1425,56 @@ slots: - BasicSubset - ObjectOrientedProfile + array: + domain: slot_definition + range: array_expression + inherited: true + description: coerces the value of the slot into an array and defines the dimensions of that array + status: testing + + dimensions: + aliases: + - axes + description: definitions of each axis in the array + domain: array_expression + range: dimension_expression + multivalued: true + list_elements_ordered: true + status: testing + + minimum_number_dimensions: + description: minimum number of dimensions in the array + domain: array_expression + range: integer + status: testing + # minimum_value: 1 + comments: + - minimum_cardinality cannot be greater than maximum_cardinality + + maximum_number_dimensions: + description: maximum number of dimensions in the array, or False if explicitly no maximum. + If this is unset, and an explicit list of dimensions are passed using dimensions, then this is interpreted + as a closed list and the maximum_number_dimensions is the length of the dimensions list, unless this + value is set to False + domain: array_expression + range: Anything + any_of: + - range: integer + # minimum_value: 1 + - range: boolean + status: testing + comments: + - maximum_number_dimensions cannot be less than minimum_number_dimensions + + exact_number_dimensions: + description: exact number of dimensions in the array + domain: array_expression + range: integer + status: testing + # minimum_value: 1 + comments: + - if exact_number_dimensions is set, then minimum_number_dimensions and maximum_number_dimensions must be unset or have the same value + inherited: domain: slot_definition range: boolean @@ -1520,6 +1576,16 @@ slots: in_subset: - SpecificationSubset + exact_cardinality: + is_a: list_value_specification_constant + range: integer + inherited: true + description: the exact number of entries for a multivalued slot + in_subset: + - SpecificationSubset + comments: + - if exact_cardinality is set, then minimum_cardinalty and maximum_cardinality must be unset or have the same value + minimum_cardinality: is_a: list_value_specification_constant range: integer @@ -1527,6 +1593,9 @@ slots: description: the minimum number of entries for a multivalued slot in_subset: - SpecificationSubset + # minimum_value: 0 + comments: + - minimum_cardinality cannot be greater than maximum_cardinality maximum_cardinality: is_a: list_value_specification_constant @@ -1535,6 +1604,9 @@ slots: description: the maximum number of entries for a multivalued slot in_subset: - SpecificationSubset + comments: + - maximum_cardinality cannot be less than minimum_cardinality + # minimum_value: 0 equals_string_in: is_a: list_value_specification_constant @@ -1636,6 +1708,7 @@ slots: - BasicSubset see_also: - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + - https://linkml.io/linkml/schemas/inlining.html inlined_as_list: rank: 27 @@ -1658,6 +1731,7 @@ slots: - BasicSubset see_also: - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + - https://linkml.io/linkml/schemas/inlining.html inlined_as_simple_dict: rank: 28 @@ -1796,6 +1870,7 @@ slots: multivalued: true exact_mappings: - schema:domainIncludes + - SIO:000011 is_usage_slot: domain: slot_definition @@ -1935,8 +2010,10 @@ slots: aliases: - low value domain: slot_definition - range: integer - description: for slots with ranges of type number, the value must be equal to or higher than this + range: Anything + description: For ordinal ranges, the value must be equal to or higher than this + notes: + - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142 inherited: true in_subset: - SpecificationSubset @@ -1946,8 +2023,10 @@ slots: aliases: - high value domain: slot_definition - range: integer - description: for slots with ranges of type number, the value must be equal to or lowe than this + range: Anything + description: For ordinal ranges, the value must be equal to or lower than this + notes: + - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142 inherited: true in_subset: - SpecificationSubset @@ -2074,7 +2153,7 @@ slots: - BasicSubset # ----------------------------------- - # Slots for alt descripion + # Slots for alt description # ----------------------------------- alt_description_text: domain: alt_description @@ -2395,6 +2474,7 @@ classes: slots: - name - id_prefixes + - id_prefixes_are_closed - definition_uri - local_names - conforms_to @@ -2565,9 +2645,12 @@ classes: rank: 5 aliases: - enum + - enumeration + - semantic enumeration - value set - term set - concept set + - code set - Terminology Value Set - answer list - value domain @@ -2704,6 +2787,7 @@ classes: - equals_string_in - equals_number - equals_expression + - exact_cardinality - minimum_cardinality - maximum_cardinality - has_member @@ -2748,6 +2832,7 @@ classes: - domain - slot_uri - multivalued + - array - inherited - readonly - ifabsent @@ -2906,6 +2991,32 @@ classes: in_subset: - SpecificationSubset + array_expression: + description: defines the dimensions of an array + mixins: + - extensible + - annotatable + - common_metadata + slots: + - exact_number_dimensions + - minimum_number_dimensions + - maximum_number_dimensions + - dimensions + status: testing + + dimension_expression: + description: defines one of the dimensions of an array + mixins: + - extensible + - annotatable + - common_metadata + slots: + - alias + - maximum_cardinality + - minimum_cardinality + - exact_cardinality + status: testing + pattern_expression: description: a regular expression pattern used to evaluate conformance of a string mixins: @@ -3030,6 +3141,8 @@ enums: description: The permissible values are the set of code URIs in the code set FHIR_CODING: description: The permissible values are the set of FHIR coding elements derived from the code set + LABEL: + description: The permissible values are the set of human readable labels in the code set in_subset: - SpecificationSubset - BasicSubset diff --git a/linkml_runtime/linkml_model/model/schema/types.yaml b/linkml_runtime/linkml_model/model/schema/types.yaml index c4fd00f6..6be79908 100644 --- a/linkml_runtime/linkml_model/model/schema/types.yaml +++ b/linkml_runtime/linkml_model/model/schema/types.yaml @@ -4,7 +4,6 @@ id: https://w3id.org/linkml/types description: Shared type definitions for the core LinkML mode and metamodel license: https://creativecommons.org/publicdomain/zero/1.0/ -version: 2.0.0 prefixes: linkml: https://w3id.org/linkml/ diff --git a/linkml_runtime/linkml_model/owl/meta.owl.ttl b/linkml_runtime/linkml_model/owl/meta.owl.ttl index 237252e9..7e7e1261 100644 --- a/linkml_runtime/linkml_model/owl/meta.owl.ttl +++ b/linkml_runtime/linkml_model/owl/meta.owl.ttl @@ -1,13 +1,12 @@ @prefix IAO: . @prefix NCIT: . @prefix OIO: . +@prefix SIO: . @prefix bibo: . @prefix cdisc: . @prefix dcterms: . @prefix linkml: . -@prefix oslc: . @prefix owl: . -@prefix pav: . @prefix prov: . @prefix qb: . @prefix qudt: . @@ -24,49 +23,31 @@ linkml:equals_number_in a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "equals_number_in" ; + bibo:status ; rdfs:range linkml:Integer ; rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the slot must have range number and the value of the slot must equal one of the specified values" . + skos:definition "the slot must have range number and the value of the slot must equal one of the specified values" ; + skos:inScheme linkml:meta . linkml:inapplicable a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inapplicable" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that values for this slot must not be present" . + skos:definition "true means that values for this slot must not be present" ; + skos:inScheme linkml:meta ; + skos:note "By default all slots are applicable. The main use case for this slot is as an override in a subclass" . linkml:inlined_as_simple_dict a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inlined_as_simple_dict" ; + bibo:status ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "True means that an inlined slot is represented as a simple dict whose values are all atoms" . - -linkml:meta a owl:Ontology ; - rdfs:label "meta" ; - IAO:0000700 linkml:AltDescription, - linkml:Annotatable, - linkml:AnyValue, - linkml:Anything, - linkml:ClassExpression, - linkml:ClassLevelRule, - linkml:CommonMetadata, - linkml:Example, - linkml:Expression, - linkml:Extensible, - linkml:Extension, - linkml:LocalName, - linkml:MatchQuery, - linkml:Prefix, - linkml:ReachabilityQuery, - linkml:Setting, - linkml:UnitOfMeasure ; - linkml:id "https://w3id.org/linkml/meta" ; - linkml:imports "linkml:annotations", - "linkml:extensions", - "linkml:mappings", - "linkml:types", - "linkml:units" . + rdfs:seeAlso ; + skos:definition "True means that an inlined slot is represented as a simple dict whose values are all atoms" ; + skos:inScheme linkml:meta ; + sh:order 28 . linkml:owned_by a owl:ObjectProperty, linkml:SlotDefinition ; @@ -76,503 +57,648 @@ linkml:owned_by a owl:ObjectProperty, skos:altLabel "owner", "steward" ; skos:closeMatch rdfs:isDefinedBy ; - skos:definition "agent that owns or is the steward of the element" . + skos:definition "agent that owns or is the steward of the element" ; + skos:inScheme linkml:meta . + +linkml:publisher a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "publisher" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "An entity responsible for making the resource available" ; + skos:inScheme linkml:meta . linkml:structured_imports a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "structured_imports" ; + bibo:status ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:ImportExpression ; - skos:definition "A list of specifications for how to import elements from external schemas" . - -linkml:topValue a owl:DatatypeProperty ; - rdfs:label "value" . + skos:definition "A list of specifications for how to import elements from external schemas" ; + skos:inScheme linkml:meta . linkml:value_specification_constant a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "value_specification_constant" ; - rdfs:range linkml:String ; - skos:definition "Grouping for metamodel slots that constrain the a slot value to equal a specified constant" . + bibo:status ; + skos:definition "Grouping for metamodel slots that constrain the a slot value to equal a specified constant" ; + skos:inScheme linkml:meta . -dcterms:publisher a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "publisher" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "An entity responsible for making the resource available" ; - skos:exactMatch dcterms:publisher . +linkml:ClassLevelRule a owl:Class, + linkml:ClassDefinition ; + rdfs:label "class_level_rule" ; + skos:definition "A rule that is applied to classes" ; + skos:inScheme linkml:meta . -linkml:abstract a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "abstract" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Boolean ; - skos:definition "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." . +rdf:object a owl:Class, + linkml:RelationalRoleEnum ; + rdfs:label "OBJECT" ; + rdfs:subClassOf linkml:RelationalRoleEnum . -linkml:asymmetric a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "asymmetric" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:closeMatch owl:AsymmetricProperty ; - skos:definition "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i" . +rdf:predicate a owl:Class, + linkml:RelationalRoleEnum ; + rdfs:label "PREDICATE" ; + rdfs:subClassOf linkml:RelationalRoleEnum . -linkml:attributes a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "attributes" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "Inline definition of slots" . +rdf:subject a owl:Class, + linkml:RelationalRoleEnum ; + rdfs:label "SUBJECT" ; + rdfs:subClassOf linkml:RelationalRoleEnum . -linkml:base a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "base" ; - rdfs:domain linkml:TypeDefinition ; - rdfs:range linkml:String ; - skos:definition "python base type in the LinkML runtime that implements this type definition" . +skos:broaderMatch a owl:Class, + linkml:AliasPredicateEnum ; + rdfs:label "BROAD_SYNONYM" ; + rdfs:subClassOf linkml:AliasPredicateEnum . -linkml:bidirectional a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "bidirectional" ; - rdfs:range linkml:Boolean ; - skos:altLabel "if and only if", - "iff" ; - skos:definition "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" . +skos:exactMatch a owl:Class, + linkml:AliasPredicateEnum ; + rdfs:label "EXACT_SYNONYM" ; + rdfs:subClassOf linkml:AliasPredicateEnum . -linkml:class_uri a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "class_uri" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "public ID" ; - skos:definition "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" . +skos:narrowerMatch a owl:Class, + linkml:AliasPredicateEnum ; + rdfs:label "NARROW_SYNONYM" ; + rdfs:subClassOf linkml:AliasPredicateEnum . -linkml:classes a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "classes" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:ClassDefinition ; - skos:definition "An index to the collection of all class definitions in the schema" . +skos:relatedMatch a owl:Class, + linkml:AliasPredicateEnum ; + rdfs:label "RELATED_SYNONYM" ; + rdfs:subClassOf linkml:AliasPredicateEnum . -linkml:classification_rules a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "classification_rules" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:AnonymousClassExpression ; - skos:definition "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance." . +linkml:AnonymousExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_expression" ; + rdfs:subClassOf linkml:Annotatable, + linkml:CommonMetadata, + linkml:Expression, + linkml:Extensible ; + skos:definition "An abstract parent class for any nested expression" ; + skos:inScheme linkml:meta ; + skos:note "anonymous expressions are useful for when it is necessary to build a complex expression without introducing a named element for each sub-expression" . -linkml:consider_nulls_inequal a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "consider_nulls_inequal" ; - rdfs:domain linkml:UniqueKey ; - rdfs:range linkml:Boolean ; - skos:definition "By default, None values are considered equal for the purposes of comparisons in determining uniqueness. Set this to true to treat missing values as per ANSI-SQL NULLs, i.e NULL=NULL is always False." . +linkml:AnyValue a owl:Class, + linkml:ClassDefinition ; + rdfs:label "AnyValue" ; + skos:exactMatch linkml:Any ; + skos:inScheme linkml:extensions . -linkml:default_curi_maps a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "default_curi_maps" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:String ; - skos:definition "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables" . +linkml:ClassRule a owl:Class, + linkml:ClassDefinition ; + rdfs:label "class_rule" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:bidirectional ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:open_world ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:postconditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:deactivated ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:open_world ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:bidirectional ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:postconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:deactivated ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:rank ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:open_world ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:preconditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:deactivated ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:rank ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:postconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:preconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:bidirectional ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:rank ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:preconditions ], + linkml:Annotatable, + linkml:ClassLevelRule, + linkml:CommonMetadata, + linkml:Extensible ; + skos:altLabel "if rule" ; + skos:closeMatch swrl:Imp, + sh:TripleRule ; + skos:definition "A rule that applies to instances of a class" ; + skos:inScheme linkml:meta . -linkml:default_prefix a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "default_prefix" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:String ; - skos:definition "The prefix that is used for all elements within a schema" . +linkml:DimensionExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "dimension_expression" ; + bibo:status ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:minimum_cardinality ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_cardinality ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_cardinality ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:alias ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:alias ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:maximum_cardinality ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_cardinality ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:alias ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "defines one of the dimensions of an array" ; + skos:inScheme linkml:meta . -linkml:default_range a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "default_range" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:TypeDefinition ; - skos:definition "default slot range to be used if range element is omitted from a slot definition" . + a owl:Class, + linkml:PresenceEnum ; + rdfs:label "ABSENT" ; + rdfs:subClassOf linkml:PresenceEnum . -linkml:defining_slots a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "defining_slots" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom" . + a owl:Class, + linkml:PresenceEnum ; + rdfs:label "PRESENT" ; + rdfs:subClassOf linkml:PresenceEnum . -linkml:definition_uri a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "definition_uri" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" . + a owl:Class, + linkml:PresenceEnum ; + rdfs:label "UNCOMMITTED" ; + rdfs:subClassOf linkml:PresenceEnum . -linkml:derivation a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "derivation" ; - rdfs:range linkml:String ; - skos:definition "Expression for deriving this unit from other units" . + a owl:Class, + linkml:PvFormulaOptions ; + rdfs:label "CODE" ; + rdfs:subClassOf linkml:PvFormulaOptions . -linkml:designates_type a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "designates_type" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:altLabel "type designator" ; - skos:definition "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" . + a owl:Class, + linkml:PvFormulaOptions ; + rdfs:label "CURIE" ; + rdfs:subClassOf linkml:PvFormulaOptions . -linkml:domain a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "domain" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:ClassDefinition ; - skos:definition """defines the type of the subject of the slot. Given the following slot definition - S1: - domain: C1 - range: C2 -the declaration - X: - S1: Y + a owl:Class, + linkml:PvFormulaOptions ; + rdfs:label "FHIR_CODING" ; + rdfs:subClassOf linkml:PvFormulaOptions . -implicitly asserts that X is an instance of C1 -""" . + a owl:Class, + linkml:PvFormulaOptions ; + rdfs:label "LABEL" ; + rdfs:subClassOf linkml:PvFormulaOptions . -linkml:domain_of a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "domain_of" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:ClassDefinition ; - skos:definition "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" ; - skos:exactMatch schema1:domainIncludes . + a owl:Class, + linkml:PvFormulaOptions ; + rdfs:label "URI" ; + rdfs:subClassOf linkml:PvFormulaOptions . -linkml:elseconditions a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "elseconditions" ; - rdfs:range linkml:AnonymousClassExpression ; - skos:altLabel "else" ; - skos:definition "an expression that must hold for an instance of the class, if the preconditions no not hold" . + a owl:Class, + linkml:RelationalRoleEnum ; + rdfs:label "NODE" ; + rdfs:subClassOf linkml:RelationalRoleEnum . -linkml:emit_prefixes a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "emit_prefixes" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Ncname ; - skos:definition "a list of Curie prefixes that are used in the representation of instances of the model. All prefixes in this list are added to the prefix sections of the target models." . + a owl:Class, + linkml:RelationalRoleEnum ; + rdfs:label "OTHER_ROLE" ; + rdfs:subClassOf linkml:RelationalRoleEnum . -linkml:enum_uri a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "enum_uri" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "public ID" ; - skos:definition "URI of the enum that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" . +linkml:TypeExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "type_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_number ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_value ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UnitOfMeasure ; + owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:pattern ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:pattern ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:equals_number ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:equals_number ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:structured_pattern ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:pattern ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:maximum_value ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:structured_pattern ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:equals_string_in ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_value ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:unit ], + linkml:Expression ; + skos:definition "An abstract class grouping named types and anonymous type expressions" ; + skos:inScheme linkml:meta . -linkml:enums a owl:ObjectProperty, +linkml:alt_descriptions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "enums" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:EnumDefinition ; - skos:definition "An index to the collection of all enum definitions in the schema" . + rdfs:label "alt_descriptions" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:AltDescription ; + skos:altLabel "alternate definitions" ; + skos:definition "A sourced alternative description for an element" ; + skos:inScheme linkml:meta . -linkml:followed_by a owl:ObjectProperty, +linkml:attributes a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "followed_by" ; - rdfs:range linkml:Expression ; - skos:definition "in a sequential list, this indicates the next member" . + rdfs:label "attributes" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "Inline definition of slots" ; + skos:inScheme linkml:meta ; + skos:note "attributes are an alternative way of defining new slots. An attribute adds a slot to the global space in the form __ (lower case, double underscores). Attributes can be specialized via slot_usage." ; + sh:order 29 . -linkml:generation_date a owl:ObjectProperty, +linkml:broad_mappings a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "generation_date" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Datetime ; - skos:definition "date and time that the schema was loaded/generated" . + rdfs:label "broad mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf linkml:mappings ; + skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ; + skos:inScheme linkml:mappings . -linkml:id a owl:ObjectProperty, +linkml:classes a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "id" ; + rdfs:label "classes" ; rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Uri ; - skos:definition "The official schema URI" . + rdfs:range linkml:ClassDefinition ; + skos:definition "An index to the collection of all class definitions in the schema" ; + skos:inScheme linkml:meta ; + sh:order 3 . -linkml:id_prefixes a owl:ObjectProperty, +linkml:classification_rules a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "id_prefixes" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Ncname ; - skos:definition "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" . + rdfs:label "classification_rules" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:AnonymousClassExpression ; + skos:definition "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance." ; + skos:inScheme linkml:meta . -linkml:identifier a owl:ObjectProperty, +linkml:close_mappings a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "identifier" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:altLabel "ID", - "UID", - "code", - "primary key" ; - skos:definition "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container" . + rdfs:label "close mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf linkml:mappings ; + skos:definition "A list of terms from different schemas or terminology systems that have close meaning." ; + skos:inScheme linkml:mappings . -linkml:identifier_pattern a owl:ObjectProperty, +linkml:comments a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "identifier_pattern" ; - rdfs:domain linkml:MatchQuery ; - rdfs:range linkml:String ; - skos:definition "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values" . + rdfs:label "comments" ; + rdfs:domain linkml:Element ; + skos:definition "notes and comments about an element intended primarily for external consumption" ; + skos:exactMatch rdfs:comment ; + skos:inScheme linkml:meta . -linkml:ifabsent a owl:ObjectProperty, +linkml:concepts a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "ifabsent" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:closeMatch sh:defaultValue ; - skos:definition """function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library: - * [Tt]rue -- boolean True - * [Ff]alse -- boolean False - * bnode -- blank node identifier - * class_curie -- CURIE for the containing class - * class_uri -- URI for the containing class - * default_ns -- schema default namespace - * default_range -- schema default range - * int(value) -- integer value - * slot_uri -- URI for the slot - * slot_curie -- CURIE for the slot - * string(value) -- string value""" . + rdfs:label "concepts" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:Uriorcurie ; + skos:definition "A list of identifiers that are used to construct a set of permissible values" ; + skos:inScheme linkml:meta . -linkml:implements a owl:ObjectProperty, +linkml:contributors a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "implements" ; + rdfs:label "contributors" ; rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." . + skos:definition "agent that contributed to the element" ; + skos:inScheme linkml:meta . -linkml:import_as a owl:ObjectProperty, +linkml:default_curi_maps a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "import_as" ; - rdfs:domain linkml:ImportExpression ; - rdfs:range linkml:Ncname . + rdfs:label "default_curi_maps" ; + rdfs:domain linkml:SchemaDefinition ; + skos:definition "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables" ; + skos:inScheme linkml:meta . -linkml:import_from a owl:ObjectProperty, +linkml:defining_slots a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "import_from" ; - rdfs:domain linkml:ImportExpression ; - rdfs:range linkml:Uriorcurie . + rdfs:label "defining_slots" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom" ; + skos:inScheme linkml:meta . + +linkml:dimensions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "dimensions" ; + bibo:status ; + rdfs:domain linkml:ArrayExpression ; + rdfs:range linkml:DimensionExpression ; + skos:altLabel "axes" ; + skos:definition "definitions of each axis in the array" ; + skos:inScheme linkml:meta . + +linkml:domain_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "domain_of" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:ClassDefinition ; + skos:definition "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" ; + skos:exactMatch schema1:domainIncludes, + SIO:000011 ; + skos:inScheme linkml:meta . + +linkml:emit_prefixes a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "emit_prefixes" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Ncname ; + skos:definition "a list of Curie prefixes that are used in the representation of instances of the model. All prefixes in this list are added to the prefix sections of the target models." ; + skos:inScheme linkml:meta . + +linkml:enums a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "enums" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:EnumDefinition ; + skos:definition "An index to the collection of all enum definitions in the schema" ; + skos:inScheme linkml:meta ; + sh:order 5 . + +linkml:examples a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "examples" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Example ; + skos:closeMatch vann1:example ; + skos:definition "example usages of an element" ; + skos:inScheme linkml:meta . + +linkml:id_prefixes a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "id_prefixes" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Ncname ; + rdfs:seeAlso ; + skos:definition "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + skos:inScheme linkml:meta ; + skos:note "If identifiers are treated as CURIEs, then the CURIE must start with one of the indicated prefixes followed by `:` (_should_ start if the list is open)", + "If identifiers are treated as URIs, then the URI string must start with the expanded for of the prefix (_should_ start if the list is open)", + "Order of elements may be used to indicate priority order" . linkml:import_map a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "import_map" ; + bibo:status ; rdfs:domain linkml:ImportExpression ; - rdfs:range linkml:Setting . + rdfs:range linkml:Setting ; + skos:inScheme linkml:meta . linkml:imports a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "imports" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:Uriorcurie ; - skos:definition "A list of schemas that are to be included in this schema" . + skos:definition "A list of schemas that are to be included in this schema" ; + skos:inScheme linkml:meta ; + sh:order 21 . -linkml:include_self a owl:ObjectProperty, +linkml:in_subset a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "include_self" ; - rdfs:domain linkml:ReachabilityQuery ; - rdfs:range linkml:Boolean ; - skos:altLabel "reflexive" ; - skos:definition "True if the query is reflexive" . + rdfs:label "in_subset" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:SubsetDefinition ; + skos:definition "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + skos:inScheme linkml:meta ; + skos:note "an example of use in the translator_minimal subset in the biolink model, holding the minimal set of predicates used in a translator knowledge graph" . -linkml:inherited a owl:ObjectProperty, +linkml:include a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "inherited" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "true means that the *value* of a slot is inherited by subclasses" . + rdfs:label "include" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:AnonymousEnumExpression ; + skos:definition "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; + skos:inScheme linkml:meta . + +linkml:inherits a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "inherits" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:EnumDefinition ; + skos:definition "An enum definition that is used as the basis to create a new enum" ; + skos:inScheme linkml:meta ; + skos:note "All permissible values for all inherited enums are copied to form the initial seed set" . linkml:instantiates a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "instantiates" ; rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "An element in another schema which this element instantiates." . + skos:definition "An element in another schema which this element instantiates." ; + skos:inScheme linkml:meta . -linkml:interpolated a owl:ObjectProperty, +linkml:keywords a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "interpolated" ; - rdfs:domain linkml:PatternExpression ; - rdfs:range linkml:Boolean ; - skos:definition "if true then the pattern is first string interpolated" . + rdfs:label "keywords" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:String ; + skos:definition "Keywords or tags used to describe the element" ; + skos:inScheme linkml:meta . -linkml:irreflexive a owl:ObjectProperty, +linkml:local_names a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "irreflexive" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:closeMatch owl:IrreflexiveProperty ; - skos:definition "If s is irreflexive, then there exists no i such i.s=i" . + rdfs:label "local_names" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:LocalName ; + skos:inScheme linkml:meta . -linkml:is_class_field a owl:ObjectProperty, +linkml:minus a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "is_class_field" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "indicates that for any instance, i, the domain of this slot will include an assertion of i s range" . - -linkml:is_direct a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "is_direct" ; - rdfs:domain linkml:ReachabilityQuery ; - rdfs:range linkml:Boolean ; - skos:altLabel "non-transitive" ; - skos:definition "True if the reachability query should only include directly related nodes, if False then include also transitively connected" . - -linkml:is_grouping_slot a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "is_grouping_slot" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:closeMatch sh:PropertyGroup ; - skos:definition "true if this slot is a grouping slot" . - -linkml:is_usage_slot a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "is_usage_slot" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "True means that this slot was defined in a slot_usage situation" . - -linkml:key a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "key" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "True means that the key slot(s) uniquely identify the elements within a single container" . - -linkml:list_elements_ordered a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "list_elements_ordered" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "If True, then the order of elements of a multivalued slot is guaranteed to be preserved. If False, the order may still be preserved but this is not guaranteed" . - -linkml:list_elements_unique a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "list_elements_unique" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "If True, then there must be no duplicates in the elements of a multivalued slot" . + rdfs:label "minus" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:AnonymousEnumExpression ; + skos:definition "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; + skos:inScheme linkml:meta . -linkml:local_name_source a owl:ObjectProperty, +linkml:narrow_mappings a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "local_name_source" ; - rdfs:domain linkml:LocalName ; - rdfs:range linkml:Ncname ; - skos:definition "the ncname of the source of the name" . + rdfs:label "narrow mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf linkml:mappings ; + skos:definition "A list of terms from different schemas or terminology systems that have narrower meaning." ; + skos:inScheme linkml:mappings . -linkml:local_names a owl:ObjectProperty, +linkml:notes a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "local_names" ; + rdfs:label "notes" ; rdfs:domain linkml:Element ; - rdfs:range linkml:LocalName . - -linkml:locally_reflexive a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "locally_reflexive" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:definition "If s is locally_reflexive, then i.s=i for all instances i where s is a class slot for the type of i" . + skos:definition "editorial notes about an element intended primarily for internal consumption" ; + skos:inScheme linkml:meta . -linkml:meaning a owl:ObjectProperty, +linkml:permissible_values a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "meaning" ; - rdfs:domain linkml:PermissibleValue ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "PV meaning" ; - skos:definition "the value meaning of a permissible value" . + rdfs:label "permissible_values" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:PermissibleValue ; + skos:altLabel "coded values" ; + skos:definition "A list of possible values for a slot range" ; + skos:exactMatch cdisc:PermissibleValue ; + skos:inScheme linkml:meta . -linkml:metamodel_version a owl:ObjectProperty, +linkml:prefixes a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "metamodel_version" ; + rdfs:label "prefixes" ; rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:String ; - skos:definition "Version of the metamodel used to load the schema" . - -linkml:multivalued a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "multivalued" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "true means that slot can have more than one value and should be represented using a list or collection structure." . - -linkml:object a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "object" ; - rdfs:domain linkml:Example ; - rdfs:range linkml:Anything ; - skos:definition "direct object representation of the example" . - -linkml:open_world a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "open_world" ; - rdfs:range linkml:Boolean ; - skos:definition "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these" . - -linkml:owner a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "owner" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Definition ; - skos:definition "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot" . - -linkml:partial_match a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "partial_match" ; - rdfs:domain linkml:PatternExpression ; - rdfs:range linkml:Boolean ; - skos:definition "if not true then the pattern must match the whole string, as if enclosed in ^...$" . - -linkml:path_rule a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "path_rule" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:PathExpression ; - skos:definition "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" . - -linkml:postconditions a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "postconditions" ; - rdfs:range linkml:AnonymousClassExpression ; - skos:altLabel "consequents", - "head", - "then" ; - skos:closeMatch swrl:body ; - skos:definition "an expression that must hold for an instance of the class, if the preconditions hold" . - -linkml:readonly a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "readonly" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:definition "If present, slot is read only. Text explains why" . - -linkml:reflexive a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "reflexive" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:closeMatch owl:ReflexiveProperty ; - skos:definition "If s is reflexive, then i.s=i for all instances i" . - -linkml:reflexive_transitive_form_of a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "reflexive_transitive_form_of" ; - rdfs:range linkml:SlotDefinition ; - rdfs:subPropertyOf linkml:transitive_form_of ; - skos:definition "transitive_form_of including the reflexive case" . + rdfs:range linkml:Prefix ; + skos:definition "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; + skos:inScheme linkml:meta ; + sh:order 10 . -linkml:relational_role a owl:ObjectProperty, +linkml:related_mappings a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "relational_role" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:RelationalRoleEnum ; - skos:altLabel "reification_role" ; - skos:definition "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" . + rdfs:label "related mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf linkml:mappings ; + skos:definition "A list of terms from different schemas or terminology systems that have related meaning." ; + skos:inScheme linkml:mappings . linkml:relationship_types a owl:ObjectProperty, linkml:SlotDefinition ; @@ -581,49 +707,24 @@ linkml:relationship_types a owl:ObjectProperty, rdfs:range linkml:Uriorcurie ; skos:altLabel "predicates", "properties" ; - skos:definition "A list of relationship types (properties) that are used in a reachability query" . - -linkml:repr a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "repr" ; - rdfs:domain linkml:TypeDefinition ; - rdfs:range linkml:String ; - skos:definition "the name of the python object that implements this type definition" . + skos:definition "A list of relationship types (properties) that are used in a reachability query" ; + skos:inScheme linkml:meta . -linkml:represents_relationship a owl:ObjectProperty, +linkml:rules a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "represents_relationship" ; + rdfs:label "rules" ; rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:Boolean ; - skos:altLabel "is_reified" ; - skos:definition "true if this class represents a relationship rather than an entity" . - -linkml:reversed a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "reversed" ; - rdfs:range linkml:Boolean ; - skos:definition "true if the slot is to be inversed" . - -linkml:role a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "role" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:definition "a textual descriptor that indicates the role played by the slot range" . - -linkml:setting_key a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "setting_key" ; - rdfs:domain linkml:Setting ; - rdfs:range linkml:Ncname ; - skos:definition "the variable name for a setting" . + rdfs:range linkml:ClassRule ; + skos:definition "the collection of rules that apply to all members of this class" ; + skos:inScheme linkml:meta . -linkml:setting_value a owl:ObjectProperty, +linkml:see_also a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "setting_value" ; - rdfs:domain linkml:Setting ; - rdfs:range linkml:String ; - skos:definition "The value assigned for a setting" . + rdfs:label "see_also" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "A list of related entities or URLs that may be of relevance" ; + skos:inScheme linkml:meta . linkml:settings a owl:ObjectProperty, linkml:SlotDefinition ; @@ -631,85 +732,66 @@ linkml:settings a owl:ObjectProperty, rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:Setting ; skos:altLabel "constants" ; - skos:definition "A collection of global variable settings" . - -linkml:shared a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "shared" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:altLabel "inverse functional", - "many to one or many" ; - skos:definition "If True, then the relationship between the slot domain and range is many to one or many to many" . + skos:definition "A collection of global variable settings" ; + skos:inScheme linkml:meta ; + skos:note "global variables are used in string interpolation in structured patterns" ; + sh:order 20 . -linkml:singular_name a owl:ObjectProperty, +linkml:slot_conditions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "singular_name" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:closeMatch skos:altLabel ; - skos:definition "a name that is used in the singular form" . + rdfs:label "slot_conditions" ; + rdfs:domain linkml:ClassExpression ; + rdfs:range linkml:SlotDefinition ; + skos:definition "expresses constraints on a group of slots for a class expression" ; + skos:inScheme linkml:meta . -linkml:slot_uri a owl:ObjectProperty, +linkml:slot_definitions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "slot_uri" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "public ID" ; - skos:definition "URI of the class that provides a semantic interpretation of the slot in a linked data context. The URI may come from any namespace and may be shared between schemas." . + rdfs:label "slot_definitions" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "An index to the collection of all slot definitions in the schema" ; + skos:inScheme linkml:meta ; + skos:note "note the formal name of this element is slot_definitions, but it has alias slots, which is the canonical form used in yaml/json serializes of schemas." ; + skos:prefLabel "slots" ; + sh:order 4 . linkml:slot_usage a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "slot_usage" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:SlotDefinition ; - skos:definition "the refinement of a slot in the context of the containing class definition." . - -linkml:source_file a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "source_file" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:String ; - skos:definition "name, uri or description of the source of the schema" . - -linkml:source_file_date a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "source_file_date" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Datetime ; - skos:definition "modification date of the source of the schema" . + skos:definition "the refinement of a slot in the context of the containing class definition." ; + skos:inScheme linkml:meta ; + skos:note "Many slots may be re-used across different classes, but the meaning of the slot may be refined by context. For example, a generic association model may use slots subject/predicate/object with generic semantics and minimal constraints. When this is subclasses, e.g. to disease-phenotype associations then slot usage may specify both local naming (e.g. subject=disease) and local constraints" ; + sh:order 23 . -linkml:source_file_size a owl:ObjectProperty, +linkml:slots a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "source_file_size" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Integer ; - skos:definition "size in bytes of the source of the schema" . + rdfs:label "slots" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "collection of slot names that are applicable to a class" ; + skos:inScheme linkml:meta ; + skos:note "This defines the set of slots that are allowed to be used for a given class. The final list of slots for a class is the combination of the parent (is a) slots, mixins slots, apply to slots minus the slot usage entries.", + "the list of applicable slots is inherited from parent classes" ; + sh:order 19 . linkml:source_nodes a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "source_nodes" ; rdfs:domain linkml:ReachabilityQuery ; rdfs:range linkml:Uriorcurie ; - skos:definition "A list of nodes that are used in the reachability query" . - -linkml:string_serialization a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "string_serialization" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:String ; - skos:definition """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. -We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. -Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects -For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" . + skos:definition "A list of nodes that are used in the reachability query" ; + skos:inScheme linkml:meta . -linkml:subclass_of a owl:ObjectProperty, +linkml:structured_aliases a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "subclass_of" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:closeMatch rdfs:subClassOf ; - skos:definition "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" . + rdfs:label "structured_aliases" ; + rdfs:range linkml:StructuredAlias ; + rdfs:seeAlso linkml:aliases ; + skos:definition "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + skos:inScheme linkml:meta . linkml:subsets a owl:ObjectProperty, linkml:SlotDefinition ; @@ -717,3222 +799,3367 @@ linkml:subsets a owl:ObjectProperty, rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:SubsetDefinition ; skos:definition "An index to the collection of all subset definitions in the schema" ; - skos:exactMatch OIO:hasSubset . + skos:exactMatch OIO:hasSubset ; + skos:inScheme linkml:meta ; + sh:order 8 . -linkml:symmetric a owl:ObjectProperty, +linkml:todos a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "symmetric" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:closeMatch owl:SymmetricProperty ; - skos:definition "If s is symmetric, and i.s=v, then v.s=i" . + rdfs:label "todos" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:String ; + skos:definition "Outstanding issues that needs resolution" ; + skos:inScheme linkml:meta . -linkml:syntax a owl:ObjectProperty, +linkml:types a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "syntax" ; - rdfs:domain linkml:PatternExpression ; - rdfs:range linkml:String ; - skos:definition "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated." . + rdfs:label "types" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:TypeDefinition ; + skos:definition "An index to the collection of all type definitions in the schema" ; + skos:inScheme linkml:meta ; + sh:order 6 . + +linkml:unique_key_slots a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "unique_key_slots" ; + rdfs:domain linkml:UniqueKey ; + rdfs:range linkml:SlotDefinition ; + skos:definition "list of slot names that form a key. The tuple formed from the values of all these slots should be unique." ; + skos:inScheme linkml:meta . -linkml:tag a owl:ObjectProperty, +linkml:values_from a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "tag" ; - rdfs:domain linkml:Extension ; + rdfs:label "values_from" ; + bibo:status ; + rdfs:domain linkml:Definition ; rdfs:range linkml:Uriorcurie ; - skos:definition "a tag associated with an extension" . + skos:definition "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + skos:inScheme linkml:meta . -linkml:text a owl:ObjectProperty, +linkml:Annotation a owl:Class, + linkml:ClassDefinition ; + rdfs:label "annotation" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:annotations ], + linkml:Annotatable, + linkml:Extension ; + skos:definition "a tag/value pair with the semantics of OWL Annotation" ; + skos:inScheme linkml:annotations . + +linkml:ClassExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "class_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:slot_conditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_conditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:any_of ] ; + skos:definition "A boolean expression that can be used to dynamically determine membership of a class" ; + skos:inScheme linkml:meta . + +linkml:MatchQuery a owl:Class, + linkml:ClassDefinition ; + rdfs:label "match_query" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:identifier_pattern ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:identifier_pattern ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:identifier_pattern ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:source_ontology ] ; + skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that matches on properties of the external concepts." ; + skos:inScheme linkml:meta . + +linkml:abbreviation a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "text" ; - rdfs:domain linkml:PermissibleValue ; - rdfs:range linkml:String ; - skos:altLabel "value" ; - skos:closeMatch skos:notation ; - skos:definition "The actual permissible value itself" . + rdfs:label "abbreviation" ; + skos:definition "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)" ; + skos:inScheme linkml:units . -linkml:transitive a owl:ObjectProperty, +linkml:abstract a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "transitive" ; - rdfs:domain linkml:SlotDefinition ; + rdfs:label "abstract" ; + rdfs:domain linkml:Definition ; rdfs:range linkml:Boolean ; - rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:closeMatch owl:TransitiveProperty ; - skos:definition "If s is transitive, and i.s=z, and s.s=j, then i.s=j" . + skos:definition "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + skos:inScheme linkml:meta . -linkml:traverse a owl:ObjectProperty, +linkml:alias_predicate a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "traverse" ; - rdfs:range linkml:SlotDefinition ; - skos:definition "the slot to traverse" . + rdfs:label "alias_predicate" ; + rdfs:domain linkml:StructuredAlias ; + rdfs:range linkml:AliasPredicateEnum ; + skos:definition "The relationship between an element and its alias." ; + skos:inScheme linkml:meta ; + skos:prefLabel "predicate" . -linkml:traverse_up a owl:ObjectProperty, +linkml:aliases a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "traverse_up" ; - rdfs:domain linkml:ReachabilityQuery ; - rdfs:range linkml:Boolean ; - skos:altLabel "ancestors" ; - skos:definition "True if the direction of the reachability query is reversed and ancestors are retrieved" . + rdfs:label "aliases" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:String ; + skos:altLabel "alternate names", + "alternative labels", + "designations", + "synonyms" ; + skos:definition "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + skos:exactMatch schema1:alternateName ; + skos:inScheme linkml:meta ; + skos:note "not be confused with the metaslot alias." . -linkml:tree_root a owl:ObjectProperty, +linkml:all_members a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "tree_root" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations" . + rdfs:label "all_members" ; + bibo:status ; + rdfs:range linkml:AnonymousSlotExpression ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the value of the slot is multivalued with all members satisfying the condition" ; + skos:inScheme linkml:meta . -linkml:typeof a owl:ObjectProperty, +linkml:alt_description_source a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "typeof" ; - rdfs:domain linkml:TypeDefinition ; - rdfs:range linkml:TypeDefinition ; - skos:definition "A parent type from which type properties are inherited" . + rdfs:label "alt_description_source" ; + rdfs:domain linkml:AltDescription ; + rdfs:range linkml:String ; + skos:definition "the source of an attributed description" ; + skos:inScheme linkml:meta ; + skos:prefLabel "source" . -linkml:types a owl:ObjectProperty, +linkml:alt_description_text a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "types" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:TypeDefinition ; - skos:definition "An index to the collection of all type definitions in the schema" . + rdfs:label "alt_description_text" ; + rdfs:domain linkml:AltDescription ; + rdfs:range linkml:String ; + skos:definition "text of an attributed description" ; + skos:inScheme linkml:meta ; + skos:prefLabel "description" . -linkml:unique_key_name a owl:ObjectProperty, +linkml:array a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "unique_key_name" ; - rdfs:domain linkml:UniqueKey ; - rdfs:range linkml:String ; - skos:definition "name of the unique key" . + rdfs:label "array" ; + bibo:status ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:ArrayExpression ; + skos:definition "coerces the value of the slot into an array and defines the dimensions of that array" ; + skos:inScheme linkml:meta . -linkml:unique_keys a owl:ObjectProperty, +linkml:asymmetric a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "unique_keys" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:UniqueKey ; - skos:definition "A collection of named unique keys for this class. Unique keys may be singular or compound." ; - skos:exactMatch owl:hasKey . + rdfs:label "asymmetric" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:closeMatch owl:AsymmetricProperty ; + skos:definition "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i" ; + skos:inScheme linkml:meta ; + skos:note "asymmetry is the combination of antisymmetry and irreflexivity" . -linkml:uri a owl:ObjectProperty, +linkml:base a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "uri" ; + rdfs:label "base" ; rdfs:domain linkml:TypeDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:definition "The uri that defines the possible values for the type definition" . + skos:definition "python base type in the LinkML runtime that implements this type definition" ; + skos:inScheme linkml:meta ; + skos:note "every root type must have a base", + "the base is inherited by child types but may be overridden. Base compatibility is not checked." ; + sh:order 8 . -linkml:usage_slot_name a owl:ObjectProperty, +linkml:bidirectional a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "usage_slot_name" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:definition "The name of the slot referenced in the slot_usage" . + rdfs:label "bidirectional" ; + rdfs:range linkml:Boolean ; + skos:altLabel "if and only if", + "iff" ; + skos:definition "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ; + skos:inScheme linkml:meta . -linkml:values_from a owl:ObjectProperty, +linkml:code_set a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "values_from" ; - rdfs:domain linkml:Definition ; + rdfs:label "code_set" ; + rdfs:domain linkml:EnumExpression ; rdfs:range linkml:Uriorcurie ; - skos:definition "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." . + skos:definition "the identifier of an enumeration code set." ; + skos:inScheme linkml:meta . -dcterms:conformsTo a owl:ObjectProperty, +linkml:code_set_tag a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "conforms_to" ; - rdfs:domain linkml:Element ; + rdfs:label "code_set_tag" ; + rdfs:domain linkml:EnumExpression ; rdfs:range linkml:String ; - skos:definition "An established standard to which the element conforms." ; - skos:exactMatch dcterms:conformsTo . + skos:definition "the version tag of the enumeration code set" ; + skos:inScheme linkml:meta ; + skos:note "enum_expression cannot have both a code_set_tag and a code_set_version" . -dcterms:license a owl:ObjectProperty, +linkml:code_set_version a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "license" ; - rdfs:domain linkml:SchemaDefinition ; + rdfs:label "code_set_version" ; + rdfs:domain linkml:EnumExpression ; rdfs:range linkml:String ; - skos:definition "license for the schema" ; - skos:exactMatch dcterms:license . + skos:definition "the version identifier of the enumeration code set" ; + skos:inScheme linkml:meta ; + skos:note "we assume that version identifiers lexically sort in temporal order. Recommend semver when possible" . -pav:version a owl:ObjectProperty, +linkml:conforms_to a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "version" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:String ; - skos:definition "particular version of schema" ; - skos:exactMatch pav:version, - schema1:schemaVersion . + rdfs:label "conforms_to" ; + rdfs:domain linkml:Element ; + rdfs:seeAlso linkml:implements ; + skos:definition "An established standard to which the element conforms." ; + skos:inScheme linkml:meta . -qudt:abbreviation a owl:ObjectProperty, +linkml:consider_nulls_inequal a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "abbreviation" ; - rdfs:range linkml:String ; - skos:definition "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)" ; - skos:exactMatch qudt:abbreviation . + rdfs:label "consider_nulls_inequal" ; + rdfs:domain linkml:UniqueKey ; + rdfs:range linkml:Boolean ; + skos:definition "By default, None values are considered equal for the purposes of comparisons in determining uniqueness. Set this to true to treat missing values as per ANSI-SQL NULLs, i.e NULL=NULL is always False." ; + skos:inScheme linkml:meta . -qudt:hasQuantityKind a owl:ObjectProperty, +linkml:created_by a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "has_quantity_kind" ; + rdfs:label "created_by" ; + rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length" ; - skos:exactMatch qudt:hasQuantityKind . + skos:definition "agent that created the element" ; + skos:inScheme linkml:meta . -qudt:iec61360Code a owl:ObjectProperty, +linkml:created_on a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "iec61360code" ; - rdfs:range linkml:String ; - skos:exactMatch qudt:iec61360Code . + rdfs:label "created_on" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Datetime ; + skos:definition "time at which the element was created" ; + skos:inScheme linkml:meta . -qudt:symbol a owl:ObjectProperty, +linkml:deactivated a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "symbol" ; - rdfs:range linkml:String ; - skos:definition "name of the unit encoded as a symbol" ; - skos:exactMatch qudt:symbol . + rdfs:label "deactivated" ; + rdfs:range linkml:Boolean ; + skos:definition "a deactivated rule is not executed by the rules engine" ; + skos:inScheme linkml:meta . -qudt:ucumCode a owl:ObjectProperty, +linkml:default_prefix a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "ucum_code" ; - rdfs:domain linkml:UnitOfMeasure ; + rdfs:label "default_prefix" ; + rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:String ; - skos:definition "associates a QUDT unit with its UCUM code (case-sensitive)." ; - skos:exactMatch qudt:ucumCode . - -rdf:object a owl:Class, - linkml:RelationalRoleEnum ; - rdfs:label "OBJECT" . + skos:definition "The prefix that is used for all elements within a schema" ; + skos:inScheme linkml:meta ; + sh:order 11 . -rdf:subject a owl:Class, - linkml:RelationalRoleEnum ; - rdfs:label "SUBJECT" . +linkml:default_range a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "default_range" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:TypeDefinition ; + skos:definition "default slot range to be used if range element is omitted from a slot definition" ; + skos:inScheme linkml:meta ; + sh:order 13 . -rdfs:subPropertyOf a owl:ObjectProperty, +linkml:deprecated a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "subproperty_of" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "Ontology property which this slot is a subproperty of. Note: setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; - skos:exactMatch rdfs:subPropertyOf . + rdfs:label "deprecated" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:String ; + skos:closeMatch owl:deprecated ; + skos:definition "Description of why and when this element will no longer be used" ; + skos:inScheme linkml:meta ; + skos:note "note that linkml does not use a boolean to indicate deprecation status - the presence of a string value in this field is sufficient to indicate deprecation." . -owl:inverseOf a owl:ObjectProperty, +linkml:deprecated_element_has_exact_replacement a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "inverse" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "indicates that any instance of d s r implies that there is also an instance of r s' d" ; - skos:exactMatch owl:inverseOf . + rdfs:label "deprecated element has exact replacement" ; + rdfs:range linkml:Uriorcurie ; + skos:definition "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + skos:inScheme linkml:mappings ; + skos:mappingRelation IAO:0100001 . -skos:broaderMatch a owl:Class, - linkml:AliasPredicateEnum ; - rdfs:label "BROAD_SYNONYM" . +linkml:deprecated_element_has_possible_replacement a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "deprecated element has possible replacement" ; + rdfs:range linkml:Uriorcurie ; + skos:definition "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + skos:inScheme linkml:mappings ; + skos:mappingRelation OIO:consider . -skos:example a owl:ObjectProperty, +linkml:derivation a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "value" ; - rdfs:domain linkml:Example ; + rdfs:label "derivation" ; rdfs:range linkml:String ; - skos:definition "example value" ; - skos:exactMatch skos:example . + skos:definition "Expression for deriving this unit from other units" ; + skos:inScheme linkml:units . -skos:narrowerMatch a owl:Class, - linkml:AliasPredicateEnum ; - rdfs:label "NARROW_SYNONYM" . +linkml:descriptive_name a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "descriptive_name" ; + skos:definition "the spelled out name of the unit, for example, meter" ; + skos:inScheme linkml:units . -skos:prefLabel a owl:ObjectProperty, +linkml:designates_type a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "alias" ; + rdfs:label "designates_type" ; rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:String ; - skos:definition "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; - skos:exactMatch skos:prefLabel . + rdfs:range linkml:Boolean ; + rdfs:seeAlso ; + skos:altLabel "type designator" ; + skos:definition "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" ; + skos:inScheme linkml:meta . -skosxl:literalForm a owl:ObjectProperty, +linkml:domain a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "literal_form" ; - rdfs:domain linkml:StructuredAlias ; - rdfs:range linkml:String ; - skos:altLabel "alias_name", - "string_value" ; - skos:definition "The literal lexical form of a structured alias; i.e the actual alias value." ; - skos:exactMatch skosxl:literalForm . + rdfs:label "domain" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:ClassDefinition ; + skos:definition """defines the type of the subject of the slot. Given the following slot definition + S1: + domain: C1 + range: C2 +the declaration + X: + S1: Y + +implicitly asserts that X is an instance of C1 +""" ; + skos:inScheme linkml:meta . -sh:condition a owl:ObjectProperty, +linkml:elseconditions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "preconditions" ; + rdfs:label "elseconditions" ; rdfs:range linkml:AnonymousClassExpression ; - skos:altLabel "antecedents", - "body", - "if" ; - skos:closeMatch swrl:body ; - skos:definition "an expression that must hold in order for the rule to be applicable to an instance" ; - skos:exactMatch sh:condition . + rdfs:seeAlso ; + skos:altLabel "else" ; + skos:definition "an expression that must hold for an instance of the class, if the preconditions no not hold" ; + skos:inScheme linkml:meta ; + sh:order 115 . -sh:deactivated a owl:ObjectProperty, +linkml:enum_range a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "deactivated" ; - rdfs:range linkml:Boolean ; - skos:definition "a deactivated rule is not executed by the rules engine" ; - skos:exactMatch sh:deactivated . + rdfs:label "enum_range" ; + bibo:status ; + rdfs:range linkml:EnumExpression ; + skos:definition "An inlined enumeration" ; + skos:inScheme linkml:meta . -sh:declare a owl:ObjectProperty, +linkml:enum_uri a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "prefixes" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Prefix ; - skos:definition "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; - skos:exactMatch sh:declare . + rdfs:label "enum_uri" ; + rdfs:domain linkml:EnumDefinition ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "public ID" ; + skos:definition "URI of the enum that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + skos:inScheme linkml:meta . -sh:group a owl:ObjectProperty, +linkml:exact_number_dimensions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "slot_group" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "allows for grouping of related slots into a grouping slot that serves the role of a group" ; - skos:exactMatch sh:group . + rdfs:label "exact_number_dimensions" ; + bibo:status ; + rdfs:domain linkml:ArrayExpression ; + rdfs:range linkml:Integer ; + skos:definition "exact number of dimensions in the array" ; + skos:inScheme linkml:meta ; + skos:note "if exact_number_dimensions is set, then minimum_number_dimensions and maximum_number_dimensions must be unset or have the same value" . -sh:namespace a owl:ObjectProperty, +linkml:extension_tag a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "prefix_reference" ; - rdfs:domain linkml:Prefix ; - rdfs:range linkml:Uri ; - skos:definition "The namespace to which a prefix expands to." ; - skos:exactMatch sh:namespace . + rdfs:label "extension_tag" ; + rdfs:domain linkml:Extension ; + rdfs:range linkml:Uriorcurie ; + skos:definition "a tag associated with an extension" ; + skos:inScheme linkml:extensions ; + skos:prefLabel "tag" . -sh:prefix a owl:ObjectProperty, +linkml:extension_value a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "prefix_prefix" ; - rdfs:domain linkml:Prefix ; - rdfs:range linkml:Ncname ; - skos:definition "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE." ; - skos:exactMatch sh:prefix . + rdfs:label "extension_value" ; + rdfs:domain linkml:Extension ; + rdfs:range linkml:AnyValue ; + skos:definition "the actual annotation" ; + skos:inScheme linkml:extensions ; + skos:prefLabel "value" . -sh:rule a owl:ObjectProperty, +linkml:followed_by a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "rules" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:ClassRule ; - skos:definition "the collection of rules that apply to all members of this class" ; - skos:exactMatch sh:rule . - -linkml:AnyValue a owl:Class, - linkml:ClassDefinition ; - rdfs:label "AnyValue" ; - skos:exactMatch linkml:Any . - -linkml:ClassRule a owl:Class, - linkml:ClassDefinition ; - rdfs:label "class_rule" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:elseconditions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:bidirectional ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:open_world ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty sh:deactivated ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty sh:condition ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:postconditions ], - linkml:Annotatable, - linkml:ClassLevelRule, - linkml:CommonMetadata, - linkml:Extensible ; - skos:altLabel "if rule" ; - skos:closeMatch swrl:Imp, - sh:TripleRule ; - skos:definition "A rule that applies to instances of a class" ; - linkml:is_a linkml:ClassLevelRule ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . - - a owl:Class, - linkml:PresenceEnum ; - rdfs:label "ABSENT" . - - a owl:Class, - linkml:PresenceEnum ; - rdfs:label "PRESENT" . - - a owl:Class, - linkml:PresenceEnum ; - rdfs:label "UNCOMMITTED" . - - a owl:Class, - linkml:PvFormulaOptions ; - rdfs:label "CODE" . - - a owl:Class, - linkml:PvFormulaOptions ; - rdfs:label "CURIE" . - - a owl:Class, - linkml:PvFormulaOptions ; - rdfs:label "FHIR_CODING" . - - a owl:Class, - linkml:PvFormulaOptions ; - rdfs:label "URI" . - - a owl:Class, - linkml:RelationalRoleEnum ; - rdfs:label "NODE" . - - a owl:Class, - linkml:RelationalRoleEnum ; - rdfs:label "OTHER_ROLE" . + rdfs:label "followed_by" ; + rdfs:range linkml:Expression ; + skos:definition "in a sequential list, this indicates the next member" ; + skos:inScheme linkml:meta . -linkml:children_are_mutually_disjoint a owl:ObjectProperty, +linkml:from_schema a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "children_are_mutually_disjoint" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Boolean ; - skos:definition "If true then all direct is_a children are mutually disjoint and share no instances in common" . + rdfs:label "from_schema" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uri ; + skos:definition "id of the schema that defined the element" ; + skos:editorialNote "A stronger model would be range schema_definition, but this doesn't address the import model" ; + skos:inScheme linkml:meta . -linkml:disjoint_with a owl:ObjectProperty, +linkml:generation_date a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "disjoint_with" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:definition "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" . + rdfs:label "generation_date" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Datetime ; + skos:definition "date and time that the schema was loaded/generated" ; + skos:inScheme linkml:meta . -linkml:slot_names_unique a owl:ObjectProperty, +linkml:has_extra_dimensions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "slot_names_unique" ; - rdfs:domain linkml:Definition ; + rdfs:label "has_extra_dimensions" ; + bibo:status ; + rdfs:domain linkml:ArrayExpression ; rdfs:range linkml:Boolean ; - skos:definition "if true then induced/mangled slot names are not created for class_usage and attributes" . + skos:definition "If this is set to true" ; + skos:inScheme linkml:meta . -linkml:slots a owl:ObjectProperty, - linkml:SlotDefinition . +linkml:has_member a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "has_member" ; + bibo:status ; + rdfs:range linkml:AnonymousSlotExpression ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the value of the slot is multivalued with at least one member satisfying the condition" ; + skos:inScheme linkml:meta . -linkml:source_ontology a owl:ObjectProperty, +linkml:has_quantity_kind a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "source_ontology" ; + rdfs:label "has_quantity_kind" ; rdfs:range linkml:Uriorcurie ; - skos:altLabel "terminology", - "vocabulary" ; - skos:definition "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values" . + skos:definition "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length" ; + skos:inScheme linkml:units ; + skos:note "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" . -linkml:transitive_form_of a owl:ObjectProperty, +linkml:id a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "transitive_form_of" ; - rdfs:range linkml:SlotDefinition ; - skos:definition "If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transitive (3) d holds whenever s holds and there are no intermediates, and s is not reflexive" . + rdfs:label "id" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Uri ; + skos:definition "The official schema URI" ; + skos:inScheme linkml:meta . -linkml:unique_key_slots a owl:ObjectProperty, +linkml:id_prefixes_are_closed a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "unique_key_slots" ; - rdfs:domain linkml:UniqueKey ; - rdfs:range linkml:SlotDefinition ; - skos:definition "list of slot names that form a key. The tuple formed from the values of all these slots should be unique." . - -rdfs:label a owl:ObjectProperty, - linkml:SlotDefinition . - -linkml:Anything a owl:Class, - linkml:ClassDefinition ; - rdfs:label "Anything" ; - skos:exactMatch linkml:Any . + rdfs:label "id_prefixes_are_closed" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso ; + skos:definition "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; + skos:inScheme linkml:meta . -linkml:ClassLevelRule a owl:Class, - linkml:ClassDefinition ; - rdfs:label "class_level_rule" ; - skos:definition "A rule that is applied to classes" . +linkml:identifier a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "identifier" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso , + linkml:unique_keys ; + skos:altLabel "ID", + "UID", + "code", + "primary key" ; + skos:definition "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container" ; + skos:inScheme linkml:meta ; + skos:note "a given domain can have at most one identifier", + "a key slot is automatically required. Identifiers cannot be optional", + "identifier is inherited", + "identifiers and keys are mutually exclusive. A given domain cannot have both" ; + sh:order 5 . -linkml:all_members a owl:ObjectProperty, +linkml:identifier_pattern a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "all_members" ; - rdfs:range linkml:AnonymousSlotExpression ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the value of the slot is multivalued with all members satisfying the condition" . + rdfs:label "identifier_pattern" ; + rdfs:domain linkml:MatchQuery ; + rdfs:range linkml:String ; + skos:definition "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values" ; + skos:inScheme linkml:meta . -linkml:apply_to a owl:ObjectProperty, +linkml:ifabsent a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "apply_to" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." . + rdfs:label "ifabsent" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:String ; + rdfs:seeAlso linkml:equals_expression ; + skos:closeMatch sh:defaultValue ; + skos:definition """function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library: + * [Tt]rue -- boolean True + * [Ff]alse -- boolean False + * bnode -- blank node identifier + * class_curie -- CURIE for the containing class + * class_uri -- URI for the containing class + * default_ns -- schema default namespace + * default_range -- schema default range + * int(value) -- integer value + * slot_uri -- URI for the slot + * slot_curie -- CURIE for the slot + * string(value) -- string value""" ; + skos:inScheme linkml:meta . -linkml:code_set a owl:ObjectProperty, +linkml:implements a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "code_set" ; - rdfs:domain linkml:EnumExpression ; + rdfs:label "implements" ; + rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "the identifier of an enumeration code set." . - -linkml:code_set_tag a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "code_set_tag" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:String ; - skos:definition "the version tag of the enumeration code set" . + skos:definition "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + skos:inScheme linkml:meta . -linkml:code_set_version a owl:ObjectProperty, +linkml:import_as a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "code_set_version" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:String ; - skos:definition "the version identifier of the enumeration code set" . + rdfs:label "import_as" ; + bibo:status ; + rdfs:domain linkml:ImportExpression ; + rdfs:range linkml:Ncname ; + skos:inScheme linkml:meta . -linkml:concepts a owl:ObjectProperty, +linkml:import_from a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "concepts" ; - rdfs:domain linkml:EnumExpression ; + rdfs:label "import_from" ; + bibo:status ; + rdfs:domain linkml:ImportExpression ; rdfs:range linkml:Uriorcurie ; - skos:definition "A list of identifiers that are used to construct a set of permissible values" . - -linkml:enum_range a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "enum_range" ; - rdfs:range linkml:EnumExpression ; - skos:definition "An inlined enumeration" . + skos:inScheme linkml:meta . -linkml:equals_expression a owl:ObjectProperty, +linkml:imported_from a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "equals_expression" ; + rdfs:label "imported_from" ; + rdfs:domain linkml:Element ; rdfs:range linkml:String ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the value of the slot must equal the value of the evaluated expression" . + skos:definition "the imports entry that this element was derived from. Empty means primary source" ; + skos:inScheme linkml:meta . -linkml:has_member a owl:ObjectProperty, +linkml:in_language a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "has_member" ; - rdfs:range linkml:AnonymousSlotExpression ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the value of the slot is multivalued with at least one member satisfying the condition" . + rdfs:label "in_language" ; + dcterms:conformsTo "https://www.rfc-editor.org/rfc/bcp/bcp47.txt" ; + rdfs:range linkml:String ; + skos:definition "the primary language used in the sources" ; + skos:inScheme linkml:meta ; + skos:note "Recommended to use a string from IETF BCP 47" . -linkml:include a owl:ObjectProperty, +linkml:include_self a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "include" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:AnonymousEnumExpression ; - skos:definition "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" . + rdfs:label "include_self" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "reflexive" ; + skos:definition "True if the query is reflexive" ; + skos:inScheme linkml:meta . -linkml:inherits a owl:ObjectProperty, +linkml:inherited a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "inherits" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:EnumDefinition ; - skos:definition "An enum definition that is used as the basis to create a new enum" . + rdfs:label "inherited" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:definition "true means that the *value* of a slot is inherited by subclasses" ; + skos:inScheme linkml:meta ; + skos:note "Inherited applies to slot values. Parent *slots* are always inherited by subclasses", + "the slot is to be used for defining *metamodels* only" . linkml:inlined a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inlined" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." . + rdfs:seeAlso , + ; + skos:definition "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; + skos:inScheme linkml:meta ; + skos:note "classes without keys or identifiers are necessarily inlined as lists", + "only applicable in tree-like serializations, e.g json, yaml" ; + sh:order 25 . linkml:inlined_as_list a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inlined_as_list" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." . + rdfs:seeAlso , + ; + skos:definition "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; + skos:inScheme linkml:meta ; + skos:note """A keyed or identified class with one additional slot can be input in a third form, a dictionary whose key +is the key or identifier and whose value is the one additional element. This form is still stored according +to the inlined_as_list setting.""", + """The default loader will accept either list or dictionary form as input. This parameter controls internal +representation and output.""" ; + sh:order 27 . -linkml:matches a owl:ObjectProperty, +linkml:interpolated a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "matches" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:MatchQuery ; - skos:definition "Specifies a match query that is used to calculate the list of permissible values" . + rdfs:label "interpolated" ; + rdfs:domain linkml:PatternExpression ; + rdfs:range linkml:Boolean ; + skos:definition "if true then the pattern is first string interpolated" ; + skos:inScheme linkml:meta . -linkml:maximum_cardinality a owl:ObjectProperty, +linkml:inverse a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "maximum_cardinality" ; - rdfs:range linkml:Integer ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the maximum number of entries for a multivalued slot" . + rdfs:label "inverse" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "indicates that any instance of d s r implies that there is also an instance of r s' d" ; + skos:inScheme linkml:meta . -linkml:minimum_cardinality a owl:ObjectProperty, +linkml:irreflexive a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "minimum_cardinality" ; - rdfs:range linkml:Integer ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the minimum number of entries for a multivalued slot" . + rdfs:label "irreflexive" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:closeMatch owl:IrreflexiveProperty ; + skos:definition "If s is irreflexive, then there exists no i such i.s=i" ; + skos:inScheme linkml:meta . -linkml:minus a owl:ObjectProperty, +linkml:is_class_field a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "minus" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:AnonymousEnumExpression ; - skos:definition "An enum expression that yields a list of permissible values that are to be subtracted from the enum" . + rdfs:label "is_class_field" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:definition "indicates that for any instance, i, the domain of this slot will include an assertion of i s range" ; + skos:inScheme linkml:meta . -linkml:permissible_values a owl:ObjectProperty, +linkml:is_direct a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "permissible_values" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:PermissibleValue ; - skos:altLabel "coded values" ; - skos:definition "A list of possible values for a slot range" ; - skos:exactMatch cdisc:PermissibleValue . + rdfs:label "is_direct" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "non-transitive" ; + skos:definition "True if the reachability query should only include directly related nodes, if False then include also transitively connected" ; + skos:inScheme linkml:meta . -linkml:pv_formula a owl:ObjectProperty, +linkml:is_grouping_slot a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "pv_formula" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:PvFormulaOptions ; - skos:definition "Defines the specific formula to be used to generate the permissible values." . + rdfs:label "is_grouping_slot" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:closeMatch sh:PropertyGroup ; + skos:definition "true if this slot is a grouping slot" ; + skos:inScheme linkml:meta . -linkml:range a owl:ObjectProperty, +linkml:is_usage_slot a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "range" ; + rdfs:label "is_usage_slot" ; rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Element ; - skos:altLabel "value domain" ; - skos:definition """defines the type of the object of the slot. Given the following slot definition - S1: - domain: C1 - range: C2 -the declaration - X: - S1: Y + rdfs:range linkml:Boolean ; + skos:definition "True means that this slot was defined in a slot_usage situation" ; + skos:inScheme linkml:meta . -implicitly asserts Y is an instance of C2 -""" . +linkml:key a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "key" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso linkml:unique_keys ; + skos:definition "True means that the key slot(s) uniquely identify the elements within a single container" ; + skos:inScheme linkml:meta ; + skos:note "a given domain can have at most one key slot (restriction to be removed in the future)", + "a key slot is automatically required. Keys cannot be optional", + "identifiers and keys are mutually exclusive. A given domain cannot have both", + "key is inherited" . -linkml:reachable_from a owl:ObjectProperty, +linkml:last_updated_on a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "reachable_from" ; - rdfs:domain linkml:EnumExpression ; - rdfs:range linkml:ReachabilityQuery ; - skos:definition "Specifies a query for obtaining a list of permissible values based on graph reachability" . + rdfs:label "last_updated_on" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Datetime ; + skos:definition "time at which the element was last updated" ; + skos:inScheme linkml:meta . -linkml:recommended a owl:ObjectProperty, +linkml:license a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "recommended" ; + rdfs:label "license" ; + rdfs:domain linkml:SchemaDefinition ; + skos:definition "license for the schema" ; + skos:inScheme linkml:meta ; + sh:order 31 . + +linkml:list_elements_ordered a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "list_elements_ordered" ; + bibo:status ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that the slot should be present in instances of the class definition, but this is not required" . + skos:definition "If True, then the order of elements of a multivalued slot is guaranteed to be preserved. If False, the order may still be preserved but this is not guaranteed" ; + skos:inScheme linkml:meta ; + skos:note "should only be used with multivalued slots" . -linkml:required a owl:ObjectProperty, +linkml:list_elements_unique a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "required" ; + rdfs:label "list_elements_unique" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that the slot must be present in instances of the class definition" . + skos:definition "If True, then there must be no duplicates in the elements of a multivalued slot" ; + skos:inScheme linkml:meta ; + skos:note "should only be used with multivalued slots" . -linkml:slot_conditions a owl:ObjectProperty, +linkml:literal_form a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "slot_conditions" ; - rdfs:domain linkml:ClassExpression ; - rdfs:range linkml:SlotDefinition ; - skos:definition "expresses constraints on a group of slots for a class expression" . + rdfs:label "literal_form" ; + rdfs:domain linkml:StructuredAlias ; + rdfs:range linkml:String ; + skos:altLabel "alias_name", + "string_value" ; + skos:definition "The literal lexical form of a structured alias; i.e the actual alias value." ; + skos:inScheme linkml:meta . -linkml:union_of a owl:ObjectProperty, +linkml:local_name_source a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "union_of" ; + rdfs:label "local_name_source" ; + rdfs:domain linkml:LocalName ; + rdfs:range linkml:Ncname ; + skos:definition "the ncname of the source of the name" ; + skos:inScheme linkml:meta . + +linkml:local_name_value a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "local_name_value" ; + rdfs:domain linkml:LocalName ; + rdfs:range linkml:String ; + skos:definition "a name assigned to an element in a given ontology" ; + skos:inScheme linkml:meta . + +linkml:locally_reflexive a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "locally_reflexive" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:definition "If s is locally_reflexive, then i.s=i for all instances i where s is a class slot for the type of i" ; + skos:inScheme linkml:meta . + +linkml:matches a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "matches" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:MatchQuery ; + skos:definition "Specifies a match query that is used to calculate the list of permissible values" ; + skos:inScheme linkml:meta . + +linkml:maximum_number_dimensions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "maximum_number_dimensions" ; + bibo:status ; + rdfs:domain linkml:ArrayExpression ; + rdfs:range [ owl:intersectionOf ( [ a rdfs:Datatype ; + owl:unionOf ( linkml:Integer linkml:Boolean ) ] linkml:Anything ) ] ; + skos:definition "maximum number of dimensions in the array, or False if explicitly no maximum. If this is unset, and an explicit list of dimensions are passed using dimensions, then this is interpreted as a closed list and the maximum_number_dimensions is the length of the dimensions list, unless this value is set to False" ; + skos:inScheme linkml:meta ; + skos:note "maximum_number_dimensions cannot be less than minimum_number_dimensions" . + +linkml:meaning a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "meaning" ; + rdfs:domain linkml:PermissibleValue ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso ; + skos:altLabel "PV meaning" ; + skos:definition "the value meaning of a permissible value" ; + skos:editorialNote "we may want to change the range of this (and other) elements in the model to an entitydescription type construct" ; + skos:inScheme linkml:meta ; + sh:order 23 . + +linkml:metamodel_version a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "metamodel_version" ; + rdfs:domain linkml:SchemaDefinition ; + skos:definition "Version of the metamodel used to load the schema" ; + skos:inScheme linkml:meta . + +linkml:minimum_number_dimensions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "minimum_number_dimensions" ; + bibo:status ; + rdfs:domain linkml:ArrayExpression ; + rdfs:range linkml:Integer ; + skos:definition "minimum number of dimensions in the array" ; + skos:inScheme linkml:meta ; + skos:note "minimum_cardinality cannot be greater than maximum_cardinality" . + +linkml:mixin a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "mixin" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso ; + skos:altLabel "trait" ; + skos:definition "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; + skos:inScheme linkml:meta . + +linkml:modified_by a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "modified_by" ; rdfs:domain linkml:Element ; - rdfs:range linkml:Element ; - skos:definition "indicates that the domain element consists exactly of the members of the element in the range." . + rdfs:range linkml:Uriorcurie ; + skos:definition "agent that modified the element" ; + skos:inScheme linkml:meta . -linkml:value_presence a owl:ObjectProperty, +linkml:multivalued a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "value_presence" ; + rdfs:label "multivalued" ; rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:PresenceEnum ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" . + rdfs:range linkml:Boolean ; + skos:definition "true means that slot can have more than one value and should be represented using a list or collection structure." ; + skos:inScheme linkml:meta ; + sh:order 7 . -rdf:predicate a owl:Class, - owl:ObjectProperty, - linkml:RelationalRoleEnum, +linkml:open_world a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "PREDICATE", - "predicate" ; - rdfs:domain linkml:StructuredAlias ; - rdfs:range linkml:AliasPredicateEnum ; - skos:definition "The relationship between an element and its alias." ; - skos:exactMatch rdf:predicate . + rdfs:label "open_world" ; + rdfs:range linkml:Boolean ; + skos:definition "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these" ; + skos:inScheme linkml:meta . -linkml:AnonymousExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "anonymous_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible ; - skos:definition "An abstract parent class for any nested expression" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible . +linkml:owner a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "owner" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Definition ; + skos:definition "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot" ; + skos:inScheme linkml:meta . -linkml:ImportExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "import_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:import_from ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Ncname ; - owl:onProperty linkml:import_as ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Setting ; - owl:onProperty linkml:import_map ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible ; - skos:definition "an expression describing an import" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . +linkml:partial_match a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "partial_match" ; + rdfs:domain linkml:PatternExpression ; + rdfs:range linkml:Boolean ; + skos:definition "if not true then the pattern must match the whole string, as if enclosed in ^...$" ; + skos:inScheme linkml:meta . + +linkml:path_rule a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "path_rule" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:PathExpression ; + skos:definition "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" ; + skos:inScheme linkml:meta . + +linkml:postconditions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "postconditions" ; + rdfs:range linkml:AnonymousClassExpression ; + rdfs:seeAlso ; + skos:altLabel "consequents", + "head", + "then" ; + skos:closeMatch swrl:body ; + skos:definition "an expression that must hold for an instance of the class, if the preconditions hold" ; + skos:inScheme linkml:meta ; + sh:order 113 . + +linkml:preconditions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "preconditions" ; + rdfs:range linkml:AnonymousClassExpression ; + rdfs:seeAlso ; + skos:altLabel "antecedents", + "body", + "if" ; + skos:closeMatch swrl:body ; + skos:definition "an expression that must hold in order for the rule to be applicable to an instance" ; + skos:inScheme linkml:meta ; + sh:order 111 . + +linkml:prefix_prefix a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "prefix_prefix" ; + rdfs:domain linkml:Prefix ; + rdfs:range linkml:Ncname ; + skos:definition "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE." ; + skos:inScheme linkml:meta ; + sh:order 1 . + +linkml:prefix_reference a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "prefix_reference" ; + rdfs:domain linkml:Prefix ; + rdfs:range linkml:Uri ; + skos:definition "The namespace to which a prefix expands to." ; + skos:inScheme linkml:meta ; + sh:order 2 . + +linkml:pv_formula a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "pv_formula" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:PvFormulaOptions ; + skos:definition "Defines the specific formula to be used to generate the permissible values." ; + skos:inScheme linkml:meta ; + skos:note "code_set must be supplied for this to be valid", + "you cannot have BOTH the permissible_values and permissible_value_formula tag" . + +linkml:range a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "range" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Element ; + skos:altLabel "value domain" ; + skos:definition """defines the type of the object of the slot. Given the following slot definition + S1: + domain: C1 + range: C2 +the declaration + X: + S1: Y + +implicitly asserts Y is an instance of C2 +""" ; + skos:inScheme linkml:meta ; + skos:note "range is underspecified, as not all elements can appear as the range of a slot." . + +linkml:reachable_from a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "reachable_from" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:ReachabilityQuery ; + skos:definition "Specifies a query for obtaining a list of permissible values based on graph reachability" ; + skos:inScheme linkml:meta . + +linkml:readonly a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "readonly" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:String ; + skos:definition "If present, slot is read only. Text explains why" ; + skos:inScheme linkml:meta ; + skos:note "the slot is to be used for defining *metamodels* only" . + +linkml:recommended a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "recommended" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso ; + skos:definition "true means that the slot should be present in instances of the class definition, but this is not required" ; + skos:inScheme linkml:meta ; + skos:note "If a slot is recommended, and it is not populated, applications must not treat this as an error. Applications may use this to inform the user of missing data", + "This is to be used where not all data is expected to conform to having a required field" ; + sh:order 9 . + +linkml:reflexive a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "reflexive" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:closeMatch owl:ReflexiveProperty ; + skos:definition "If s is reflexive, then i.s=i for all instances i" ; + skos:inScheme linkml:meta ; + skos:note "it is rare for a property to be reflexive, this characteristic is added for completeness, consider instead locally_reflexive" . + +linkml:reflexive_transitive_form_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "reflexive_transitive_form_of" ; + rdfs:subPropertyOf linkml:transitive_form_of ; + skos:definition "transitive_form_of including the reflexive case" ; + skos:inScheme linkml:meta . + +linkml:relational_role a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "relational_role" ; + bibo:status ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:RelationalRoleEnum ; + skos:altLabel "reification_role" ; + skos:definition "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" ; + skos:inScheme linkml:meta ; + skos:note "in the context of RDF, this should be used for slots that can be modeled using the RDF reification vocabulary", + "in the context of property graphs, this should be used on edge classes to indicate which slots represent the input and output nodes", + "this should only be used on slots that are applicable to class that represent relationships" . + +linkml:repr a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "repr" ; + rdfs:domain linkml:TypeDefinition ; + rdfs:range linkml:String ; + skos:definition "the name of the python object that implements this type definition" ; + skos:inScheme linkml:meta ; + sh:order 10 . + +linkml:represents_relationship a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "represents_relationship" ; + bibo:status ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso rdf:Statement, + ; + skos:altLabel "is_reified" ; + skos:definition "true if this class represents a relationship rather than an entity" ; + skos:inScheme linkml:meta ; + skos:note "in the context of Entity-Relationship (ER) modeling, this is used to state that a class models a relationship between entities, and should be drawn with a diamond", + "in the context of RDF, this should be used when instances of the class are `rdf:Statement`s", + "in the context of property graphs, this should be used when a class is used to represent an edge that connects nodes" . + +linkml:required a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "required" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:definition "true means that the slot must be present in instances of the class definition" ; + skos:inScheme linkml:meta ; + sh:order 8 . + +linkml:reversed a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "reversed" ; + rdfs:range linkml:Boolean ; + skos:definition "true if the slot is to be inversed" ; + skos:inScheme linkml:meta . + +linkml:role a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "role" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:String ; + skos:definition "a textual descriptor that indicates the role played by the slot range" ; + skos:inScheme linkml:meta ; + skos:note "the primary use case for this slot is to provide a textual descriptor of a generic slot name when used in the context of a more specific class" . + +linkml:setting_key a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "setting_key" ; + rdfs:domain linkml:Setting ; + rdfs:range linkml:Ncname ; + skos:definition "the variable name for a setting" ; + skos:inScheme linkml:meta . + +linkml:setting_value a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "setting_value" ; + rdfs:domain linkml:Setting ; + rdfs:range linkml:String ; + skos:definition "The value assigned for a setting" ; + skos:inScheme linkml:meta . + +linkml:shared a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "shared" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:altLabel "inverse functional", + "many to one or many" ; + skos:definition "If True, then the relationship between the slot domain and range is many to one or many to many" ; + skos:inScheme linkml:meta . + +linkml:singular_name a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "singular_name" ; + rdfs:domain linkml:SlotDefinition ; + skos:closeMatch skos:altLabel ; + skos:definition "a name that is used in the singular form" ; + skos:inScheme linkml:meta ; + skos:note "this may be used in some schema translations where use of a singular form is idiomatic, for example RDF" . + +linkml:slot_group a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "slot_group" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "allows for grouping of related slots into a grouping slot that serves the role of a group" ; + skos:inScheme linkml:meta ; + skos:note "slot groups do not change the semantics of a model but are a useful way of visually grouping related slots" . + +linkml:source a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "derived from", + "origin" ; + skos:closeMatch schema1:isBasedOn, + prov:wasDerivedFrom ; + skos:definition "A related resource from which the element is derived." ; + skos:inScheme linkml:meta ; + skos:note "The described resource may be derived from the related resource in whole or in part" . + +linkml:source_file a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source_file" ; + rdfs:domain linkml:SchemaDefinition ; + skos:definition "name, uri or description of the source of the schema" ; + skos:inScheme linkml:meta . + +linkml:source_file_date a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source_file_date" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Datetime ; + skos:definition "modification date of the source of the schema" ; + skos:inScheme linkml:meta . + +linkml:source_file_size a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source_file_size" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Integer ; + skos:definition "size in bytes of the source of the schema" ; + skos:inScheme linkml:meta . + +linkml:status a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "status" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso , + ; + skos:altLabel "workflow status" ; + skos:definition "status of the element" ; + skos:inScheme linkml:meta . + +linkml:string_serialization a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "string_serialization" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:String ; + rdfs:seeAlso ; + skos:definition """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. +We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. +Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects +For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + skos:inScheme linkml:meta . + +linkml:subclass_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "subclass_of" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:Uriorcurie ; + skos:closeMatch rdfs:subClassOf ; + skos:definition "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" ; + skos:inScheme linkml:meta . + +linkml:subproperty_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "subproperty_of" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "Ontology property which this slot is a subproperty of. Note: setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + skos:inScheme linkml:meta . + +linkml:symmetric a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "symmetric" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:closeMatch owl:SymmetricProperty ; + skos:definition "If s is symmetric, and i.s=v, then v.s=i" ; + skos:inScheme linkml:meta . -linkml:LocalName a owl:Class, - linkml:ClassDefinition ; - rdfs:label "local_name" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty linkml:local_name_source ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty skos:altLabel ; - owl:qualifiedCardinality 1 ] ; - skos:definition "an attributed label" . +linkml:syntax a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "syntax" ; + rdfs:domain linkml:PatternExpression ; + rdfs:range linkml:String ; + skos:definition "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated." ; + skos:inScheme linkml:meta . -linkml:TypeExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "type_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], - linkml:Expression, - linkml:mixin ; - skos:definition "An abstract class grouping named types and anonymous type expressions" ; - linkml:is_a linkml:Expression . +linkml:text a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "text" ; + rdfs:domain linkml:PermissibleValue ; + rdfs:range linkml:String ; + skos:altLabel "value" ; + skos:closeMatch skos:notation ; + skos:definition "The actual permissible value itself" ; + skos:inScheme linkml:meta ; + skos:note "there are no constraints on the text of the permissible value, but for many applications you may want to consider following idiomatic forms and using computer-friendly forms" ; + sh:order 21 . -linkml:boolean_slot a owl:ObjectProperty, +linkml:title a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "boolean_slot" ; - rdfs:range linkml:Expression ; - skos:definition "A grouping of slots that expression a boolean operator over a list of operands" . + rdfs:label "title" ; + rdfs:domain linkml:Element ; + skos:altLabel "long name" ; + skos:definition "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + skos:inScheme linkml:meta ; + sh:order 3 . -linkml:mixins a owl:ObjectProperty, +linkml:transitive a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "mixins" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:altLabel "traits" ; - skos:definition "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." . + rdfs:label "transitive" ; + rdfs:subPropertyOf linkml:relational_logical_characteristic ; + skos:closeMatch owl:TransitiveProperty ; + skos:definition "If s is transitive, and i.s=z, and s.s=j, then i.s=j" ; + skos:inScheme linkml:meta . -linkml:range_expression a owl:ObjectProperty, +linkml:traverse a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "range_expression" ; - rdfs:domain linkml:SlotExpression ; - rdfs:range linkml:AnonymousClassExpression ; - skos:definition "A range that is described as a boolean expression combining existing ranges" . + rdfs:label "traverse" ; + rdfs:range linkml:SlotDefinition ; + skos:definition "the slot to traverse" ; + skos:inScheme linkml:meta . -linkml:Prefix a owl:Class, - linkml:ClassDefinition ; - rdfs:label "prefix" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Uri ; - owl:onProperty sh:namespace ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty sh:prefix ; - owl:qualifiedCardinality 1 ] ; - skos:definition "prefix URI tuple" . +linkml:traverse_up a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "traverse_up" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "ancestors" ; + skos:definition "True if the direction of the reachability query is reversed and ancestors are retrieved" ; + skos:inScheme linkml:meta . -linkml:UniqueKey a owl:Class, +linkml:tree_root a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "tree_root" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso ; + skos:definition "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations" ; + skos:editorialNote "each schema should have at most one tree root" ; + skos:inScheme linkml:meta ; + sh:order 31 . + +linkml:type_uri a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "type_uri" ; + rdfs:domain linkml:TypeDefinition ; + rdfs:range linkml:Uriorcurie ; + skos:definition "The uri that defines the possible values for the type definition" ; + skos:inScheme linkml:meta ; + skos:note "every root type must have a type uri", + "uri is typically drawn from the set of URI's defined in OWL (https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Datatype_Maps)" ; + skos:prefLabel "uri" ; + sh:order 2 . + +linkml:typeof a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "typeof" ; + rdfs:domain linkml:TypeDefinition ; + rdfs:range linkml:TypeDefinition ; + skos:definition "A parent type from which type properties are inherited" ; + skos:inScheme linkml:meta ; + skos:note "the target type definition of the typeof slot is referred to as the \"parent type\"", + "the type definition containing the typeof slot is referred to as the \"child type\"", + "type definitions without a typeof slot are referred to as a \"root type\"" ; + sh:order 7 . + +linkml:unique_key_name a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "unique_key_name" ; + rdfs:domain linkml:UniqueKey ; + skos:definition "name of the unique key" ; + skos:inScheme linkml:meta . + +linkml:usage_slot_name a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "usage_slot_name" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:String ; + skos:definition "The name of the slot referenced in the slot_usage" ; + skos:inScheme linkml:meta . + +linkml:value a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "value" ; + rdfs:domain linkml:Example ; + skos:definition "example value" ; + skos:inScheme linkml:meta . + +linkml:value_description a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "value_description" ; + rdfs:domain linkml:Example ; + skos:definition "description of what the value is doing" ; + skos:inScheme linkml:meta ; + skos:prefLabel "description" . + +linkml:value_object a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "value_object" ; + rdfs:domain linkml:Example ; + rdfs:range linkml:Anything ; + skos:definition "direct object representation of the example" ; + skos:inScheme linkml:meta ; + skos:prefLabel "object" . + +linkml:value_presence a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "value_presence" ; + bibo:status ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:PresenceEnum ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ; + skos:inScheme linkml:meta ; + skos:note "if set to true this has the same effect as required=true. In contrast, required=false allows a value to be present" . + +linkml:version a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "version" ; + rdfs:domain linkml:SchemaDefinition ; + skos:definition "particular version of schema" ; + skos:exactMatch schema1:schemaVersion ; + skos:inScheme linkml:meta . + +linkml:AltDescription a owl:Class, linkml:ClassDefinition ; - rdfs:label "unique_key" ; + rdfs:label "alt_description" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:maxCardinality 1 ; + owl:onProperty linkml:alt_description_source ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], - [ a owl:Class ; - owl:intersectionOf ( [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:unique_key_slots ] [ a owl:Restriction ; - owl:onProperty linkml:unique_key_slots ; - owl:someValuesFrom linkml:SlotDefinition ] ) ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:onProperty linkml:alt_description_source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:consider_nulls_inequal ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:minCardinality 1 ; + owl:onProperty linkml:alt_description_text ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:maxCardinality 1 ; + owl:onProperty linkml:alt_description_text ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], + owl:onProperty linkml:alt_description_text ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:minCardinality 1 ; + owl:onProperty linkml:alt_description_source ] ; + skos:altLabel "structured description" ; + skos:definition "an attributed description" ; + skos:inScheme linkml:meta . + +linkml:AnonymousEnumExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_enum_expression" ; + rdfs:subClassOf linkml:EnumExpression ; + skos:definition "An enum_expression that is not named" ; + skos:inScheme linkml:meta . + +linkml:AnonymousTypeExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_type_expression" ; + rdfs:subClassOf linkml:TypeExpression ; + skos:definition "A type expression that is not a top-level named type definition. Used for nesting." ; + skos:inScheme linkml:meta . + +linkml:ImportExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "import_expression" ; + bibo:status ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:import_as ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:Setting ; + owl:onProperty linkml:import_map ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:import_as ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:maxCardinality 1 ; + owl:onProperty linkml:import_as ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:unique_key_name ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onProperty linkml:import_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:minCardinality 1 ; + owl:onProperty linkml:import_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:import_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:minCardinality 0 ; + owl:onProperty linkml:import_map ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; - skos:definition "a collection of slots whose values uniquely identify an instance of a class" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . - -linkml:is_a a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "is_a" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:definition "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" . - -linkml:AliasPredicateEnum a owl:Class, - linkml:EnumDefinition ; - rdfs:label "alias_predicate_enum" ; - owl:unionOf ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; - linkml:permissible_values skos:broaderMatch, - skos:exactMatch, - skos:narrowerMatch, - skos:relatedMatch . + skos:definition "an expression describing an import" ; + skos:inScheme linkml:meta . -linkml:ClassExpression a owl:Class, +linkml:LocalName a owl:Class, linkml:ClassDefinition ; - rdfs:label "class_expression" ; + rdfs:label "local_name" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:local_name_source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:any_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:local_name_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:local_name_source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], + owl:minCardinality 1 ; + owl:onProperty linkml:local_name_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:exactly_one_of ], - linkml:mixin ; - skos:definition "A boolean expression that can be used to dynamically determine membership of a class" . - -linkml:MatchQuery a owl:Class, - linkml:ClassDefinition ; - rdfs:label "match_query" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:source_ontology ], + owl:maxCardinality 1 ; + owl:onProperty linkml:local_name_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:identifier_pattern ] ; - skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that matches on properties of the external concepts." . + owl:minCardinality 1 ; + owl:onProperty linkml:local_name_source ] ; + skos:definition "an attributed label" ; + skos:inScheme linkml:meta . -linkml:SlotExpression a owl:Class, +linkml:Prefix a owl:Class, linkml:ClassDefinition ; - rdfs:label "slot_expression" ; + rdfs:label "prefix" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:minCardinality 1 ; + owl:onProperty linkml:prefix_reference ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:prefix_reference ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:required ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:prefix_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:maxCardinality 1 ; + owl:onProperty linkml:prefix_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], + owl:minCardinality 1 ; + owl:onProperty linkml:prefix_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PresenceEnum ; - owl:onProperty linkml:value_presence ], + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:prefix_reference ] ; + skos:definition "prefix URI tuple" ; + skos:inScheme linkml:meta ; + sh:order 12 . + +linkml:SlotExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "slot_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:exact_cardinality ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:minCardinality 0 ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:minCardinality 0 ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; + owl:minCardinality 0 ; owl:onProperty linkml:pattern ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:maxCardinality 1 ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_members ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:minCardinality 0 ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_cardinality ], + owl:maxCardinality 1 ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; + owl:maxCardinality 1 ; owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; + owl:maxCardinality 1 ; + owl:onProperty linkml:pattern ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:minCardinality 0 ; + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:minCardinality 0 ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:maxCardinality 1 ; + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], + owl:allValuesFrom linkml:UnitOfMeasure ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:minCardinality 0 ; + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:EnumExpression ; - owl:onProperty linkml:enum_range ], + owl:minCardinality 0 ; + owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:inlined ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], - linkml:Expression, - linkml:mixin ; - skos:definition "an expression that constrains the range of values a slot can take" ; - linkml:is_a linkml:Expression . - -linkml:equals_number a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "equals_number" ; - rdfs:range linkml:Integer ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the slot must have range of a number and the value of the slot must equal the specified value" . - -linkml:equals_string a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "equals_string" ; - rdfs:range linkml:String ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the slot must have range string and the value of the slot must equal the specified value" . - -linkml:equals_string_in a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "equals_string_in" ; - rdfs:range linkml:String ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the slot must have range string and the value of the slot must equal one of the specified values" . - -linkml:implicit_prefix a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "implicit_prefix" ; - rdfs:domain linkml:SlotExpression ; - rdfs:range linkml:String ; - skos:definition "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" . - -linkml:maximum_value a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "maximum_value" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Integer ; - skos:altLabel "high value" ; - skos:definition "for slots with ranges of type number, the value must be equal to or lowe than this" . - -linkml:minimum_value a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "minimum_value" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Integer ; - skos:altLabel "low value" ; - skos:definition "for slots with ranges of type number, the value must be equal to or higher than this" . - -linkml:pattern a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "pattern" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:String ; - skos:definition "the string value of the slot must conform to this regular expression expressed in the string" . - -linkml:relational_logical_characteristic a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "relational_logical_characteristic" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:Boolean ; - skos:definition "An abstract grouping for metaslots that describe logical properties of a slot" . - -linkml:structured_pattern a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "structured_pattern" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:PatternExpression ; - skos:definition "the string value of the slot must conform to the regular expression in the pattern expression" . - -linkml:PathExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "path_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:has_member ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:pattern ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:traverse ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:minCardinality 0 ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:minCardinality 0 ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], + owl:maxCardinality 1 ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:minCardinality 0 ; + owl:onProperty linkml:all_members ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:required ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:allValuesFrom linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:reversed ], + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:minCardinality 0 ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:maxCardinality 1 ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:required ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:maxCardinality 1 ; + owl:onProperty linkml:range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_members ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:maxCardinality 1 ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:minCardinality 0 ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PathExpression ; - owl:onProperty linkml:followed_by ], + owl:maxCardinality 1 ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; + owl:minCardinality 0 ; owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:allValuesFrom linkml:EnumExpression ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:allValuesFrom linkml:PresenceEnum ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:allValuesFrom linkml:Element ; + owl:onProperty linkml:range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible ; - skos:definition "An expression that describes an abstract path from an object to another through a sequence of slot lookups" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible . - -linkml:PresenceEnum a owl:Class, - linkml:EnumDefinition ; - rdfs:label "presence_enum" ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - . - -linkml:RelationalRoleEnum a owl:Class, - linkml:EnumDefinition ; - rdfs:label "relational_role_enum" ; - owl:unionOf ( rdf:subject rdf:object rdf:predicate ) ; - linkml:permissible_values rdf:object, - rdf:predicate, - rdf:subject, - , - . - -linkml:Setting a owl:Class, - linkml:ClassDefinition ; - rdfs:label "setting" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty linkml:setting_key ; - owl:qualifiedCardinality 1 ], + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:setting_value ; - owl:qualifiedCardinality 1 ] ; - skos:definition "assignment of a key to a value" . - -qudt:unit a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "unit" ; - rdfs:range linkml:UnitOfMeasure ; - skos:definition "an encoding of a unit" ; - skos:exactMatch qudt:unit . - -linkml:AnonymousEnumExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "anonymous_enum_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:permissible_values ], + owl:minCardinality 0 ; + owl:onProperty linkml:range ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:include ], + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_cardinality ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:equals_expression ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:inlined_as_list ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:MatchQuery ; - owl:onProperty linkml:matches ], + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:code_set ], + owl:maxCardinality 1 ; + owl:onProperty linkml:all_members ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ReachabilityQuery ; - owl:onProperty linkml:reachable_from ], + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PvFormulaOptions ; - owl:onProperty linkml:pv_formula ], + owl:maxCardinality 1 ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_version ], + owl:maxCardinality 1 ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:inherits ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:minus ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:concepts ], + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_tag ], - linkml:EnumExpression ; - skos:definition "An enum_expression that is not named" ; - linkml:mixins linkml:EnumExpression . + owl:maxCardinality 1 ; + owl:onProperty linkml:required ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exactly_one_of ], + linkml:Expression ; + skos:definition "an expression that constrains the range of values a slot can take" ; + skos:inScheme linkml:meta . -linkml:PermissibleValue a owl:Class, +linkml:StructuredAlias a owl:Class, linkml:ClassDefinition ; - rdfs:label "permissible_value" ; + rdfs:label "structured_alias" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:categories ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], + owl:minCardinality 0 ; + owl:onProperty linkml:alias_predicate ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty linkml:categories ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:literal_form ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:maxCardinality 1 ; + owl:onProperty linkml:literal_form ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:mixins ], + owl:minCardinality 1 ; + owl:onProperty linkml:literal_form ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:AliasPredicateEnum ; + owl:onProperty linkml:alias_predicate ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:maxCardinality 1 ; + owl:onProperty linkml:alias_predicate ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Expression, + linkml:Extensible ; + skos:definition "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)" ; + skos:exactMatch skosxl:Label ; + skos:inScheme linkml:meta . + +linkml:SubsetDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "subset_definition" ; + rdfs:subClassOf linkml:Element ; + skos:definition "an element that can be used to group other metamodel elements" ; + skos:inScheme linkml:meta ; + sh:order 6 . + +linkml:boolean_slot a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "boolean_slot" ; + rdfs:range linkml:Expression ; + skos:definition "A grouping of slots that expression a boolean operator over a list of operands" ; + skos:inScheme linkml:meta . + +linkml:categories a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "categories" ; + rdfs:range linkml:Uriorcurie ; + skos:definition "Controlled terms used to categorize an element." ; + skos:inScheme linkml:meta ; + skos:note "if you wish to use uncontrolled terms or terms that lack identifiers then use the keywords element" . + +linkml:class_uri a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "class_uri" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso , + linkml:definition_uri ; + skos:altLabel "public ID" ; + skos:definition "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + skos:inScheme linkml:meta ; + skos:note "Assigning class_uris can provide additional hooks for interoperation, indicating a common conceptual model" ; + sh:order 2 . + +linkml:disjoint_with a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "disjoint_with" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + skos:definition "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" ; + skos:inScheme linkml:meta . + +linkml:equals_expression a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "equals_expression" ; + rdfs:range linkml:String ; + rdfs:seeAlso , + ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the value of the slot must equal the value of the evaluated expression" ; + skos:inScheme linkml:meta ; + skos:note "for example, a 'length' slot may have an equals_expression with value '(end-start)+1'" . + +linkml:equals_string_in a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "equals_string_in" ; + bibo:status ; + rdfs:range linkml:String ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the slot must have range string and the value of the slot must equal one of the specified values" ; + skos:inScheme linkml:meta . + +linkml:iec61360code a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "iec61360code" ; + skos:inScheme linkml:units . + +linkml:slot_uri a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "slot_uri" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso , + linkml:definition_uri ; + skos:altLabel "public ID" ; + skos:definition "URI of the class that provides a semantic interpretation of the slot in a linked data context. The URI may come from any namespace and may be shared between schemas." ; + skos:inScheme linkml:meta ; + skos:note "Assigning slot_uris can provide additional hooks for interoperation, indicating a common conceptual model" ; + sh:order 2 . + +linkml:symbol a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "symbol" ; + skos:definition "name of the unit encoded as a symbol" ; + skos:inScheme linkml:units . + +linkml:transitive_form_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "transitive_form_of" ; + rdfs:range linkml:SlotDefinition ; + skos:definition "If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transitive (3) d holds whenever s holds and there are no intermediates, and s is not reflexive" ; + skos:inScheme linkml:meta ; + skos:note "Example: ancestor_of is the transitive_form_of parent_of" . + +linkml:ucum_code a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "ucum_code" ; + rdfs:domain linkml:UnitOfMeasure ; + rdfs:range linkml:String ; + skos:definition "associates a QUDT unit with its UCUM code (case-sensitive)." ; + skos:inScheme linkml:units . + +linkml:unique_keys a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "unique_keys" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:UniqueKey ; + rdfs:seeAlso ; + skos:definition "A collection of named unique keys for this class. Unique keys may be singular or compound." ; + skos:exactMatch owl:hasKey ; + skos:inScheme linkml:meta . + +linkml:Example a owl:Class, + linkml:ClassDefinition ; + rdfs:label "example" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:value_description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:minCardinality 0 ; + owl:onProperty linkml:value_description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:value_object ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:value_object ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:maxCardinality 1 ; + owl:onProperty linkml:value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], + owl:maxCardinality 1 ; + owl:onProperty linkml:value_object ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], + owl:onProperty linkml:value_description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:minCardinality 0 ; + owl:onProperty linkml:value ] ; + skos:definition "usage example and description" ; + skos:inScheme linkml:meta . + +linkml:UniqueKey a owl:Class, + linkml:ClassDefinition ; + rdfs:label "unique_key" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:consider_nulls_inequal ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PermissibleValue ; - owl:onProperty linkml:is_a ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:unique_key_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:minCardinality 1 ; + owl:onProperty linkml:unique_key_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:minCardinality 0 ; + owl:onProperty linkml:consider_nulls_inequal ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:maxCardinality 1 ; + owl:onProperty linkml:unique_key_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:unique_key_slots ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:minCardinality 1 ; + owl:onProperty linkml:unique_key_slots ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:meaning ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:consider_nulls_inequal ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "a collection of slots whose values uniquely identify an instance of a class" ; + skos:inScheme linkml:meta ; + sh:order 20 . + +linkml:UnitOfMeasure a owl:Class, + linkml:ClassDefinition ; + rdfs:label "UnitOfMeasure" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:ucum_code ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:maxCardinality 1 ; + owl:onProperty linkml:symbol ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], + owl:onProperty linkml:derivation ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:maxCardinality 1 ; + owl:onProperty linkml:abbreviation ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:ucum_code ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:onProperty linkml:has_quantity_kind ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty linkml:abbreviation ], + [ owl:unionOf ( [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:ucum_code ] [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:iec61360code ] [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:symbol ] [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:exact_mappings ] ) ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exact_mappings ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:has_quantity_kind ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:descriptive_name ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:iec61360code ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:derivation ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:text ; - owl:qualifiedCardinality 1 ], + owl:minCardinality 0 ; + owl:onProperty linkml:abbreviation ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:iec61360code ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:minCardinality 0 ; + owl:onProperty linkml:has_quantity_kind ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:symbol ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:minCardinality 0 ; + owl:onProperty linkml:descriptive_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:maxCardinality 1 ; + owl:onProperty linkml:derivation ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:onProperty linkml:descriptive_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:minCardinality 0 ; + owl:onProperty linkml:symbol ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible ; - skos:altLabel "PV" ; - skos:closeMatch skos:Concept ; - skos:definition "a permissible value, accompanied by intended text and an optional mapping to a concept URI" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . + owl:minCardinality 0 ; + owl:onProperty linkml:iec61360code ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:exact_mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:ucum_code ] ; + skos:definition "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension)." ; + skos:exactMatch qudt:Unit ; + skos:inScheme linkml:units . -linkml:PvFormulaOptions a owl:Class, - linkml:EnumDefinition ; - rdfs:label "pv_formula_options" ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - , - . +linkml:definition_uri a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "definition_uri" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso linkml:class_uri, + linkml:slot_uri ; + skos:definition "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + skos:inScheme linkml:meta ; + skos:note "Formed by combining the default_prefix with the normalized element name" . -linkml:mixin a owl:ObjectProperty, +linkml:exact_mappings a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "mixin" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Boolean ; - skos:altLabel "trait" ; - skos:definition "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." . + rdfs:label "exact mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf linkml:mappings ; + skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ; + skos:inScheme linkml:mappings . -linkml:PatternExpression a owl:Class, +linkml:Extension a owl:Class, linkml:ClassDefinition ; - rdfs:label "pattern_expression" ; + rdfs:label "extension" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:maxCardinality 1 ; + owl:onProperty linkml:extension_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:minCardinality 1 ; + owl:onProperty linkml:extension_tag ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:allValuesFrom linkml:AnyValue ; + owl:onProperty linkml:extension_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:extension_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onProperty linkml:extension_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], + owl:minCardinality 1 ; + owl:onProperty linkml:extension_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:extensions ] ; + skos:definition "a tag/value pair used to add non-model information to an entry" ; + skos:inScheme linkml:extensions . + +linkml:PatternExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "pattern_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:interpolated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:minCardinality 0 ; + owl:onProperty linkml:partial_match ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:partial_match ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:maxCardinality 1 ; + owl:onProperty linkml:interpolated ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:minCardinality 0 ; + owl:onProperty linkml:syntax ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; + owl:maxCardinality 1 ; owl:onProperty linkml:syntax ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:syntax ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:maxCardinality 1 ; + owl:onProperty linkml:partial_match ], [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:interpolated ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "a regular expression pattern used to evaluate conformance of a string" ; + skos:inScheme linkml:meta . + +linkml:PermissibleValue a owl:Class, + linkml:ClassDefinition ; + rdfs:label "permissible_value" ; + rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:minCardinality 0 ; + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:maxCardinality 1 ; + owl:onProperty linkml:meaning ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:minCardinality 0 ; + owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:text ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:minCardinality 0 ; + owl:onProperty linkml:meaning ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:minCardinality 1 ; + owl:onProperty linkml:text ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:maxCardinality 1 ; + owl:onProperty linkml:description ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:onProperty linkml:meaning ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:minCardinality 0 ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:interpolated ], + owl:allValuesFrom linkml:UnitOfMeasure ; + owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:text ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:mixins ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; - skos:definition "a regular expression pattern used to evaluate conformance of a string" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . - -linkml:ReachabilityQuery a owl:Class, - linkml:ClassDefinition ; - rdfs:label "reachability_query" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:relationship_types ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:traverse_up ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_direct ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:source_ontology ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:source_nodes ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:include_self ] ; - skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types." . + skos:altLabel "PV" ; + skos:closeMatch skos:Concept ; + skos:definition "a permissible value, accompanied by intended text and an optional mapping to a concept URI" ; + skos:inScheme linkml:meta ; + sh:order 16 . -linkml:UnitOfMeasure a owl:Class, +linkml:Setting a owl:Class, linkml:ClassDefinition ; - rdfs:label "UnitOfMeasure" ; + rdfs:label "setting" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty qudt:abbreviation ], + owl:maxCardinality 1 ; + owl:onProperty linkml:setting_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty qudt:symbol ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty qudt:hasQuantityKind ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty rdfs:label ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:setting_value ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:derivation ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:setting_key ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty qudt:iec61360Code ], + owl:maxCardinality 1 ; + owl:onProperty linkml:setting_key ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty qudt:ucumCode ], + owl:minCardinality 1 ; + owl:onProperty linkml:setting_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ] ; - skos:definition "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension)." ; - skos:exactMatch qudt:Unit . - -linkml:all_of a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "all_of" ; - rdfs:range linkml:Expression ; - rdfs:subPropertyOf linkml:boolean_slot ; - skos:definition "holds if all of the expressions hold" ; - skos:exactMatch sh:and . - -linkml:alt_descriptions a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "alt_descriptions" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:AltDescription ; - skos:altLabel "alternate definitions" ; - skos:definition "A sourced alternative description for an element" . - -linkml:any_of a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "any_of" ; - rdfs:range linkml:Expression ; - rdfs:subPropertyOf linkml:boolean_slot ; - skos:definition "holds if at least one of the expressions hold" ; - skos:exactMatch sh:or . + owl:minCardinality 1 ; + owl:onProperty linkml:setting_key ] ; + skos:definition "assignment of a key to a value" ; + skos:inScheme linkml:meta . -linkml:deprecated a owl:ObjectProperty, +linkml:alias a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "deprecated" ; - rdfs:domain linkml:Element ; + rdfs:label "alias" ; + rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:String ; - skos:closeMatch owl:deprecated ; - skos:definition "Description of why and when this element will no longer be used" . - -linkml:deprecated_element_has_exact_replacement a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "deprecated element has exact replacement" ; - rdfs:range linkml:Uriorcurie ; - skos:definition "When an element is deprecated, it can be automatically replaced by this uri or curie" ; - skos:exactMatch IAO:0100001 . + skos:definition "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; + skos:inScheme linkml:meta ; + skos:note "an example of alias is used within this metamodel, slot_definitions is aliases as slots", + "not to be confused with aliases, which indicates a set of terms to be used for search purposes." ; + sh:order 6 . -linkml:deprecated_element_has_possible_replacement a owl:ObjectProperty, +linkml:apply_to a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "deprecated element has possible replacement" ; - rdfs:range linkml:Uriorcurie ; - skos:definition "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - skos:exactMatch OIO:consider . + rdfs:label "apply_to" ; + bibo:status ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; + skos:inScheme linkml:meta . -linkml:exactly_one_of a owl:ObjectProperty, +linkml:children_are_mutually_disjoint a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "exactly_one_of" ; - rdfs:range linkml:Expression ; - rdfs:subPropertyOf linkml:boolean_slot ; - skos:definition "holds if only one of the expressions hold" ; - skos:exactMatch sh:xone . + rdfs:label "children_are_mutually_disjoint" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Boolean ; + skos:definition "If true then all direct is_a children are mutually disjoint and share no instances in common" ; + skos:inScheme linkml:meta . -linkml:examples a owl:ObjectProperty, +linkml:description a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "examples" ; + rdfs:label "description" ; rdfs:domain linkml:Element ; - rdfs:range linkml:Example ; - skos:closeMatch vann1:example ; - skos:definition "example usages of an element" . + skos:altLabel "definition" ; + skos:definition "a textual description of the element's purpose and use" ; + skos:exactMatch dcterms:description, + schema1:description ; + skos:inScheme linkml:meta ; + sh:order 5 . -linkml:imported_from a owl:ObjectProperty, +linkml:equals_number a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "imported_from" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:String ; - skos:definition "the imports entry that this element was derived from. Empty means primary source" . + rdfs:label "equals_number" ; + bibo:status ; + rdfs:range linkml:Integer ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the slot must have range of a number and the value of the slot must equal the specified value" ; + skos:inScheme linkml:meta . -linkml:list_value_specification_constant a owl:ObjectProperty, +linkml:equals_string a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "list_value_specification_constant" ; + rdfs:label "equals_string" ; rdfs:range linkml:String ; - skos:definition "Grouping for metamodel slots that constrain members of a multivalued slot value to equal a specified constant" . + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the slot must have range string and the value of the slot must equal the specified value" ; + skos:inScheme linkml:meta . -linkml:none_of a owl:ObjectProperty, +linkml:exact_cardinality a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "none_of" ; - rdfs:range linkml:Expression ; - rdfs:subPropertyOf linkml:boolean_slot ; - skos:definition "holds if none of the expressions hold" ; - skos:exactMatch sh:not . + rdfs:label "exact_cardinality" ; + rdfs:range linkml:Integer ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the exact number of entries for a multivalued slot" ; + skos:inScheme linkml:meta ; + skos:note "if exact_cardinality is set, then minimum_cardinalty and maximum_cardinality must be unset or have the same value" . -linkml:todos a owl:ObjectProperty, +linkml:implicit_prefix a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "todos" ; - rdfs:domain linkml:Element ; + rdfs:label "implicit_prefix" ; + bibo:status ; + rdfs:domain linkml:SlotExpression ; rdfs:range linkml:String ; - skos:definition "Outstanding issues that needs resolution" . - -oslc:modifiedBy a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "modified_by" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "agent that modified the element" ; - skos:exactMatch oslc:modifiedBy . - -dcterms:contributor a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "contributors" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "agent that contributed to the element" ; - skos:exactMatch dcterms:contributor . - -dcterms:source a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "source" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "derived from", - "origin" ; - skos:closeMatch schema1:isBasedOn, - prov:wasDerivedFrom ; - skos:definition "A related resource from which the element is derived." ; - skos:exactMatch dcterms:source . - -dcterms:subject a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "categories" ; - rdfs:range linkml:Uriorcurie ; - skos:definition "Controlled terms used to categorize an element." ; - skos:exactMatch dcterms:subject . + skos:definition "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + skos:inScheme linkml:meta . -dcterms:title a owl:ObjectProperty, +linkml:maximum_cardinality a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "title" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:String ; - skos:altLabel "long name" ; - skos:definition "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - skos:exactMatch dcterms:title . + rdfs:label "maximum_cardinality" ; + rdfs:range linkml:Integer ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the maximum number of entries for a multivalued slot" ; + skos:inScheme linkml:meta ; + skos:note "maximum_cardinality cannot be less than minimum_cardinality" . -bibo:status a owl:ObjectProperty, +linkml:maximum_value a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "status" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "workflow status" ; - skos:definition "status of the element" ; - skos:exactMatch bibo:status . + rdfs:label "maximum_value" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Anything ; + skos:altLabel "high value" ; + skos:definition "For ordinal ranges, the value must be equal to or lower than this" ; + skos:editorialNote "Range to be refined to an \"Ordinal\" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142" ; + skos:inScheme linkml:meta . -pav:createdBy a owl:ObjectProperty, +linkml:minimum_cardinality a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "created_by" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "agent that created the element" ; - skos:exactMatch pav:createdBy . + rdfs:label "minimum_cardinality" ; + rdfs:range linkml:Integer ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the minimum number of entries for a multivalued slot" ; + skos:inScheme linkml:meta ; + skos:note "minimum_cardinality cannot be greater than maximum_cardinality" . -pav:createdOn a owl:ObjectProperty, +linkml:minimum_value a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "created_on" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Datetime ; - skos:definition "time at which the element was created" ; - skos:exactMatch pav:createdOn . + rdfs:label "minimum_value" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Anything ; + skos:altLabel "low value" ; + skos:definition "For ordinal ranges, the value must be equal to or higher than this" ; + skos:editorialNote "Range to be refined to an \"Ordinal\" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142" ; + skos:inScheme linkml:meta . -pav:lastUpdatedOn a owl:ObjectProperty, +linkml:name a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "last_updated_on" ; + rdfs:label "name" ; rdfs:domain linkml:Element ; - rdfs:range linkml:Datetime ; - skos:definition "time at which the element was last updated" ; - skos:exactMatch pav:lastUpdatedOn . - -schema1:inLanguage a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "in_language" ; - rdfs:range linkml:String ; - skos:definition "the primary language used in the sources" ; - skos:exactMatch schema1:inLanguage . + rdfs:seeAlso , + ; + skos:altLabel "short name", + "unique name" ; + skos:definition "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + skos:exactMatch schema1:name ; + skos:inScheme linkml:meta ; + sh:order 1 . -schema1:keywords a owl:ObjectProperty, +linkml:pattern a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "keywords" ; - rdfs:domain linkml:Element ; + rdfs:label "pattern" ; + rdfs:domain linkml:Definition ; rdfs:range linkml:String ; - skos:definition "Keywords or tags used to describe the element" ; - skos:exactMatch schema1:keywords . - -OIO:inSubset a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "in_subset" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:SubsetDefinition ; - skos:definition "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - skos:exactMatch OIO:inSubset . - -rdfs:seeAlso a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "see_also" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "A list of related entities or URLs that may be of relevance" ; - skos:exactMatch rdfs:seeAlso . + skos:definition "the string value of the slot must conform to this regular expression expressed in the string" ; + skos:inScheme linkml:meta ; + sh:order 35 . -skos:broadMatch a owl:ObjectProperty, +linkml:range_expression a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "broad mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ; - skos:exactMatch skos:broadMatch . + rdfs:label "range_expression" ; + bibo:status ; + rdfs:domain linkml:SlotExpression ; + rdfs:range linkml:AnonymousClassExpression ; + skos:definition "A range that is described as a boolean expression combining existing ranges" ; + skos:inScheme linkml:meta ; + skos:note "one use for this is being able to describe a range using any_of expressions, for example to combine two enums" . -skos:closeMatch a owl:ObjectProperty, +linkml:rank a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "close mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have close meaning." ; - skos:exactMatch skos:closeMatch . + rdfs:label "rank" ; + rdfs:range linkml:Integer ; + skos:altLabel "display order", + "order", + "precedence" ; + skos:definition "the relative order in which the element occurs, lower values are given precedence" ; + skos:exactMatch qb:order, + qudt:order ; + skos:inScheme linkml:meta ; + skos:note "the rank of an element does not affect the semantics" ; + sh:order 51 . -skos:definition a owl:ObjectProperty, +linkml:relational_logical_characteristic a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "description" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:String ; - skos:altLabel "definition" ; - skos:definition "a textual description of the element's purpose and use" ; - skos:exactMatch dcterms:description, - schema1:description, - skos:definition . + rdfs:label "relational_logical_characteristic" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + skos:definition "An abstract grouping for metaslots that describe logical properties of a slot" ; + skos:inScheme linkml:meta . -skos:editorialNote a owl:ObjectProperty, +linkml:slot_names_unique a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "notes" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:String ; - skos:definition "editorial notes about an element intended primarily for internal consumption" ; - skos:exactMatch skos:editorialNote . + rdfs:label "slot_names_unique" ; + bibo:status ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Boolean ; + skos:definition "if true then induced/mangled slot names are not created for class_usage and attributes" ; + skos:inScheme linkml:meta . -skos:inScheme a owl:ObjectProperty, +linkml:source_ontology a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "from_schema" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uri ; - skos:definition "id of the schema that defined the element" ; - skos:exactMatch skos:inScheme . + rdfs:label "source_ontology" ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "terminology", + "vocabulary" ; + skos:definition "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values" ; + skos:inScheme linkml:meta ; + skos:note "examples include schema.org, wikidata, or an OBO ontology", + "for obo ontologies we recommend CURIEs of the form obo:cl, obo:envo, etc" . -skos:narrowMatch a owl:ObjectProperty, +linkml:structured_pattern a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "narrow mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have narrower meaning." ; - skos:exactMatch skos:narrowMatch . + rdfs:label "structured_pattern" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:PatternExpression ; + rdfs:seeAlso ; + skos:definition "the string value of the slot must conform to the regular expression in the pattern expression" ; + skos:inScheme linkml:meta . -skos:note a owl:ObjectProperty, +linkml:union_of a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "comments" ; + rdfs:label "union_of" ; rdfs:domain linkml:Element ; - rdfs:range linkml:String ; - skos:definition "notes and comments about an element intended primarily for external consumption" ; - skos:exactMatch rdfs:comment, - skos:note . + rdfs:range linkml:Element ; + skos:definition "indicates that the domain element consists exactly of the members of the element in the range." ; + skos:editorialNote "this only applies in the OWL generation" ; + skos:inScheme linkml:meta . + +linkml:ArrayExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "array_expression" ; + bibo:status ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exact_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exact_number_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:DimensionExpression ; + owl:onProperty linkml:dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:has_extra_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:has_extra_dimensions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:has_extra_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:exact_number_dimensions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom [ owl:intersectionOf ( [ a rdfs:Datatype ; + owl:unionOf ( linkml:Integer linkml:Boolean ) ] linkml:Anything ) ] ; + owl:onProperty linkml:maximum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:dimensions ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "defines the dimensions of an array" ; + skos:inScheme linkml:meta . + +linkml:PathExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "path_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:followed_by ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:followed_by ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:reversed ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:followed_by ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:reversed ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:traverse ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:reversed ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:traverse ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:traverse ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:none_of ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Expression, + linkml:Extensible ; + skos:definition "An expression that describes an abstract path from an object to another through a sequence of slot lookups" ; + skos:inScheme linkml:meta . + +linkml:ReachabilityQuery a owl:Class, + linkml:ClassDefinition ; + rdfs:label "reachability_query" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_nodes ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:traverse_up ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:relationship_types ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:source_nodes ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_direct ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:traverse_up ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:relationship_types ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:include_self ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:include_self ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:include_self ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:is_direct ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:is_direct ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:traverse_up ] ; + skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types." ; + skos:inScheme linkml:meta . -skosxl:altLabel a owl:ObjectProperty, +linkml:annotations a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "structured_aliases" ; - rdfs:range linkml:StructuredAlias ; - skos:definition "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - skos:exactMatch skosxl:altLabel . + rdfs:label "annotations" ; + rdfs:domain linkml:Annotatable ; + rdfs:range linkml:Annotation ; + rdfs:subPropertyOf linkml:extensions ; + skos:definition "a collection of tag/text tuples with the semantics of OWL Annotation" ; + skos:inScheme linkml:annotations . + +linkml:AnonymousSlotExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_slot_expression" ; + rdfs:subClassOf linkml:AnonymousExpression, + linkml:SlotExpression ; + skos:inScheme linkml:meta . + +linkml:PresenceEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + , + . -sh:order a owl:ObjectProperty, +linkml:mixins a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "rank" ; - rdfs:range linkml:Integer ; - skos:altLabel "display order", - "order", - "precedence" ; - skos:definition "the relative order in which the element occurs, lower values are given precedence" ; - skos:exactMatch qb:order, - qudt:order, - sh:order . + rdfs:label "mixins" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + rdfs:seeAlso ; + skos:altLabel "traits" ; + skos:definition "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; + skos:inScheme linkml:meta ; + skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierarchy, while keeping the benefits of multiple inheritance" ; + sh:order 13 . linkml:EnumDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "enum_definition" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ReachabilityQuery ; - owl:onProperty linkml:reachable_from ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:code_set ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:enum_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:MatchQuery ; - owl:onProperty linkml:matches ], + owl:minCardinality 0 ; + owl:onProperty linkml:enum_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; + owl:maxCardinality 1 ; owl:onProperty linkml:enum_uri ], + linkml:Definition, + linkml:EnumExpression ; + skos:altLabel "Terminology Value Set", + "answer list", + "code set", + "concept set", + "enum", + "enumeration", + "semantic enumeration", + "term set", + "value domain", + "value set" ; + skos:closeMatch skos:ConceptScheme ; + skos:definition "an element whose instances must be drawn from a specified set of permissible values" ; + skos:exactMatch NCIT:C113497, + qb:HierarchicalCodeList, + cdisc:ValueDomain ; + skos:inScheme linkml:meta ; + sh:order 5 . + +linkml:unit a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "unit" ; + rdfs:range linkml:UnitOfMeasure ; + skos:definition "an encoding of a unit" ; + skos:inScheme linkml:units . + +linkml:AliasPredicateEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; + linkml:permissible_values skos:broaderMatch, + skos:exactMatch, + skos:narrowerMatch, + skos:relatedMatch . + +linkml:Anything a owl:Class, + linkml:ClassDefinition ; + rdfs:label "Anything" ; + skos:exactMatch linkml:Any ; + skos:inScheme linkml:meta . + +linkml:CommonMetadata a owl:Class, + linkml:ClassDefinition ; + rdfs:label "common_metadata" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:permissible_values ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:created_by ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:include ], + owl:maxCardinality 1 ; + owl:onProperty linkml:in_language ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:source ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:title ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:from_schema ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:deprecated ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:categories ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:status ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:aliases ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:see_also ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:contributors ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:narrow_mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:inherits ], + owl:minCardinality 0 ; + owl:onProperty linkml:related_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_tag ], + owl:maxCardinality 1 ; + owl:onProperty linkml:status ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PvFormulaOptions ; - owl:onProperty linkml:pv_formula ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:see_also ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:minus ], + owl:maxCardinality 1 ; + owl:onProperty linkml:created_on ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_version ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:modified_by ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:concepts ], - linkml:Definition, - linkml:EnumExpression ; - skos:altLabel "Terminology Value Set", - "answer list", - "concept set", - "enum", - "term set", - "value domain", - "value set" ; - skos:closeMatch skos:ConceptScheme ; - skos:definition "an element whose instances must be drawn from a specified set of permissible values" ; - skos:exactMatch NCIT:C113497, - qb:HierarchicalCodeList, - cdisc:ValueDomain ; - linkml:is_a linkml:Definition ; - linkml:mixins linkml:EnumExpression . - -linkml:TypeDefinition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "type_definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:onProperty linkml:broad_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:uri ], + owl:minCardinality 0 ; + owl:onProperty linkml:in_language ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:keywords ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:title ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:repr ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:categories ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:minCardinality 0 ; + owl:onProperty linkml:broad_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:base ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:exact_mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:onProperty linkml:in_language ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:maxCardinality 1 ; + owl:onProperty linkml:modified_by ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:minCardinality 0 ; + owl:onProperty linkml:in_subset ], [ a owl:Restriction ; - owl:allValuesFrom linkml:TypeDefinition ; - owl:onProperty linkml:union_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:contributors ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:comments ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], + owl:minCardinality 0 ; + owl:onProperty linkml:notes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:TypeDefinition ; - owl:onProperty linkml:typeof ], + owl:maxCardinality 1 ; + owl:onProperty linkml:from_schema ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], - linkml:Element, - linkml:TypeExpression ; - skos:definition "an element that whose instances are atomic scalar values that can be mapped to primitive types" ; - linkml:is_a linkml:Element ; - linkml:mixins linkml:TypeExpression . - -linkml:annotations a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "annotations" ; - rdfs:domain linkml:Annotatable ; - rdfs:range linkml:Annotation ; - rdfs:subPropertyOf linkml:extensions ; - skos:definition "a collection of tag/text tuples with the semantics of OWL Annotation" . - -skos:altLabel a owl:ObjectProperty, - linkml:SlotDefinition . - -linkml:AltDescription a owl:Class, - linkml:ClassDefinition ; - rdfs:label "alt_description" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:source ; - owl:qualifiedCardinality 1 ], + owl:maxCardinality 1 ; + owl:onProperty linkml:rank ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:description ; - owl:qualifiedCardinality 1 ] ; - skos:altLabel "structured description" ; - skos:definition "an attributed description" . - -linkml:Annotation a owl:Class, - linkml:ClassDefinition ; - rdfs:label "annotation" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - linkml:Annotatable, - linkml:Extension ; - skos:definition "a tag/value pair with the semantics of OWL Annotation" ; - linkml:is_a linkml:Extension ; - linkml:mixins linkml:Annotatable . - -linkml:AnonymousTypeExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "anonymous_type_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty linkml:in_subset ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:last_updated_on ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty linkml:last_updated_on ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty linkml:created_on ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:minCardinality 0 ; + owl:onProperty linkml:last_updated_on ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:related_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty linkml:structured_aliases ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:exact_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:close_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:maxCardinality 1 ; + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], - linkml:TypeExpression ; - skos:definition "A type expression that is not a top-level named type definition. Used for nesting." ; - linkml:mixins linkml:TypeExpression . - -linkml:extensions a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "extensions" ; - rdfs:domain linkml:Extensible ; - rdfs:range linkml:Extension ; - skos:definition "a tag/text tuple attached to an arbitrary element" . - -skos:relatedMatch a owl:Class, - owl:ObjectProperty, - linkml:AliasPredicateEnum, - linkml:SlotDefinition ; - rdfs:label "RELATED_SYNONYM", - "related mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have related meaning." ; - skos:exactMatch skos:relatedMatch . - -linkml:StructuredAlias a owl:Class, - linkml:ClassDefinition ; - rdfs:label "structured_alias" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:comments ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], + owl:maxCardinality 1 ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:minCardinality 0 ; + owl:onProperty linkml:mappings ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onProperty linkml:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], + owl:maxCardinality 1 ; + owl:onProperty linkml:created_by ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:minCardinality 0 ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:rank ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AliasPredicateEnum ; - owl:onProperty rdf:predicate ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:notes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:minCardinality 0 ; + owl:onProperty linkml:structured_aliases ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:narrow_mappings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:minCardinality 0 ; + owl:onProperty linkml:created_on ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:minCardinality 0 ; + owl:onProperty linkml:modified_by ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:aliases ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:onProperty linkml:status ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:minCardinality 0 ; + owl:onProperty linkml:rank ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty skosxl:literalForm ; - owl:qualifiedCardinality 1 ], + owl:minCardinality 0 ; + owl:onProperty linkml:keywords ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:minCardinality 0 ; + owl:onProperty linkml:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:minCardinality 0 ; + owl:onProperty linkml:from_schema ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:minCardinality 0 ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:onProperty linkml:close_mappings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:minCardinality 0 ; + owl:onProperty linkml:created_by ] ; + skos:definition "Generic metadata shared across definitions" ; + skos:inScheme linkml:meta . + +linkml:TypeDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "type_definition" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:maxCardinality 1 ; + owl:onProperty linkml:repr ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:minCardinality 0 ; + owl:onProperty linkml:repr ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:base ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:onProperty linkml:repr ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:minCardinality 0 ; + owl:onProperty linkml:base ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:type_uri ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:typeof ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:base ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible ; - skos:definition "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)" ; - skos:exactMatch skosxl:Label ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Expression, - linkml:Extensible . + owl:onProperty linkml:type_uri ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:typeof ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:type_uri ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:typeof ], + linkml:Element, + linkml:TypeExpression ; + skos:definition "an element that whose instances are atomic scalar values that can be mapped to primitive types" ; + skos:inScheme linkml:meta ; + sh:order 4 . -linkml:SubsetDefinition a owl:Class, +linkml:extensions a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "extensions" ; + rdfs:domain linkml:Extensible ; + rdfs:range linkml:Extension ; + skos:definition "a tag/text tuple attached to an arbitrary element" ; + skos:inScheme linkml:extensions . + +linkml:list_value_specification_constant a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "list_value_specification_constant" ; + bibo:status ; + skos:definition "Grouping for metamodel slots that constrain members of a multivalued slot value to equal a specified constant" ; + skos:inScheme linkml:meta . + +linkml:Expression a owl:Class, linkml:ClassDefinition ; - rdfs:label "subset_definition" ; - rdfs:subClassOf linkml:Element ; - skos:definition "an element that can be used to group other metamodel elements" ; - linkml:is_a linkml:Element . + rdfs:label "expression" ; + skos:definition "general mixin for any class that can represent some form of expression" ; + skos:inScheme linkml:meta . + +linkml:Extensible a owl:Class, + linkml:ClassDefinition ; + rdfs:label "extensible" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:extensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ] ; + skos:definition "mixin for classes that support extension" ; + skos:inScheme linkml:extensions . + +linkml:PvFormulaOptions a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + , + , + , + . + +linkml:RelationalRoleEnum a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( rdf:subject rdf:object rdf:predicate ) ; + linkml:permissible_values rdf:object, + rdf:predicate, + rdf:subject, + , + . + +linkml:all_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "all_of" ; + rdfs:range linkml:Expression ; + rdfs:seeAlso ; + rdfs:subPropertyOf linkml:boolean_slot ; + skos:definition "holds if all of the expressions hold" ; + skos:exactMatch sh:and ; + skos:inScheme linkml:meta ; + sh:order 107 . + +linkml:any_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "any_of" ; + rdfs:range linkml:Expression ; + rdfs:seeAlso ; + rdfs:subPropertyOf linkml:boolean_slot ; + skos:definition "holds if at least one of the expressions hold" ; + skos:exactMatch sh:or ; + skos:inScheme linkml:meta ; + sh:order 101 . -skos:exactMatch a owl:Class, - owl:ObjectProperty, - linkml:AliasPredicateEnum, +linkml:exactly_one_of a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "EXACT_SYNONYM", - "exact mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ; - skos:exactMatch skos:exactMatch . + rdfs:label "exactly_one_of" ; + rdfs:range linkml:Expression ; + rdfs:seeAlso ; + rdfs:subPropertyOf linkml:boolean_slot ; + skos:definition "holds if only one of the expressions hold" ; + skos:exactMatch sh:xone ; + skos:inScheme linkml:meta ; + sh:order 103 . -linkml:Example a owl:Class, +linkml:none_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "none_of" ; + rdfs:range linkml:Expression ; + rdfs:seeAlso ; + rdfs:subPropertyOf linkml:boolean_slot ; + skos:definition "holds if none of the expressions hold" ; + skos:exactMatch sh:not ; + skos:inScheme linkml:meta ; + sh:order 105 . + +linkml:Annotatable a owl:Class, linkml:ClassDefinition ; - rdfs:label "example" ; + rdfs:label "annotatable" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:example ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:description ], + owl:minCardinality 0 ; + owl:onProperty linkml:annotations ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Anything ; - owl:onProperty linkml:object ] ; - skos:definition "usage example and description" . - -skos:mappingRelation a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "mappings" ; - rdfs:range linkml:Uriorcurie ; - skos:altLabel "alternate identifiers", - "alternate ids", - "identifiers", - "xrefs" ; - skos:definition "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - skos:exactMatch skos:mappingRelation . + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ] ; + skos:definition "mixin for classes that support annotations" ; + skos:inScheme linkml:annotations . -linkml:Extension a owl:Class, +linkml:AnonymousClassExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "extension" ; + rdfs:label "anonymous_class_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:tag ; - owl:qualifiedCardinality 1 ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:onClass linkml:AnyValue ; - owl:onProperty linkml:value ; - owl:qualifiedCardinality 1 ] ; - skos:definition "a tag/value pair used to add non-model information to an entry" . + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:is_a ], + linkml:AnonymousExpression, + linkml:ClassExpression ; + skos:inScheme linkml:meta . -linkml:CommonMetadata a owl:Class, +linkml:EnumExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "common_metadata" ; + rdfs:label "enum_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:allValuesFrom linkml:MatchQuery ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:maxCardinality 1 ; + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:minCardinality 0 ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:inherits ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:permissible_values ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:maxCardinality 1 ; + owl:onProperty linkml:code_set ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:minCardinality 0 ; + owl:onProperty linkml:code_set ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:maxCardinality 1 ; + owl:onProperty linkml:code_set_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:maxCardinality 1 ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:minCardinality 0 ; + owl:onProperty linkml:permissible_values ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:minCardinality 0 ; + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:maxCardinality 1 ; + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:minCardinality 0 ; + owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:onProperty linkml:code_set_version ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onProperty linkml:code_set ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], + owl:minCardinality 0 ; + owl:onProperty linkml:include ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:ReachabilityQuery ; + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:allValuesFrom linkml:PvFormulaOptions ; + owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:minCardinality 0 ; + owl:onProperty linkml:concepts ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:include ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:minus ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:minCardinality 0 ; + owl:onProperty linkml:inherits ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:maxCardinality 1 ; + owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:minCardinality 0 ; + owl:onProperty linkml:minus ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:concepts ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - linkml:mixin ; - skos:definition "Generic metadata shared across definitions" . + owl:minCardinality 0 ; + owl:onProperty linkml:code_set_version ], + linkml:Expression ; + skos:definition "An expression that constrains the range of a slot" ; + skos:inScheme linkml:meta . -linkml:EnumExpression a owl:Class, +linkml:is_a a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "is_a" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + skos:definition "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; + skos:inScheme linkml:meta ; + sh:order 11 . + +linkml:mappings a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "mappings" ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "alternate identifiers", + "alternate ids", + "identifiers", + "xrefs" ; + skos:definition "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + skos:inScheme linkml:mappings . + +linkml:SchemaDefinition a owl:Class, linkml:ClassDefinition ; - rdfs:label "enum_expression" ; + rdfs:label "schema_definition" ; + rdfs:seeAlso ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:MatchQuery ; - owl:onProperty linkml:matches ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty linkml:generation_date ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_version ], + owl:minCardinality 0 ; + owl:onProperty linkml:generation_date ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:code_set_tag ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty linkml:subsets ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ReachabilityQuery ; - owl:onProperty linkml:reachable_from ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:code_set ], + owl:minCardinality 0 ; + owl:onProperty linkml:imports ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:concepts ], + owl:maxCardinality 1 ; + owl:onProperty linkml:default_prefix ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:include ], + owl:minCardinality 0 ; + owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:inherits ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:minus ], + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:id ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:permissible_values ], + owl:minCardinality 0 ; + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PvFormulaOptions ; - owl:onProperty linkml:pv_formula ], - linkml:Expression ; - skos:definition "An expression that constrains the range of a slot" ; - linkml:is_a linkml:Expression . - -linkml:Expression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "expression" ; - rdfs:subClassOf linkml:mixin ; - skos:definition "general mixin for any class that can represent some form of expression" . - -linkml:AnonymousSlotExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "anonymous_slot_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_definitions ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], + owl:maxCardinality 1 ; + owl:onProperty linkml:source_file_size ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:EnumExpression ; - owl:onProperty linkml:enum_range ], + owl:minCardinality 0 ; + owl:onProperty linkml:classes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:maxCardinality 1 ; + owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:maxCardinality 1 ; + owl:onProperty linkml:license ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:emit_prefixes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:imports ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:enums ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined ], + owl:maxCardinality 1 ; + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_cardinality ], + owl:maxCardinality 1 ; + owl:onProperty linkml:id ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:source_file ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:onProperty linkml:version ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:required ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:source_file_size ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:default_range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:maxCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:prefixes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:allValuesFrom linkml:Setting ; + owl:onProperty linkml:settings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PresenceEnum ; - owl:onProperty linkml:value_presence ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:default_range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:minCardinality 0 ; + owl:onProperty linkml:emit_prefixes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_members ], + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:types ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:minCardinality 0 ; + owl:onProperty linkml:settings ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:minCardinality 0 ; + owl:onProperty linkml:types ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], - linkml:AnonymousExpression, - linkml:SlotExpression ; - linkml:is_a linkml:AnonymousExpression ; - linkml:mixins linkml:SlotExpression . - -linkml:Extensible a owl:Class, - linkml:ClassDefinition ; - rdfs:label "extensible" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - linkml:mixin ; - skos:definition "mixin for classes that support extension" . - -linkml:SchemaDefinition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "schema_definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:imports ], + owl:minCardinality 0 ; + owl:onProperty linkml:version ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:TypeDefinition ; - owl:onProperty linkml:default_range ], + owl:minCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty rdfs:label ; - owl:qualifiedCardinality 1 ], + owl:maxCardinality 1 ; + owl:onProperty linkml:source_file ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Prefix ; - owl:onProperty sh:declare ], + owl:minCardinality 0 ; + owl:onProperty linkml:license ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; + owl:minCardinality 0 ; owl:onProperty linkml:source_file_size ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:default_curi_maps ], [ a owl:Restriction ; owl:allValuesFrom linkml:EnumDefinition ; owl:onProperty linkml:enums ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:license ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slots ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty pav:version ], [ a owl:Restriction ; owl:allValuesFrom linkml:ClassDefinition ; owl:onProperty linkml:classes ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; + owl:minCardinality 0 ; owl:onProperty linkml:default_prefix ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Setting ; - owl:onProperty linkml:settings ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:default_curi_maps ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:default_curi_maps ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:source_file ], [ a owl:Restriction ; - owl:onClass linkml:Uri ; - owl:onProperty linkml:id ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:default_prefix ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty linkml:source_file_date ], + owl:minCardinality 1 ; + owl:onProperty linkml:id ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; + owl:maxCardinality 1 ; owl:onProperty linkml:generation_date ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:metamodel_version ], + owl:maxCardinality 1 ; + owl:onProperty linkml:default_range ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:slot_names_unique ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:license ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; + owl:minCardinality 0 ; owl:onProperty linkml:subsets ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:source_file ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_definitions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:TypeDefinition ; - owl:onProperty linkml:types ], + owl:maxCardinality 1 ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:emit_prefixes ], + owl:maxCardinality 1 ; + owl:onProperty linkml:version ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Prefix ; + owl:onProperty linkml:prefixes ], linkml:Element ; skos:altLabel "data dictionary", "data model", @@ -3943,581 +4170,674 @@ linkml:SchemaDefinition a owl:Class, skos:closeMatch qb:ComponentSet, owl:Ontology ; skos:definition "A collection of definitions that make up a schema or a data model." ; - linkml:is_a linkml:Element . - -linkml:Annotatable a owl:Class, - linkml:ClassDefinition ; - rdfs:label "annotatable" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - linkml:mixin ; - skos:definition "mixin for classes that support annotations" . + skos:inScheme linkml:meta ; + sh:order 1 . -linkml:AnonymousClassExpression a owl:Class, +linkml:Definition a owl:Class, linkml:ClassDefinition ; - rdfs:label "anonymous_class_expression" ; + rdfs:label "definition" ; + rdfs:seeAlso ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:any_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:mixin ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:string_serialization ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; + owl:allValuesFrom linkml:Definition ; owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], - linkml:AnonymousExpression, - linkml:ClassExpression ; - linkml:is_a linkml:AnonymousExpression ; - linkml:mixins linkml:ClassExpression . - -linkml:Definition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty linkml:mixin ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:minCardinality 0 ; + owl:onProperty linkml:string_serialization ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty linkml:abstract ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:string_serialization ], [ a owl:Restriction ; owl:allValuesFrom linkml:Definition ; owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 0 ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:mixin ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:abstract ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty linkml:values_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty linkml:apply_to ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; - owl:onProperty linkml:is_a ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:values_from ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:string_serialization ], + owl:minCardinality 0 ; + owl:onProperty linkml:abstract ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:apply_to ], linkml:Element ; skos:definition "abstract base class for core metaclasses" ; - linkml:is_a linkml:Element . + skos:inScheme linkml:meta . linkml:Element a owl:Class, linkml:ClassDefinition ; rdfs:label "element" ; + rdfs:seeAlso ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:implements ], + owl:minCardinality 0 ; + owl:onProperty linkml:id_prefixes ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:conforms_to ], [ a owl:Restriction ; owl:allValuesFrom linkml:LocalName ; owl:onProperty linkml:local_names ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; + owl:minCardinality 1 ; + owl:onProperty linkml:name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty linkml:instantiates ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:onProperty linkml:conforms_to ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:local_names ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty linkml:instantiates ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:onProperty linkml:implements ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:id_prefixes_are_closed ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:minCardinality 0 ; + owl:onProperty linkml:id_prefixes_are_closed ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:onProperty linkml:definition_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:maxCardinality 1 ; + owl:onProperty linkml:conforms_to ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:definition_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:id_prefixes ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:implements ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:definition_uri ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:id_prefixes_are_closed ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onProperty linkml:name ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:altLabel "data element", + "object" ; + skos:definition "A named element in the model" ; + skos:inScheme linkml:meta . + +linkml:ClassDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "class_definition" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:minCardinality 0 ; + owl:onProperty linkml:tree_root ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_usage ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:class_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassRule ; + owl:onProperty linkml:rules ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UniqueKey ; + owl:onProperty linkml:unique_keys ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:attributes ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:attributes ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:disjoint_with ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:classification_rules ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:children_are_mutually_disjoint ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:classification_rules ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:rules ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:represents_relationship ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:slots ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty linkml:class_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:represents_relationship ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:tree_root ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:tree_root ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:conformsTo ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_usage ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slots ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:slot_names_unique ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:defining_slots ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:subclass_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:represents_relationship ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:unique_keys ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:subclass_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:defining_slots ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:union_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:minCardinality 0 ; + owl:onProperty linkml:class_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:disjoint_with ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:onProperty linkml:subclass_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:union_of ], + linkml:ClassExpression, + linkml:Definition ; + skos:altLabel "message", + "observation", + "record", + "table", + "template" ; + skos:closeMatch owl:Class ; + skos:definition "an element whose instances are complex objects that may have slot-value assignments" ; + skos:inScheme linkml:meta ; + sh:order 2 . + +linkml:meta a owl:Ontology ; + rdfs:label "meta" ; + dcterms:license "https://creativecommons.org/publicdomain/zero/1.0/" ; + dcterms:title "LinkML Schema Metamodel" ; + skos:definition """The metamodel for schemas defined using the Linked Data Modeling Language framework. + +For more information on LinkML: + +* [linkml.io](https://linkml.io) main website +* [specification](https://w3id.org/linkml/docs/specification/) + +LinkML is self-describing. Every LinkML schema consists of elements +that instantiate classes in this metamodel. + +Core metaclasses: + +* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition) +* [ClassDefinition](https://w3id.org/linkml/ClassDefinition) +* [SlotDefinition](https://w3id.org/linkml/SlotDefinition) +* [TypeDefinition](https://w3id.org/linkml/TypeDefinition) + +There are many subsets of *profiles* of the metamodel, for different purposes: + +* [MinimalSubset](https://w3id.org/linkml/MinimalSubset) +* [BasicSubset](https://w3id.org/linkml/BasicSubset) + +For canonical reference documentation on any metamodel construct, +refer to the official URI for each construct, e.g. +[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)""" . + +linkml:SlotDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "slot_definition" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:multivalued ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:relational_role ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:role ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:ifabsent ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:usage_slot_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:domain_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:list_elements_unique ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:usage_slot_name ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:transitive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:minCardinality 0 ; + owl:onProperty linkml:role ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:minCardinality 0 ; + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:minCardinality 0 ; + owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:contributor ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:maxCardinality 1 ; + owl:onProperty linkml:shared ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:definition_uri ], + owl:maxCardinality 1 ; + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty rdfs:label ; - owl:qualifiedCardinality 1 ], + owl:minCardinality 0 ; + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:maxCardinality 1 ; + owl:onProperty linkml:asymmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:minCardinality 0 ; + owl:onProperty linkml:inverse ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:identifier ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh:order ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_class_field ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:id_prefixes ], + owl:minCardinality 0 ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible ; - skos:altLabel "data element", - "object" ; - skos:definition "A named element in the model" ; - linkml:mixins linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible . - -linkml:ClassDefinition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "class_definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:subclass_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:class_uri ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:slot_names_unique ], + owl:maxCardinality 1 ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ClassDefinition ; - owl:onProperty linkml:is_a ], + owl:maxCardinality 1 ; + owl:onProperty linkml:readonly ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:union_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:alias ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:tree_root ], + owl:minCardinality 0 ; + owl:onProperty linkml:transitive ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:defining_slots ], + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_usage ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:list_elements_unique ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:key ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:readonly ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], + owl:minCardinality 0 ; + owl:onProperty linkml:array ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slots ], + owl:onProperty linkml:slot_group ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:apply_to ], + owl:maxCardinality 1 ; + owl:onProperty linkml:path_rule ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:key ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_group ], [ a owl:Restriction ; - owl:allValuesFrom linkml:UniqueKey ; - owl:onProperty linkml:unique_keys ], + owl:maxCardinality 1 ; + owl:onProperty linkml:ifabsent ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:classification_rules ], + owl:maxCardinality 1 ; + owl:onProperty linkml:role ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:any_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_class_field ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:attributes ], + owl:maxCardinality 1 ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassRule ; - owl:onProperty sh:rule ], + owl:minCardinality 0 ; + owl:onProperty linkml:shared ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:represents_relationship ], - linkml:ClassExpression, - linkml:Definition ; - skos:altLabel "message", - "observation", - "record", - "table", - "template" ; - skos:closeMatch owl:Class ; - skos:definition "an element whose instances are complex objects that may have slot-value assignments" ; - linkml:is_a linkml:Definition ; - linkml:mixins linkml:ClassExpression . - -linkml:SlotDefinition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "slot_definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:maxCardinality 1 ; + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:UnitOfMeasure ; - owl:onProperty qudt:unit ], + owl:minCardinality 0 ; + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:minCardinality 0 ; + owl:onProperty linkml:asymmetric ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_class_field ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PresenceEnum ; - owl:onProperty linkml:value_presence ], + owl:maxCardinality 1 ; + owl:onProperty linkml:usage_slot_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:RelationalRoleEnum ; - owl:onProperty linkml:relational_role ], + owl:minCardinality 0 ; + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty sh:group ], + owl:maxCardinality 1 ; + owl:onProperty linkml:key ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:reflexive ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:singular_name ], + owl:minCardinality 0 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:slot_group ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:minCardinality 0 ; + owl:onProperty linkml:domain_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:is_a ], + owl:minCardinality 0 ; + owl:onProperty linkml:path_rule ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:multivalued ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:shared ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:minCardinality 0 ; + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:shared ], + owl:maxCardinality 1 ; + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:alias ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:key ], + owl:maxCardinality 1 ; + owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:transitive ], + owl:allValuesFrom linkml:RelationalRoleEnum ; + owl:onProperty linkml:relational_role ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:asymmetric ], + owl:maxCardinality 1 ; + owl:onProperty linkml:transitive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:list_elements_ordered ], + owl:maxCardinality 1 ; + owl:onProperty linkml:owner ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; + owl:minCardinality 0 ; owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:minCardinality 0 ; + owl:onProperty linkml:relational_role ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; - owl:onProperty linkml:owner ], + owl:minCardinality 0 ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:readonly ], + owl:maxCardinality 1 ; + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:required ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:asymmetric ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:irreflexive ], + owl:minCardinality 0 ; + owl:onProperty linkml:owner ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:multivalued ], + owl:minCardinality 0 ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty owl:inverseOf ], + owl:minCardinality 0 ; + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; + owl:maxCardinality 1 ; owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_cardinality ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:minCardinality 0 ; + owl:onProperty linkml:list_elements_unique ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:ifabsent ], + owl:maxCardinality 1 ; + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:maxCardinality 1 ; + owl:onProperty linkml:identifier ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_grouping_slot ], + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:owner ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:minCardinality 0 ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty linkml:inherited ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:role ], + owl:maxCardinality 1 ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_members ], + owl:minCardinality 0 ; + owl:onProperty linkml:readonly ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty linkml:identifier ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:prefLabel ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_class_field ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:EnumExpression ; - owl:onProperty linkml:enum_range ], + owl:maxCardinality 1 ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:domain_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:array ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:apply_to ], + owl:maxCardinality 1 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:locally_reflexive ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PathExpression ; - owl:onProperty linkml:path_rule ], + owl:minCardinality 0 ; + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_usage_slot ], + owl:maxCardinality 1 ; + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:symmetric ], + owl:allValuesFrom linkml:ArrayExpression ; + owl:onProperty linkml:array ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:list_elements_unique ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:inverse ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty rdfs:subPropertyOf ], + owl:minCardinality 0 ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:union_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:multivalued ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:path_rule ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ClassDefinition ; - owl:onProperty linkml:domain ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:transitive_form_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:alias ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:designates_type ], + owl:maxCardinality 1 ; + owl:onProperty linkml:inverse ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:usage_slot_name ], + owl:minCardinality 0 ; + owl:onProperty linkml:ifabsent ], linkml:Definition, linkml:SlotExpression ; skos:altLabel "attribute", @@ -4529,7 +4849,6 @@ linkml:SlotDefinition a owl:Class, skos:closeMatch qb:ComponentProperty, rdf:Property ; skos:definition "an element that describes how instances are related to other instances" ; - linkml:is_a linkml:Definition ; - linkml:mixins linkml:SlotExpression . - + skos:inScheme linkml:meta ; + sh:order 3 . diff --git a/linkml_runtime/linkml_model/prefixmap/meta.yaml b/linkml_runtime/linkml_model/prefixmap/meta.yaml index 6d00d5ef..fab7ffee 100644 --- a/linkml_runtime/linkml_model/prefixmap/meta.yaml +++ b/linkml_runtime/linkml_model/prefixmap/meta.yaml @@ -2,6 +2,7 @@ "IAO": "http://purl.obolibrary.org/obo/IAO_", "NCIT": "http://ncicb.nci.nih.gov/xml/owl/EVS/Thesaurus.owl#", "OIO": "http://www.geneontology.org/formats/oboInOwl#", + "SIO": "http://semanticscience.org/resource/SIO_", "bibo": "http://purl.org/ontology/bibo/", "cdisc": "http://rdf.cdisc.org/mms#", "dcterms": "http://purl.org/dc/terms/", diff --git a/linkml_runtime/linkml_model/protobuf/meta.proto b/linkml_runtime/linkml_model/protobuf/meta.proto index 6a3da75d..454e6ed5 100644 --- a/linkml_runtime/linkml_model/protobuf/meta.proto +++ b/linkml_runtime/linkml_model/protobuf/meta.proto @@ -115,8 +115,8 @@ message AnonymousSlotExpression boolean recommended = 9 boolean inlined = 25 boolean inlinedAsList = 27 - integer minimumValue = 0 - integer maximumValue = 0 + anything minimumValue = 0 + anything maximumValue = 0 string pattern = 35 patternExpression structuredPattern = 0 unitOfMeasure unit = 0 @@ -126,6 +126,7 @@ message AnonymousSlotExpression repeated string equalsStringIn = 0 integer equalsNumber = 0 string equalsExpression = 0 + integer exactCardinality = 0 integer minimumCardinality = 0 integer maximumCardinality = 0 anonymousSlotExpression hasMember = 0 @@ -145,18 +146,63 @@ message AnonymousTypeExpression string equalsString = 0 repeated string equalsStringIn = 0 integer equalsNumber = 0 - integer minimumValue = 0 - integer maximumValue = 0 + anything minimumValue = 0 + anything maximumValue = 0 repeated anonymousTypeExpression noneOf = 105 repeated anonymousTypeExpression exactlyOneOf = 103 repeated anonymousTypeExpression anyOf = 101 repeated anonymousTypeExpression allOf = 107 } +// defines the dimensions of an array +message ArrayExpression + { + integer exactNumberDimensions = 0 + integer minimumNumberDimensions = 0 + anything maximumNumberDimensions = 0 + boolean hasExtraDimensions = 0 + repeated dimensionExpression dimensions = 0 + repeated extension extensions = 0 + repeated annotation annotations = 0 + string description = 5 + repeated altDescription altDescriptions = 0 + string title = 3 + string deprecated = 0 + repeated string todos = 0 + repeated string notes = 0 + repeated string comments = 0 + repeated example examples = 0 + repeated subsetDefinition inSubset = 0 + uri fromSchema = 0 + string importedFrom = 0 + uriorcurie source = 0 + string inLanguage = 0 + repeated uriorcurie seeAlso = 0 + uriorcurie deprecatedElementHasExactReplacement = 0 + uriorcurie deprecatedElementHasPossibleReplacement = 0 + repeated string aliases = 0 + repeated structuredAlias structuredAliases = 0 + repeated uriorcurie mappings = 0 + repeated uriorcurie exactMappings = 0 + repeated uriorcurie closeMappings = 0 + repeated uriorcurie relatedMappings = 0 + repeated uriorcurie narrowMappings = 0 + repeated uriorcurie broadMappings = 0 + uriorcurie createdBy = 0 + repeated uriorcurie contributors = 0 + datetime createdOn = 0 + datetime lastUpdatedOn = 0 + uriorcurie modifiedBy = 0 + uriorcurie status = 0 + integer rank = 51 + repeated uriorcurie categories = 0 + repeated string keywords = 0 + } // an element whose instances are complex objects that may have slot-value assignments message ClassDefinition { string name = 1 repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -270,11 +316,55 @@ message ClassRule repeated uriorcurie categories = 0 repeated string keywords = 0 } +// defines one of the dimensions of an array +message DimensionExpression + { + string alias = 6 + integer maximumCardinality = 0 + integer minimumCardinality = 0 + integer exactCardinality = 0 + repeated extension extensions = 0 + repeated annotation annotations = 0 + string description = 5 + repeated altDescription altDescriptions = 0 + string title = 3 + string deprecated = 0 + repeated string todos = 0 + repeated string notes = 0 + repeated string comments = 0 + repeated example examples = 0 + repeated subsetDefinition inSubset = 0 + uri fromSchema = 0 + string importedFrom = 0 + uriorcurie source = 0 + string inLanguage = 0 + repeated uriorcurie seeAlso = 0 + uriorcurie deprecatedElementHasExactReplacement = 0 + uriorcurie deprecatedElementHasPossibleReplacement = 0 + repeated string aliases = 0 + repeated structuredAlias structuredAliases = 0 + repeated uriorcurie mappings = 0 + repeated uriorcurie exactMappings = 0 + repeated uriorcurie closeMappings = 0 + repeated uriorcurie relatedMappings = 0 + repeated uriorcurie narrowMappings = 0 + repeated uriorcurie broadMappings = 0 + uriorcurie createdBy = 0 + repeated uriorcurie contributors = 0 + datetime createdOn = 0 + datetime lastUpdatedOn = 0 + uriorcurie modifiedBy = 0 + uriorcurie status = 0 + integer rank = 51 + repeated uriorcurie categories = 0 + repeated string keywords = 0 + } // an element whose instances must be drawn from a specified set of permissible values message EnumDefinition { string name = 1 repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -571,6 +661,7 @@ message ReachabilityQuery message SchemaDefinition { repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -645,6 +736,7 @@ message SlotDefinition { string name = 1 repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -693,6 +785,7 @@ message SlotDefinition classDefinition domain = 0 uriorcurie slotUri = 2 boolean multivalued = 7 + arrayExpression array = 0 boolean inherited = 0 string readonly = 0 string ifabsent = 0 @@ -736,8 +829,8 @@ message SlotDefinition boolean recommended = 9 boolean inlined = 25 boolean inlinedAsList = 27 - integer minimumValue = 0 - integer maximumValue = 0 + anything minimumValue = 0 + anything maximumValue = 0 string pattern = 35 patternExpression structuredPattern = 0 unitOfMeasure unit = 0 @@ -747,6 +840,7 @@ message SlotDefinition repeated string equalsStringIn = 0 integer equalsNumber = 0 string equalsExpression = 0 + integer exactCardinality = 0 integer minimumCardinality = 0 integer maximumCardinality = 0 anonymousSlotExpression hasMember = 0 @@ -802,6 +896,7 @@ message SubsetDefinition { string name = 1 repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -848,6 +943,7 @@ message TypeDefinition { string name = 1 repeated ncname idPrefixes = 0 + boolean idPrefixesAreClosed = 0 uriorcurie definitionUri = 0 repeated localName localNames = 0 string conformsTo = 0 @@ -900,8 +996,8 @@ message TypeDefinition string equalsString = 0 repeated string equalsStringIn = 0 integer equalsNumber = 0 - integer minimumValue = 0 - integer maximumValue = 0 + anything minimumValue = 0 + anything maximumValue = 0 repeated anonymousTypeExpression noneOf = 105 repeated anonymousTypeExpression exactlyOneOf = 103 repeated anonymousTypeExpression anyOf = 101 diff --git a/linkml_runtime/linkml_model/shacl/meta.shacl.ttl b/linkml_runtime/linkml_model/shacl/meta.shacl.ttl index 2b61594d..370a098e 100644 --- a/linkml_runtime/linkml_model/shacl/meta.shacl.ttl +++ b/linkml_runtime/linkml_model/shacl/meta.shacl.ttl @@ -29,138 +29,152 @@ linkml:AnonymousExpression a sh:NodeShape ; sh:closed false ; sh:description "An abstract parent class for any nested expression" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "the primary language used in the sources" ; + sh:property [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 8 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 14 ; - sh:path schema1:inLanguage ], - [ sh:description "time at which the element was last updated" ; + sh:order 11 ; + sh:path skos:inScheme ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 21 ; + sh:path skos:exactMatch ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 3 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "Keywords or tags used to describe the element" ; + sh:order 12 ; + sh:path linkml:imported_from ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 31 ; + sh:path bibo:status ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 20 ; + sh:path skos:mappingRelation ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 19 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; sh:order 34 ; sh:path schema1:keywords ], - [ sh:description "agent that modified the element" ; + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 7 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 30 ; - sh:path oslc:modifiedBy ], + sh:order 5 ; + sh:path linkml:deprecated ], + [ sh:description "agent that contributed to the element" ; + sh:order 27 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path skos:definition ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 26 ; + sh:path pav:createdBy ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 16 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 20 ; - sh:path skos:mappingRelation ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 24 ; - sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 6 ; + sh:path linkml:todos ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; sh:order 0 ; sh:path linkml:extensions ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:alt_descriptions ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 26 ; - sh:path pav:createdBy ], - [ sh:description "Description of why and when this element will no longer be used" ; + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 25 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:deprecated ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 23 ; - sh:path skos:relatedMatch ], - [ sh:description "status of the element" ; + sh:order 32 ; + sh:path sh:order ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path bibo:status ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 7 ; - sh:path skos:editorialNote ], + sh:order 28 ; + sh:path pav:createdOn ], [ sh:description "A list of related entities or URLs that may be of relevance" ; sh:order 15 ; sh:path rdfs:seeAlso ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 8 ; - sh:path skos:note ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 18 ; + sh:path skos:altLabel ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 33 ; + sh:path dcterms:subject ], [ sh:class linkml:Annotation ; sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; sh:order 1 ; sh:path linkml:annotations ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 32 ; - sh:path sh:order ], - [ sh:description "time at which the element was created" ; + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 28 ; - sh:path pav:createdOn ], + sh:order 30 ; + sh:path oslc:modifiedBy ], [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 17 ; sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:imported_from ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 25 ; - sh:path skos:broadMatch ], - [ sh:description "id of the schema that defined the element" ; + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 24 ; + sh:path skos:narrowMatch ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 11 ; - sh:path skos:inScheme ], - [ sh:description "agent that contributed to the element" ; - sh:order 27 ; - sh:path dcterms:contributor ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 18 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 21 ; - sh:path skos:exactMatch ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 22 ; - sh:path skos:closeMatch ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:order 13 ; + sh:path dcterms:source ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path skos:definition ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 19 ; - sh:path skosxl:altLabel ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path OIO:inSubset ], + sh:order 29 ; + sh:path pav:lastUpdatedOn ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; sh:order 9 ; sh:path linkml:examples ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 33 ; - sh:path dcterms:subject ], - [ sh:description "A related resource from which the element is derived." ; + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 13 ; - sh:path dcterms:source ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 6 ; - sh:path linkml:todos ] ; + sh:order 14 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path dcterms:title ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 22 ; + sh:path skos:closeMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 23 ; + sh:path skos:relatedMatch ] ; sh:targetClass linkml:AnonymousExpression . linkml:ClassExpression a sh:NodeShape ; @@ -204,128 +218,142 @@ linkml:CommonMetadata a sh:NodeShape ; sh:closed false ; sh:description "Generic metadata shared across definitions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 13 ; - sh:path rdfs:seeAlso ], - [ sh:description "id of the schema that defined the element" ; + sh:property [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 9 ; - sh:path skos:inScheme ], - [ sh:description "status of the element" ; + sh:order 30 ; + sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 23 ; + sh:path skos:broadMatch ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 1 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 4 ; + sh:path linkml:todos ], + [ sh:description "agent that contributed to the element" ; + sh:order 25 ; + sh:path dcterms:contributor ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path bibo:status ], - [ sh:description "time at which the element was last updated" ; + sh:order 24 ; + sh:path pav:createdBy ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 27 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 18 ; - sh:path skos:mappingRelation ], + sh:order 3 ; + sh:path linkml:deprecated ], [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; sh:order 21 ; sh:path skos:relatedMatch ], - [ sh:description "Keywords or tags used to describe the element" ; + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 22 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; sh:order 32 ; sh:path schema1:keywords ], - [ sh:description "agent that modified the element" ; + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 31 ; + sh:path dcterms:subject ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 17 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 28 ; - sh:path oslc:modifiedBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 23 ; - sh:path skos:broadMatch ], + sh:order 0 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 6 ; + sh:path skos:note ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 27 ; + sh:path pav:lastUpdatedOn ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 16 ; + sh:path skos:altLabel ], [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; sh:order 11 ; sh:path dcterms:source ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 20 ; - sh:path skos:closeMatch ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 31 ; - sh:path dcterms:subject ], - [ sh:description "time at which the element was created" ; + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; sh:order 26 ; sh:path pav:createdOn ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 5 ; - sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path skos:inScheme ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 18 ; + sh:path skos:mappingRelation ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 28 ; + sh:path oslc:modifiedBy ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 13 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path schema1:inLanguage ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; sh:order 19 ; sh:path skos:exactMatch ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 22 ; - sh:path skos:narrowMatch ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:order 0 ; - sh:path skos:definition ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path OIO:inSubset ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 24 ; - sh:path pav:createdBy ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 30 ; - sh:path sh:order ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:alt_descriptions ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:examples ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 6 ; - sh:path skos:note ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:order 2 ; + sh:path dcterms:title ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 14 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 17 ; - sh:path skosxl:altLabel ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 16 ; - sh:path skos:altLabel ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; sh:order 10 ; sh:path linkml:imported_from ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 4 ; - sh:path linkml:todos ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path schema1:inLanguage ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path dcterms:title ], - [ sh:description "Description of why and when this element will no longer be used" ; + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 5 ; + sh:path skos:editorialNote ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 7 ; + sh:path linkml:examples ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:deprecated ], - [ sh:description "agent that contributed to the element" ; - sh:order 25 ; - sh:path dcterms:contributor ] ; + sh:order 29 ; + sh:path bibo:status ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 20 ; + sh:path skos:closeMatch ] ; sh:targetClass linkml:CommonMetadata . linkml:Expression a sh:NodeShape ; @@ -349,456 +377,464 @@ linkml:ImportExpression a sh:NodeShape ; sh:closed true ; sh:description "an expression describing an import" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:property [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 24 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; sh:order 21 ; sh:path skos:altLabel ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 10 ; - sh:path skos:editorialNote ], - [ sh:class linkml:Setting ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:import_map ], - [ sh:description "agent that contributed to the element" ; - sh:order 30 ; - sh:path dcterms:contributor ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 37 ; - sh:path schema1:keywords ], - [ sh:description "id of the schema that defined the element" ; + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 11 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 14 ; - sh:path skos:inScheme ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path skos:definition ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:order 19 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 7 ; - sh:path dcterms:title ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 23 ; - sh:path skos:mappingRelation ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 28 ; - sh:path skos:broadMatch ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; - sh:path skos:closeMatch ], - [ sh:description "time at which the element was created" ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdOn ], - [ sh:description "A related resource from which the element is derived." ; + sh:order 15 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path dcterms:source ], + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 22 ; + sh:path skosxl:altLabel ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; sh:order 6 ; sh:path linkml:alt_descriptions ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:annotations ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 25 ; + sh:path skos:closeMatch ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; sh:order 12 ; sh:path linkml:examples ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 18 ; - sh:path rdfs:seeAlso ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:imported_from ], + sh:order 16 ; + sh:path dcterms:source ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:description "agent that contributed to the element" ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 10 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:deprecated ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; sh:order 3 ; sh:path linkml:extensions ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 27 ; - sh:path skos:narrowMatch ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 9 ; - sh:path linkml:todos ], [ sh:description "agent that created the element" ; sh:maxCount 1 ; sh:order 29 ; sh:path pav:createdBy ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 34 ; + sh:path bibo:status ], [ sh:description "agent that modified the element" ; sh:maxCount 1 ; sh:order 33 ; sh:path oslc:modifiedBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 24 ; - sh:path skos:exactMatch ], [ sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path linkml:import_from ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 37 ; + sh:path schema1:keywords ], [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; sh:order 26 ; sh:path skos:relatedMatch ], - [ sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:import_as ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path OIO:inSubset ], - [ sh:description "Description of why and when this element will no longer be used" ; + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 27 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 36 ; - sh:path dcterms:subject ], - [ sh:description "status of the element" ; + sh:order 35 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:order 34 ; - sh:path bibo:status ], - [ sh:description "time at which the element was last updated" ; + sh:order 7 ; + sh:path dcterms:title ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:order 31 ; + sh:path pav:createdOn ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 22 ; - sh:path skosxl:altLabel ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 11 ; - sh:path skos:note ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:order 4 ; + sh:path linkml:annotations ], + [ sh:class linkml:Setting ; + sh:nodeKind sh:BlankNode ; + sh:order 2 ; + sh:path linkml:import_map ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 36 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; sh:maxCount 1 ; - sh:order 35 ; - sh:path sh:order ] ; + sh:order 1 ; + sh:path linkml:import_as ] ; sh:targetClass linkml:ImportExpression . linkml:SchemaDefinition a sh:NodeShape ; sh:closed true ; sh:description "A collection of definitions that make up a schema or a data model." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Description of why and when this element will no longer be used" ; + sh:property [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path linkml:deprecated ], + sh:order 60 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "license for the schema" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path dcterms:license ], + [ sh:datatype xsd:string ; + sh:description "The prefix that is used for all elements within a schema" ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path linkml:default_prefix ], + [ sh:datatype xsd:string ; + sh:description "particular version of schema" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path pav:version ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 58 ; + sh:path pav:lastUpdatedOn ], [ sh:class linkml:Setting ; sh:description "A collection of global variable settings" ; sh:nodeKind sh:BlankNode ; sh:order 20 ; sh:path linkml:settings ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 49 ; - sh:path skos:exactMatch ], - [ sh:description "A list of schemas that are to be included in this schema" ; - sh:order 2 ; - sh:path linkml:imports ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 28 ; - sh:path linkml:extensions ], - [ sh:description "a list of Curie prefixes that are used in the representation of instances of the model. All prefixes in this list are added to the prefix sections of the target models." ; - sh:order 5 ; - sh:path linkml:emit_prefixes ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 60 ; - sh:path sh:order ], - [ sh:description "license for the schema" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path dcterms:license ], - [ sh:class linkml:TypeDefinition ; - sh:description "An index to the collection of all type definitions in the schema" ; - sh:nodeKind sh:IRI ; - sh:order 10 ; - sh:path linkml:types ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 47 ; - sh:path skosxl:altLabel ], - [ sh:class linkml:Prefix ; - sh:description "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; + [ sh:class linkml:LocalName ; sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path sh:declare ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 41 ; - sh:path dcterms:source ], - [ sh:description "a unique name for the schema that is both human-readable and consists of only characters from the NCName set" ; + sh:order 25 ; + sh:path linkml:local_names ], + [ sh:datatype xsd:string ; + sh:description "a unique name for the schema that is both human-readable and consists of only characters from the NCName set" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 21 ; sh:path rdfs:label ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 42 ; - sh:path schema1:inLanguage ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 54 ; - sh:path pav:createdBy ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 31 ; + sh:order 32 ; sh:path linkml:alt_descriptions ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 59 ; - sh:path bibo:status ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 26 ; - sh:path linkml:implements ], - [ sh:class linkml:EnumDefinition ; - sh:description "An index to the collection of all enum definitions in the schema" ; - sh:nodeKind sh:IRI ; - sh:order 11 ; - sh:path linkml:enums ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 44 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables" ; - sh:order 6 ; - sh:path linkml:default_curi_maps ], - [ sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - sh:order 30 ; - sh:path skos:definition ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 52 ; - sh:path skos:narrowMatch ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 34 ; - sh:path linkml:todos ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 36 ; - sh:path skos:note ], - [ sh:description "date and time that the schema was loaded/generated" ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:generation_date ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 37 ; + sh:order 38 ; sh:path linkml:examples ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 22 ; - sh:path linkml:id_prefixes ], [ sh:description "Controlled terms used to categorize an element." ; - sh:order 61 ; + sh:order 62 ; sh:path dcterms:subject ], - [ sh:description "modification date of the source of the schema" ; + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 29 ; + sh:path linkml:extensions ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 45 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:dateTime ; + sh:description "modification date of the source of the schema" ; sh:maxCount 1 ; sh:order 16 ; sh:path linkml:source_file_date ], - [ sh:description "Version of the metamodel used to load the schema" ; + [ sh:description "agent that contributed to the element" ; + sh:order 56 ; + sh:path dcterms:contributor ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 28 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:order 14 ; - sh:path linkml:metamodel_version ], - [ sh:description "time at which the element was created" ; + sh:order 23 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 56 ; - sh:path pav:createdOn ], - [ sh:description "An established standard to which the element conforms." ; + sh:order 34 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:integer ; + sh:description "size in bytes of the source of the schema" ; sh:maxCount 1 ; - sh:order 25 ; - sh:path dcterms:conformsTo ], - [ sh:description "The prefix that is used for all elements within a schema" ; + sh:order 17 ; + sh:path linkml:source_file_size ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 7 ; - sh:path linkml:default_prefix ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 55 ; + sh:path pav:createdBy ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 40 ; - sh:path linkml:imported_from ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:order 59 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path dcterms:title ], - [ sh:class linkml:SlotDefinition ; - sh:description "An index to the collection of all slot definitions in the schema" ; - sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path linkml:slot_definitions ], - [ sh:class linkml:SubsetDefinition ; - sh:description "An index to the collection of all subset definitions in the schema" ; - sh:nodeKind sh:IRI ; - sh:order 9 ; - sh:path linkml:subsets ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 29 ; - sh:path linkml:annotations ], - [ sh:description "size in bytes of the source of the schema" ; + sh:order 41 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:order 17 ; - sh:path linkml:source_file_size ], - [ sh:description "An element in another schema which this element instantiates." ; + sh:order 26 ; + sh:path dcterms:conformsTo ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; sh:order 27 ; - sh:path linkml:instantiates ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:path linkml:implements ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; sh:maxCount 1 ; - sh:order 45 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:class linkml:ClassDefinition ; - sh:description "An index to the collection of all class definitions in the schema" ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path linkml:classes ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; sh:order 24 ; - sh:path linkml:local_names ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 62 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 43 ; + sh:path schema1:inLanguage ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 49 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 63 ; sh:path schema1:keywords ], - [ sh:description "id of the schema that defined the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 39 ; + sh:order 40 ; sh:path skos:inScheme ], - [ sh:description "agent that contributed to the element" ; - sh:order 55 ; - sh:path dcterms:contributor ], - [ sh:description "particular version of schema" ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path pav:version ], - [ sh:description "time at which the element was last updated" ; + [ sh:datatype xsd:string ; + sh:description "Version of the metamodel used to load the schema" ; sh:maxCount 1 ; - sh:order 57 ; - sh:path pav:lastUpdatedOn ], + sh:order 14 ; + sh:path linkml:metamodel_version ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 48 ; + sh:path skosxl:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 51 ; + sh:path skos:closeMatch ], + [ sh:class linkml:TypeDefinition ; + sh:description "An index to the collection of all type definitions in the schema" ; + sh:nodeKind sh:IRI ; + sh:order 10 ; + sh:path linkml:types ], [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 53 ; + sh:order 54 ; sh:path skos:broadMatch ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 58 ; - sh:path oslc:modifiedBy ], + [ sh:class linkml:ClassDefinition ; + sh:description "An index to the collection of all class definitions in the schema" ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path linkml:classes ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 38 ; + sh:order 39 ; sh:path OIO:inSubset ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 43 ; - sh:path rdfs:seeAlso ], - [ sh:class linkml:TypeDefinition ; - sh:description "default slot range to be used if range element is omitted from a slot definition" ; - sh:maxCount 1 ; + [ sh:class linkml:SlotDefinition ; + sh:description "An index to the collection of all slot definitions in the schema" ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path linkml:default_range ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 46 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 51 ; - sh:path skos:relatedMatch ], - [ sh:description "name, uri or description of the source of the schema" ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:source_file ], - [ sh:description "if true then induced/mangled slot names are not created for class_usage and attributes" ; + sh:order 12 ; + sh:path linkml:slot_definitions ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:slot_names_unique ], - [ sh:description "The official schema URI" ; + sh:order 57 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 47 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 36 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "The official schema URI" ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; sh:path linkml:id ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 50 ; - sh:path skos:closeMatch ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; - sh:maxCount 1 ; - sh:order 23 ; - sh:path linkml:definition_uri ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 48 ; - sh:path skos:mappingRelation ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 35 ; - sh:path skos:editorialNote ] ; - sh:targetClass linkml:SchemaDefinition . - -linkml:SlotExpression a sh:NodeShape ; - sh:closed false ; - sh:description "an expression that constrains the range of values a slot can take" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path linkml:equals_string ], - [ sh:description "the minimum number of entries for a multivalued slot" ; + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:minimum_cardinality ], - [ sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; + sh:order 46 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:TypeDefinition ; + sh:description "default slot range to be used if range element is omitted from a slot definition" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:inlined ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path linkml:minimum_value ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + sh:nodeKind sh:IRI ; + sh:order 8 ; + sh:path linkml:default_range ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 44 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 35 ; + sh:path linkml:todos ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 53 ; + sh:path skos:narrowMatch ], + [ sh:description "A list of schemas that are to be included in this schema" ; + sh:order 2 ; + sh:path linkml:imports ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:order 31 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "a list of Curie prefixes that are used in the representation of instances of the model. All prefixes in this list are added to the prefix sections of the target models." ; + sh:order 5 ; + sh:path linkml:emit_prefixes ], + [ sh:class linkml:SubsetDefinition ; + sh:description "An index to the collection of all subset definitions in the schema" ; + sh:nodeKind sh:IRI ; sh:order 9 ; - sh:path linkml:pattern ], - [ sh:description "the maximum number of entries for a multivalued slot" ; + sh:path linkml:subsets ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 37 ; + sh:path skos:note ], + [ sh:class linkml:EnumDefinition ; + sh:description "An index to the collection of all enum definitions in the schema" ; + sh:nodeKind sh:IRI ; + sh:order 11 ; + sh:path linkml:enums ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 61 ; + sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 50 ; + sh:path skos:exactMatch ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 30 ; + sh:path linkml:annotations ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 52 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:boolean ; + sh:description "if true then induced/mangled slot names are not created for class_usage and attributes" ; sh:maxCount 1 ; sh:order 19 ; - sh:path linkml:maximum_cardinality ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; + sh:path linkml:slot_names_unique ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 22 ; + sh:path linkml:id_prefixes ], + [ sh:class linkml:Prefix ; + sh:description "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path sh:declare ], + [ sh:datatype xsd:string ; + sh:description "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables" ; + sh:order 6 ; + sh:path linkml:default_curi_maps ], + [ sh:datatype xsd:string ; + sh:description "name, uri or description of the source of the schema" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:maximum_value ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:order 15 ; + sh:path linkml:source_file ], + [ sh:datatype xsd:dateTime ; + sh:description "date and time that the schema was loaded/generated" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:implicit_prefix ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 23 ; - sh:path linkml:exactly_one_of ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 25 ; - sh:path linkml:all_of ], - [ sh:description "true means that the slot must be present in instances of the class definition" ; + sh:order 18 ; + sh:path linkml:generation_date ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:required ], + sh:order 42 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 33 ; + sh:path dcterms:title ] ; + sh:targetClass linkml:SchemaDefinition . + +linkml:SlotExpression a sh:NodeShape ; + sh:closed false ; + sh:description "an expression that constrains the range of values a slot can take" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path linkml:equals_string ], [ sh:class linkml:Element ; sh:description """defines the type of the object of the slot. Given the following slot definition S1: @@ -814,721 +850,1198 @@ implicitly asserts Y is an instance of C2 sh:nodeKind sh:IRI ; sh:order 0 ; sh:path linkml:range ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:maximum_value ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "the value of the slot is multivalued with all members satisfying the condition" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 22 ; + sh:path linkml:all_members ], [ sh:class linkml:AnonymousSlotExpression ; sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 24 ; + sh:order 25 ; sh:path linkml:any_of ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ sh:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:maximum_cardinality ], + [ sh:class linkml:EnumExpression ; + sh:description "An inlined enumeration" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 11 ; - sh:path qudt:unit ], + sh:order 2 ; + sh:path linkml:enum_range ], [ sh:class linkml:AnonymousSlotExpression ; sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 20 ; + sh:order 21 ; sh:path linkml:has_member ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 15 ; - sh:path linkml:equals_string_in ], - [ sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; + [ sh:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:recommended ], + sh:order 18 ; + sh:path linkml:exact_cardinality ], + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path linkml:implicit_prefix ], [ sh:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with all members satisfying the condition" ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 23 ; + sh:path linkml:none_of ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path linkml:pattern ], + [ sh:datatype xsd:boolean ; + sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:inlined ], + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; + sh:order 19 ; + sh:path linkml:minimum_cardinality ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if only one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 21 ; - sh:path linkml:all_members ], - [ sh:class linkml:EnumExpression ; - sh:description "An inlined enumeration" ; + sh:order 24 ; + sh:path linkml:exactly_one_of ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:enum_range ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; + sh:order 11 ; + sh:path qudt:unit ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot must be present in instances of the class definition" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path linkml:equals_number ], + sh:order 3 ; + sh:path linkml:required ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 15 ; + sh:path linkml:equals_string_in ], + [ sh:datatype xsd:string ; + sh:description "the value of the slot must equal the value of the evaluated expression" ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path linkml:equals_expression ], + [ sh:class linkml:PatternExpression ; + sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 10 ; + sh:path linkml:structured_pattern ], [ sh:class linkml:AnonymousClassExpression ; sh:description "A range that is described as a boolean expression combining existing ranges" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 1 ; sh:path linkml:range_expression ], - [ sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:inlined_as_list ], - [ sh:description "the value of the slot must equal the value of the evaluated expression" ; + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 26 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path linkml:equals_expression ], + sh:order 4 ; + sh:path linkml:recommended ], [ sh:description "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ; sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; sh:maxCount 1 ; sh:order 13 ; sh:path linkml:value_presence ], - [ sh:class linkml:PatternExpression ; - sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + [ sh:datatype xsd:boolean ; + sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path linkml:inlined_as_list ], + [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path linkml:equals_number ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:structured_pattern ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 22 ; - sh:path linkml:none_of ] ; + sh:order 7 ; + sh:path linkml:minimum_value ] ; sh:targetClass linkml:SlotExpression . linkml:TypeExpression a sh:NodeShape ; sh:closed false ; sh:description "An abstract class grouping named types and anonymous type expressions" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:PatternExpression ; - sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + sh:property [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:structured_pattern ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; + sh:order 2 ; + sh:path qudt:unit ], + [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path linkml:equals_number ], + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:implicit_prefix ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 5 ; + sh:path linkml:equals_string_in ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:maximum_value ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path linkml:equals_string ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; sh:order 7 ; sh:path linkml:minimum_value ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 12 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; sh:maxCount 1 ; sh:order 0 ; sh:path linkml:pattern ], - [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:equals_string ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if none of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 9 ; sh:path linkml:none_of ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:maximum_value ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:implicit_prefix ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 5 ; - sh:path linkml:equals_string_in ], - [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 11 ; - sh:path linkml:any_of ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:equals_number ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if only one of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 10 ; sh:path linkml:exactly_one_of ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ sh:class linkml:PatternExpression ; + sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path qudt:unit ], + sh:order 1 ; + sh:path linkml:structured_pattern ], [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if all of the expressions hold" ; + sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 12 ; - sh:path linkml:all_of ] ; + sh:order 11 ; + sh:path linkml:any_of ] ; sh:targetClass linkml:TypeExpression . -linkml:Any a sh:NodeShape ; +linkml:ArrayExpression a sh:NodeShape ; sh:closed true ; + sh:description "defines the dimensions of an array" ; sh:ignoredProperties ( rdf:type ) ; - sh:targetClass linkml:Any . - -linkml:ClassRule a sh:NodeShape ; - sh:closed true ; - sh:description "A rule that applies to instances of a class" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 30 ; - sh:path skos:relatedMatch ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "an expression that must hold for an instance of the class, if the preconditions no not hold" ; + sh:property [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 12 ; + sh:path skos:editorialNote ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path dcterms:source ], + [ sh:datatype xsd:boolean ; + sh:description "If this is set to true" ; sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:has_extra_dimensions ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:elseconditions ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 6 ; + sh:path linkml:annotations ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; sh:order 29 ; - sh:path skos:closeMatch ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 37 ; - sh:path oslc:modifiedBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 27 ; - sh:path skos:mappingRelation ], - [ sh:description "time at which the element was created" ; - sh:maxCount 1 ; - sh:order 35 ; - sh:path pav:createdOn ], - [ sh:description "agent that created the element" ; + sh:path skos:narrowMatch ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 38 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path pav:createdBy ], + sh:order 19 ; + sh:path schema1:inLanguage ], [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 22 ; + sh:order 20 ; sh:path rdfs:seeAlso ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 17 ; - sh:path OIO:inSubset ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 13 ; + sh:path skos:note ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 34 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 10 ; + sh:path linkml:deprecated ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 25 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 11 ; + sh:path linkml:todos ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 39 ; + sh:path schema1:keywords ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 16 ; + sh:order 14 ; sh:path linkml:examples ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 40 ; - sh:path schema1:keywords ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 15 ; - sh:path skos:note ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 38 ; - sh:path bibo:status ], - [ sh:description "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ; + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:alt_descriptions ], + [ sh:description "agent that contributed to the element" ; + sh:order 32 ; + sh:path dcterms:contributor ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:bidirectional ], - [ sh:description "time at which the element was last updated" ; + sh:order 21 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 30 ; + sh:path skos:broadMatch ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 36 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "a deactivated rule is not executed by the rules engine" ; + sh:order 22 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:Any ; + sh:description "maximum number of dimensions in the array, or False if explicitly no maximum. If this is unset, and an explicit list of dimensions are passed using dimensions, then this is interpreted as a closed list and the maximum_number_dimensions is the length of the dimensions list, unless this value is set to False" ; sh:maxCount 1 ; - sh:order 6 ; - sh:path sh:deactivated ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:annotations ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 39 ; - sh:path dcterms:subject ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:order 2 ; + sh:path linkml:maximum_number_dimensions ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 5 ; + sh:order 37 ; sh:path sh:order ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 32 ; - sh:path skos:broadMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path dcterms:title ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:order 31 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 23 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:integer ; + sh:description "exact number of dimensions in the array" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:deprecated ], - [ sh:description "id of the schema that defined the element" ; + sh:order 0 ; + sh:path linkml:exact_number_dimensions ], + [ sh:datatype xsd:integer ; + sh:description "minimum number of dimensions in the array" ; sh:maxCount 1 ; - sh:order 18 ; - sh:path skos:inScheme ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 1 ; + sh:path linkml:minimum_number_dimensions ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 27 ; + sh:path skos:closeMatch ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:imported_from ], - [ sh:description "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these" ; + sh:order 36 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:open_world ], + sh:order 17 ; + sh:path linkml:imported_from ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 28 ; + sh:order 26 ; sh:path skos:exactMatch ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 35 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:DimensionExpression ; + sh:description "definitions of each axis in the array" ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:alt_descriptions ], - [ sh:description "A related resource from which the element is derived." ; + sh:order 4 ; + sh:path linkml:dimensions ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 15 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 20 ; - sh:path dcterms:source ], + sh:order 7 ; + sh:path skos:definition ], [ sh:class skosxl:Label ; sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 26 ; + sh:order 24 ; sh:path skosxl:altLabel ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 14 ; - sh:path skos:editorialNote ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 25 ; - sh:path skos:altLabel ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path dcterms:title ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 5 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 33 ; + sh:path pav:createdOn ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 28 ; + sh:path skos:relatedMatch ] ; + sh:targetClass linkml:ArrayExpression . + +linkml:ClassRule a sh:NodeShape ; + sh:closed true ; + sh:description "A rule that applies to instances of a class" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 23 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 25 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 11 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; sh:order 9 ; sh:path skos:definition ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 31 ; - sh:path skos:narrowMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 32 ; + sh:path skos:broadMatch ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 26 ; + sh:path skosxl:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 27 ; + sh:path skos:mappingRelation ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 39 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 14 ; + sh:path skos:editorialNote ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 29 ; + sh:path skos:closeMatch ], [ sh:description "agent that contributed to the element" ; sh:order 34 ; sh:path dcterms:contributor ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 13 ; - sh:path linkml:todos ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "an expression that must hold for an instance of the class, if the preconditions hold" ; - sh:maxCount 1 ; + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:postconditions ], + sh:order 16 ; + sh:path linkml:examples ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 28 ; + sh:path skos:exactMatch ], [ sh:class linkml:AnonymousClassExpression ; sh:description "an expression that must hold in order for the rule to be applicable to an instance" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 0 ; sh:path sh:condition ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path schema1:inLanguage ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:extensions ], + sh:order 8 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path sh:order ], [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 24 ; - sh:path linkml:deprecated_element_has_possible_replacement ] ; - sh:targetClass linkml:ClassRule . - -linkml:Prefix a sh:NodeShape ; - sh:closed true ; - sh:description "prefix URI tuple" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The namespace to which a prefix expands to." ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path sh:namespace ], - [ sh:description "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE." ; + sh:order 37 ; + sh:path oslc:modifiedBy ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 22 ; + sh:path rdfs:seeAlso ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 31 ; + sh:path skos:narrowMatch ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path sh:prefix ] ; - sh:targetClass linkml:Prefix . - -linkml:UniqueKey a sh:NodeShape ; - sh:closed true ; - sh:description "a collection of slots whose values uniquely identify an instance of a class" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:SubsetDefinition ; + sh:order 38 ; + sh:path bibo:status ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 36 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 13 ; + sh:path linkml:todos ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path dcterms:source ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 33 ; + sh:path pav:createdBy ], + [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 13 ; + sh:order 17 ; sh:path OIO:inSubset ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 37 ; + [ sh:datatype xsd:boolean ; + sh:description "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these" ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path linkml:open_world ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 40 ; sh:path schema1:keywords ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 30 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; sh:order 18 ; - sh:path rdfs:seeAlso ], - [ sh:description "time at which the element was created" ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 31 ; + sh:order 21 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 35 ; sh:path pav:createdOn ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:datatype xsd:boolean ; + sh:description "a deactivated rule is not executed by the rules engine" ; sh:maxCount 1 ; + sh:order 6 ; + sh:path sh:deactivated ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; sh:order 15 ; - sh:path linkml:imported_from ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:path skos:note ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "an expression that must hold for an instance of the class, if the preconditions hold" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "the primary language used in the sources" ; + sh:nodeKind sh:BlankNode ; + sh:order 1 ; + sh:path linkml:postconditions ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "an expression that must hold for an instance of the class, if the preconditions no not hold" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], - [ sh:description "A related resource from which the element is derived." ; + sh:nodeKind sh:BlankNode ; + sh:order 2 ; + sh:path linkml:elseconditions ], + [ sh:datatype xsd:boolean ; + sh:description "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path dcterms:source ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 24 ; - sh:path skos:exactMatch ], + sh:order 3 ; + sh:path linkml:bidirectional ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 7 ; + sh:path linkml:extensions ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:alt_descriptions ], - [ sh:description "By default, None values are considered equal for the purposes of comparisons in determining uniqueness. Set this to true to treat missing values as per ANSI-SQL NULLs, i.e NULL=NULL is always False." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:consider_nulls_inequal ], - [ sh:description "name of the unique key" ; + sh:order 10 ; + sh:path linkml:alt_descriptions ] ; + sh:targetClass linkml:ClassRule . + +linkml:DimensionExpression a sh:NodeShape ; + sh:closed true ; + sh:description "defines one of the dimensions of an array" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:unique_key_name ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 26 ; - sh:path skos:relatedMatch ], + sh:order 36 ; + sh:path sh:order ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 3 ; + sh:order 4 ; sh:path linkml:extensions ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 21 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 28 ; - sh:path skos:broadMatch ], + [ sh:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:exact_cardinality ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path skos:definition ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 25 ; + sh:path skos:exactMatch ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 37 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 9 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path dcterms:title ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 14 ; + sh:path OIO:inSubset ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 5 ; + sh:path linkml:annotations ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path skos:inScheme ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 19 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:maximum_cardinality ], [ sh:class skosxl:Label ; sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 22 ; + sh:order 23 ; sh:path skosxl:altLabel ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; + sh:order 34 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; sh:order 7 ; - sh:path dcterms:title ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:path linkml:alt_descriptions ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], - [ sh:description "agent that modified the element" ; + sh:order 35 ; + sh:path bibo:status ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; sh:order 33 ; - sh:path oslc:modifiedBy ], + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:minimum_cardinality ], [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 20 ; + sh:order 21 ; sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path schema1:inLanguage ], + [ sh:description "agent that contributed to the element" ; + sh:order 31 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path skos:prefLabel ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; sh:order 10 ; + sh:path linkml:todos ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 11 ; sh:path skos:editorialNote ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 22 ; + sh:path skos:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 24 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 12 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 38 ; + sh:path schema1:keywords ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 5 ; - sh:path skos:definition ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:annotations ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; - sh:path skos:closeMatch ], + sh:order 17 ; + sh:path dcterms:source ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 27 ; + sh:path skos:relatedMatch ], [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], - [ sh:description "agent that contributed to the element" ; sh:order 30 ; - sh:path dcterms:contributor ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 11 ; - sh:path skos:note ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 36 ; - sh:path dcterms:subject ], + sh:path pav:createdBy ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path linkml:imported_from ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 29 ; + sh:path skos:broadMatch ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 12 ; + sh:order 13 ; sh:path linkml:examples ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 9 ; - sh:path linkml:todos ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path bibo:status ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 23 ; - sh:path skos:mappingRelation ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 35 ; - sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 26 ; + sh:path skos:closeMatch ], [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 27 ; - sh:path skos:narrowMatch ], - [ sh:class linkml:SlotDefinition ; - sh:description "list of slot names that form a key. The tuple formed from the values of all these slots should be unique." ; - sh:minCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path linkml:unique_key_slots ], - [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path skos:inScheme ] ; - sh:targetClass linkml:UniqueKey . + sh:order 28 ; + sh:path skos:narrowMatch ] ; + sh:targetClass linkml:DimensionExpression . -linkml:Setting a sh:NodeShape ; +linkml:Prefix a sh:NodeShape ; sh:closed true ; - sh:description "assignment of a key to a value" ; + sh:description "prefix URI tuple" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "The value assigned for a setting" ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "The namespace to which a prefix expands to." ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 1 ; - sh:path linkml:setting_value ], - [ sh:description "the variable name for a setting" ; + sh:path sh:namespace ], + [ sh:datatype xsd:string ; + sh:description "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE." ; sh:maxCount 1 ; sh:minCount 1 ; sh:order 0 ; - sh:path linkml:setting_key ] ; - sh:targetClass linkml:Setting . + sh:path sh:prefix ] ; + sh:targetClass linkml:Prefix . -linkml:Element a sh:NodeShape ; - sh:closed false ; - sh:description "A named element in the model" ; +linkml:UniqueKey a sh:NodeShape ; + sh:closed true ; + sh:description "a collection of slots whose values uniquely identify an instance of a class" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Controlled terms used to categorize an element." ; - sh:order 40 ; - sh:path dcterms:subject ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 31 ; - sh:path skos:narrowMatch ], - [ sh:class linkml:LocalName ; + sh:property [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 37 ; + sh:path schema1:keywords ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:local_names ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 32 ; - sh:path skos:broadMatch ], - [ sh:description "An established standard to which the element conforms." ; + sh:order 22 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path dcterms:conformsTo ], - [ sh:description "time at which the element was last updated" ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "name of the unique key" ; sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path linkml:unique_key_name ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:description "Controlled terms used to categorize an element." ; sh:order 36 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 27 ; - sh:path skos:mappingRelation ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:imported_from ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 16 ; - sh:path linkml:examples ], + sh:order 17 ; + sh:path schema1:inLanguage ], [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 29 ; + sh:order 25 ; sh:path skos:closeMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path dcterms:title ], - [ sh:description "agent that created the element" ; + sh:order 35 ; + sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; sh:order 33 ; - sh:path pav:createdBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 30 ; - sh:path skos:relatedMatch ], - [ sh:description "An element in another schema which this element instantiates." ; - sh:order 6 ; - sh:path linkml:instantiates ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path dcterms:source ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 13 ; - sh:path linkml:todos ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 28 ; - sh:path skos:exactMatch ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 39 ; - sh:path sh:order ], - [ sh:description "the primary language used in the sources" ; + sh:order 15 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 11 ; + sh:path skos:note ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 10 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; sh:order 21 ; - sh:path schema1:inLanguage ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:path skos:altLabel ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 9 ; - sh:path skos:definition ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; + sh:order 31 ; + sh:path pav:createdOn ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; sh:order 26 ; - sh:path skosxl:altLabel ], + sh:path skos:relatedMatch ], [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 38 ; + sh:order 34 ; sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:deprecated ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 23 ; + sh:order 19 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "agent that modified the element" ; + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path oslc:modifiedBy ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 41 ; - sh:path schema1:keywords ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:order 5 ; + sh:path skos:definition ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:extensions ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 24 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 1 ; - sh:path linkml:id_prefixes ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 15 ; - sh:path skos:note ], - [ sh:description "time at which the element was created" ; + sh:order 12 ; + sh:path linkml:examples ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 35 ; - sh:path pav:createdOn ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 25 ; - sh:path skos:altLabel ], + sh:order 29 ; + sh:path pav:createdBy ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 18 ; + sh:path rdfs:seeAlso ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 17 ; + sh:order 13 ; sh:path OIO:inSubset ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 27 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:alt_descriptions ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 5 ; - sh:path linkml:implements ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:order 4 ; + sh:path linkml:annotations ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path rdfs:label ], - [ sh:description "agent that contributed to the element" ; - sh:order 34 ; - sh:path dcterms:contributor ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 22 ; - sh:path rdfs:seeAlso ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:deprecated ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:order 16 ; + sh:path dcterms:source ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 24 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:boolean ; + sh:description "By default, None values are considered equal for the purposes of comparisons in determining uniqueness. Set this to true to treat missing values as per ANSI-SQL NULLs, i.e NULL=NULL is always False." ; sh:maxCount 1 ; sh:order 2 ; - sh:path linkml:definition_uri ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 14 ; - sh:path skos:editorialNote ], - [ sh:description "id of the schema that defined the element" ; + sh:path linkml:consider_nulls_inequal ], + [ sh:description "agent that contributed to the element" ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:order 18 ; - sh:path skos:inScheme ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:annotations ] ; - sh:targetClass linkml:Element . + sh:order 7 ; + sh:path dcterms:title ], + [ sh:class linkml:SlotDefinition ; + sh:description "list of slot names that form a key. The tuple formed from the values of all these slots should be unique." ; + sh:minCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path linkml:unique_key_slots ] ; + sh:targetClass linkml:UniqueKey . -linkml:EnumExpression a sh:NodeShape ; +linkml:Setting a sh:NodeShape ; sh:closed true ; - sh:description "An expression that constrains the range of a slot" ; + sh:description "assignment of a key to a value" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:AnonymousEnumExpression ; - sh:description "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:minus ], - [ sh:description "Defines the specific formula to be used to generate the permissible values." ; - sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "The value assigned for a setting" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:pv_formula ], - [ sh:class linkml:PermissibleValue ; - sh:description "A list of possible values for a slot range" ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path linkml:permissible_values ], - [ sh:description "the identifier of an enumeration code set." ; + sh:minCount 1 ; + sh:order 1 ; + sh:path linkml:setting_value ], + [ sh:datatype xsd:string ; + sh:description "the variable name for a setting" ; sh:maxCount 1 ; + sh:minCount 1 ; sh:order 0 ; - sh:path linkml:code_set ], - [ sh:class linkml:ReachabilityQuery ; - sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:reachable_from ], - [ sh:description "the version tag of the enumeration code set" ; + sh:path linkml:setting_key ] ; + sh:targetClass linkml:Setting . + +linkml:Element a sh:NodeShape ; + sh:closed false ; + sh:description "A named element in the model" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 42 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 16 ; + sh:path skos:note ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path rdfs:label ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; sh:order 1 ; - sh:path linkml:code_set_tag ], - [ sh:class linkml:MatchQuery ; - sh:description "Specifies a match query that is used to calculate the list of permissible values" ; + sh:path linkml:id_prefixes ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 41 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path dcterms:title ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 39 ; + sh:path bibo:status ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 18 ; + sh:path OIO:inSubset ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 31 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path dcterms:conformsTo ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 27 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:order 37 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; sh:order 9 ; - sh:path linkml:matches ], + sh:path linkml:annotations ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path linkml:deprecated ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 17 ; + sh:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 14 ; + sh:path linkml:todos ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:imported_from ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:local_names ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 33 ; + sh:path skos:broadMatch ], + [ sh:description "agent that contributed to the element" ; + sh:order 35 ; + sh:path dcterms:contributor ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + sh:order 6 ; + sh:path linkml:implements ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 34 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 36 ; + sh:path pav:createdOn ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 7 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path schema1:inLanguage ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 30 ; + sh:path skos:closeMatch ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 38 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 11 ; + sh:path linkml:alt_descriptions ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 32 ; + sh:path skos:narrowMatch ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 24 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 15 ; + sh:path skos:editorialNote ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 25 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 26 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 40 ; + sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 29 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 10 ; + sh:path skos:definition ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 23 ; + sh:path rdfs:seeAlso ] ; + sh:targetClass linkml:Element . + +linkml:EnumExpression a sh:NodeShape ; + sh:closed true ; + sh:description "An expression that constrains the range of a slot" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:description "the identifier of an enumeration code set." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path linkml:code_set ], [ sh:class linkml:EnumDefinition ; sh:description "An enum definition that is used as the basis to create a new enum" ; sh:nodeKind sh:IRI ; sh:order 7 ; sh:path linkml:inherits ], - [ sh:description "the version identifier of the enumeration code set" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:code_set_version ], + [ sh:class linkml:AnonymousEnumExpression ; + sh:description "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; + sh:nodeKind sh:BlankNode ; + sh:order 5 ; + sh:path linkml:include ], [ sh:description "A list of identifiers that are used to construct a set of permissible values" ; sh:order 10 ; sh:path linkml:concepts ], [ sh:class linkml:AnonymousEnumExpression ; - sh:description "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; + sh:description "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; sh:nodeKind sh:BlankNode ; - sh:order 5 ; - sh:path linkml:include ] ; + sh:order 6 ; + sh:path linkml:minus ], + [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:code_set_version ], + [ sh:class linkml:MatchQuery ; + sh:description "Specifies a match query that is used to calculate the list of permissible values" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 9 ; + sh:path linkml:matches ], + [ sh:class linkml:PermissibleValue ; + sh:description "A list of possible values for a slot range" ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path linkml:permissible_values ], + [ sh:description "Defines the specific formula to be used to generate the permissible values." ; + sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" "LABEL" ) ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:pv_formula ], + [ sh:class linkml:ReachabilityQuery ; + sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:reachable_from ], + [ sh:datatype xsd:string ; + sh:description "the version tag of the enumeration code set" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:code_set_tag ] ; sh:targetClass linkml:EnumExpression . linkml:MatchQuery a sh:NodeShape ; @@ -1539,7 +2052,8 @@ linkml:MatchQuery a sh:NodeShape ; sh:maxCount 1 ; sh:order 1 ; sh:path linkml:source_ontology ], - [ sh:description "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values" ; + [ sh:datatype xsd:string ; + sh:description "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values" ; sh:maxCount 1 ; sh:order 0 ; sh:path linkml:identifier_pattern ] ; @@ -1549,385 +2063,459 @@ linkml:PermissibleValue a sh:NodeShape ; sh:closed true ; sh:description "a permissible value, accompanied by intended text and an optional mapping to a concept URI" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Controlled terms used to categorize an element." ; + sh:property [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 10 ; + sh:path skos:editorialNote ], + [ sh:description "Controlled terms used to categorize an element." ; sh:order 36 ; sh:path dcterms:subject ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 29 ; + sh:path pav:createdBy ], [ sh:description "agent that modified the element" ; sh:maxCount 1 ; sh:order 33 ; sh:path oslc:modifiedBy ], - [ sh:description "agent that contributed to the element" ; - sh:order 30 ; - sh:path dcterms:contributor ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path dcterms:source ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 5 ; + sh:path linkml:annotations ], [ sh:description "the value meaning of a permissible value" ; sh:maxCount 1 ; sh:order 2 ; sh:path linkml:meaning ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path dcterms:title ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 27 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:alt_descriptions ], + sh:order 4 ; + sh:path linkml:extensions ], [ sh:class skosxl:Label ; sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; sh:order 22 ; sh:path skosxl:altLabel ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 11 ; - sh:path skos:note ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path skos:definition ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 28 ; - sh:path skos:broadMatch ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; sh:order 15 ; sh:path linkml:imported_from ], - [ sh:description "The actual permissible value itself" ; + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:text ], + sh:order 31 ; + sh:path pav:createdOn ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; sh:order 24 ; sh:path skos:exactMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 7 ; - sh:path dcterms:title ], + sh:order 35 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 11 ; + sh:path skos:note ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 26 ; + sh:path skos:relatedMatch ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; sh:order 12 ; sh:path linkml:examples ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path dcterms:source ], + [ sh:description "agent that contributed to the element" ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "The actual permissible value itself" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path linkml:text ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 37 ; + sh:path schema1:keywords ], [ sh:class qudt:Unit ; sh:description "an encoding of a unit" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 3 ; sh:path qudt:unit ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; - sh:path skos:closeMatch ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 18 ; - sh:path rdfs:seeAlso ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "Outstanding issues that needs resolution" ; + sh:order 34 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; sh:order 9 ; sh:path linkml:todos ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 35 ; - sh:path sh:order ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 21 ; - sh:path skos:altLabel ], - [ sh:description "time at which the element was created" ; + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdOn ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:extensions ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 26 ; - sh:path skos:relatedMatch ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 5 ; - sh:path linkml:annotations ], + sh:order 17 ; + sh:path schema1:inLanguage ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; sh:order 13 ; sh:path OIO:inSubset ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 10 ; - sh:path skos:editorialNote ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 37 ; - sh:path schema1:keywords ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], - [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path skos:inScheme ], [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; sh:order 23 ; sh:path skos:mappingRelation ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 27 ; - sh:path skos:narrowMatch ], - [ sh:description "status of the element" ; + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 34 ; - sh:path bibo:status ] ; + sh:order 19 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 21 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ] ; sh:targetClass linkml:PermissibleValue . linkml:ReachabilityQuery a sh:NodeShape ; sh:closed true ; sh:description "A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of relationship types (properties) that are used in a reachability query" ; - sh:order 2 ; - sh:path linkml:relationship_types ], - [ sh:description "True if the reachability query should only include directly related nodes, if False then include also transitively connected" ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True if the query is reflexive" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:is_direct ], + sh:order 4 ; + sh:path linkml:include_self ], [ sh:description "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values" ; sh:maxCount 1 ; sh:order 0 ; sh:path linkml:source_ontology ], - [ sh:description "True if the query is reflexive" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:include_self ], - [ sh:description "True if the direction of the reachability query is reversed and ancestors are retrieved" ; + [ sh:description "A list of relationship types (properties) that are used in a reachability query" ; + sh:order 2 ; + sh:path linkml:relationship_types ], + [ sh:datatype xsd:boolean ; + sh:description "True if the reachability query should only include directly related nodes, if False then include also transitively connected" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:traverse_up ], + sh:order 3 ; + sh:path linkml:is_direct ], [ sh:description "A list of nodes that are used in the reachability query" ; sh:order 1 ; - sh:path linkml:source_nodes ] ; + sh:path linkml:source_nodes ], + [ sh:datatype xsd:boolean ; + sh:description "True if the direction of the reachability query is reversed and ancestors are retrieved" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:traverse_up ] ; sh:targetClass linkml:ReachabilityQuery . linkml:EnumDefinition a sh:NodeShape ; sh:closed true ; sh:description "an element whose instances must be drawn from a specified set of permissible values" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Keywords or tags used to describe the element" ; - sh:order 60 ; - sh:path schema1:keywords ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 49 ; - sh:path skos:relatedMatch ], - [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; - sh:order 17 ; - sh:path linkml:values_from ], - [ sh:description "time at which the element was last updated" ; + sh:property [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 55 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 47 ; - sh:path skos:exactMatch ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 58 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 34 ; + sh:path skos:editorialNote ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 38 ; - sh:path linkml:imported_from ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + sh:order 44 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 29 ; - sh:path linkml:alt_descriptions ], - [ sh:description "the identifier of an enumeration code set." ; + sh:order 36 ; + sh:path linkml:examples ], + [ sh:class linkml:Definition ; + sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; + sh:nodeKind sh:IRI ; + sh:order 16 ; + sh:path linkml:apply_to ], + [ sh:description "Defines the specific formula to be used to generate the permissible values." ; + sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" "LABEL" ) ; sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:code_set ], + sh:order 4 ; + sh:path linkml:pv_formula ], + [ sh:class linkml:PermissibleValue ; + sh:description "A list of possible values for a slot range" ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path linkml:permissible_values ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 43 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 61 ; + sh:path schema1:keywords ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 60 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; + sh:maxCount 1 ; + sh:order 21 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:code_set_version ], [ sh:description "An element in another schema which this element instantiates." ; - sh:order 25 ; + sh:order 26 ; sh:path linkml:instantiates ], - [ sh:class linkml:AnonymousEnumExpression ; - sh:description "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; - sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:minus ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 52 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 58 ; + sh:order 59 ; sh:path sh:order ], - [ sh:description "the primary language used in the sources" ; + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 33 ; + sh:path linkml:todos ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 50 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; sh:maxCount 1 ; - sh:order 40 ; - sh:path schema1:inLanguage ], - [ sh:description "URI of the enum that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + sh:order 14 ; + sh:path linkml:mixin ], + [ sh:description "agent that contributed to the element" ; + sh:order 54 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. +We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. +Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects +For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:enum_uri ], + sh:order 18 ; + sh:path linkml:string_serialization ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 46 ; + sh:path skosxl:altLabel ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 42 ; + sh:path rdfs:seeAlso ], [ sh:class linkml:Annotation ; sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 27 ; + sh:order 28 ; sh:path linkml:annotations ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 43 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "the version tag of the enumeration code set" ; + sh:order 39 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 20 ; + sh:path linkml:id_prefixes ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:code_set_tag ], + sh:order 22 ; + sh:path linkml:definition_uri ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 57 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 29 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 31 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path linkml:deprecated ], [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 24 ; + sh:order 25 ; sh:path linkml:implements ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 44 ; - sh:path skos:altLabel ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 19 ; - sh:path rdfs:label ], - [ sh:class linkml:EnumDefinition ; - sh:description "An enum definition that is used as the basis to create a new enum" ; + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 30 ; + sh:path linkml:alt_descriptions ], + [ sh:class linkml:Definition ; + sh:description "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; sh:nodeKind sh:IRI ; - sh:order 8 ; - sh:path linkml:inherits ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 59 ; - sh:path dcterms:subject ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 15 ; + sh:path linkml:mixins ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + sh:maxCount 1 ; + sh:order 13 ; + sh:path linkml:abstract ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; sh:order 51 ; - sh:path skos:broadMatch ], - [ sh:class linkml:ReachabilityQuery ; - sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path linkml:reachable_from ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 35 ; - sh:path linkml:examples ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 34 ; - sh:path skos:note ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; sh:order 41 ; - sh:path rdfs:seeAlso ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 39 ; - sh:path dcterms:source ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 33 ; - sh:path skos:editorialNote ], - [ sh:description "the version identifier of the enumeration code set" ; + sh:path schema1:inLanguage ], + [ sh:class linkml:AnonymousEnumExpression ; + sh:description "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:include ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 49 ; + sh:path skos:closeMatch ], + [ sh:class linkml:Definition ; + sh:description "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:code_set_version ], - [ sh:description "id of the schema that defined the element" ; + sh:nodeKind sh:IRI ; + sh:order 12 ; + sh:path linkml:is_a ], + [ sh:description "URI of the enum that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path skos:inScheme ], + sh:order 0 ; + sh:path linkml:enum_uri ], + [ sh:description "A list of identifiers that are used to construct a set of permissible values" ; + sh:order 11 ; + sh:path linkml:concepts ], + [ sh:class linkml:AnonymousEnumExpression ; + sh:description "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; + sh:nodeKind sh:BlankNode ; + sh:order 7 ; + sh:path linkml:minus ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 26 ; + sh:order 27 ; sh:path linkml:extensions ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 22 ; - sh:path linkml:local_names ], - [ sh:description "Defines the specific formula to be used to generate the permissible values." ; - sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" ) ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:pv_formula ], - [ sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - sh:order 28 ; - sh:path skos:definition ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 32 ; - sh:path linkml:todos ], - [ sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. -We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. -Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects -For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:string_serialization ], - [ sh:class linkml:Definition ; - sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; + sh:minCount 1 ; + sh:order 19 ; + sh:path rdfs:label ], + [ sh:class linkml:EnumDefinition ; + sh:description "An enum definition that is used as the basis to create a new enum" ; sh:nodeKind sh:IRI ; - sh:order 16 ; - sh:path linkml:apply_to ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:order 8 ; + sh:path linkml:inherits ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:definition_uri ], - [ sh:class linkml:Definition ; - sh:description "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; + sh:order 56 ; + sh:path pav:lastUpdatedOn ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 48 ; + sh:path skos:exactMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 47 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 45 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 12 ; - sh:path linkml:is_a ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 20 ; - sh:path linkml:id_prefixes ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:order 24 ; + sh:path dcterms:conformsTo ], + [ sh:description "the identifier of an enumeration code set." ; sh:maxCount 1 ; - sh:order 42 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:class linkml:Definition ; - sh:description "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; - sh:nodeKind sh:IRI ; - sh:order 15 ; - sh:path linkml:mixins ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 50 ; - sh:path skos:narrowMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:order 1 ; + sh:path linkml:code_set ], + [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + sh:order 17 ; + sh:path linkml:values_from ], + [ sh:datatype xsd:string ; + sh:description "the version tag of the enumeration code set" ; sh:maxCount 1 ; - sh:order 30 ; - sh:path dcterms:title ], - [ sh:class linkml:PermissibleValue ; - sh:description "A list of possible values for a slot range" ; + sh:order 2 ; + sh:path linkml:code_set_tag ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 40 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 35 ; + sh:path skos:note ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path linkml:permissible_values ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 45 ; - sh:path skosxl:altLabel ], - [ sh:description "status of the element" ; + sh:order 37 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 57 ; - sh:path bibo:status ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 46 ; - sh:path skos:mappingRelation ], - [ sh:description "time at which the element was created" ; + sh:order 38 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 54 ; + sh:order 55 ; sh:path pav:createdOn ], [ sh:class linkml:MatchQuery ; sh:description "Specifies a match query that is used to calculate the list of permissible values" ; @@ -1935,476 +2523,524 @@ For example, a Measurement class may have 3 fields: unit, value, and string_valu sh:nodeKind sh:BlankNode ; sh:order 10 ; sh:path linkml:matches ], - [ sh:class linkml:AnonymousEnumExpression ; - sh:description "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:include ], - [ sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path linkml:mixin ], - [ sh:description "A list of identifiers that are used to construct a set of permissible values" ; - sh:order 11 ; - sh:path linkml:concepts ], - [ sh:description "An established standard to which the element conforms." ; + [ sh:class linkml:ReachabilityQuery ; + sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; sh:maxCount 1 ; - sh:order 23 ; - sh:path dcterms:conformsTo ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 36 ; - sh:path OIO:inSubset ], + sh:nodeKind sh:BlankNode ; + sh:order 9 ; + sh:path linkml:reachable_from ], [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 52 ; - sh:path pav:createdBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 48 ; - sh:path skos:closeMatch ], - [ sh:description "agent that contributed to the element" ; sh:order 53 ; - sh:path dcterms:contributor ], - [ sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:abstract ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 31 ; - sh:path linkml:deprecated ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 56 ; - sh:path oslc:modifiedBy ] ; + sh:path pav:createdBy ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 23 ; + sh:path linkml:local_names ] ; sh:targetClass linkml:EnumDefinition . linkml:TypeDefinition a sh:NodeShape ; sh:closed true ; sh:description "an element that whose instances are atomic scalar values that can be mapped to primitive types" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 36 ; - sh:path skos:inScheme ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 38 ; - sh:path dcterms:source ], - [ sh:description "the name of the python object that implements this type definition" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:repr ], + sh:property [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 60 ; + sh:path schema1:keywords ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 25 ; + sh:order 26 ; sh:path linkml:extensions ], - [ sh:description "agent that modified the element" ; + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 45 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 10 ; + sh:path linkml:equals_string_in ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 55 ; - sh:path oslc:modifiedBy ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + sh:order 52 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path qudt:unit ], - [ sh:class linkml:TypeDefinition ; + sh:order 23 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 40 ; + sh:path schema1:inLanguage ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 39 ; + sh:path dcterms:source ], + [ sh:class linkml:TypeDefinition ; sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path linkml:union_of ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:pattern ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 50 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 31 ; + sh:path linkml:deprecated ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 56 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 22 ; + sh:path linkml:local_names ], [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; sh:maxCount 1 ; - sh:order 20 ; + sh:order 21 ; sh:path linkml:definition_uri ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 26 ; - sh:path linkml:annotations ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:implicit_prefix ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 47 ; + sh:path skos:exactMatch ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + sh:order 24 ; + sh:path linkml:implements ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 30 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; sh:order 32 ; - sh:path skos:editorialNote ], - [ sh:description "status of the element" ; + sh:path linkml:todos ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; - sh:order 56 ; - sh:path bibo:status ], + sh:nodeKind sh:BlankNode ; + sh:order 12 ; + sh:path linkml:minimum_value ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 49 ; + sh:path skos:relatedMatch ], + [ sh:class linkml:PatternExpression ; + sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:structured_pattern ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if none of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 14 ; sh:path linkml:none_of ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 30 ; - sh:path linkml:deprecated ], - [ sh:description "An established standard to which the element conforms." ; - sh:maxCount 1 ; - sh:order 22 ; - sh:path dcterms:conformsTo ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 10 ; - sh:path linkml:equals_string_in ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:pattern ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 33 ; - sh:path skos:note ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:maximum_value ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 35 ; + sh:order 36 ; sh:path OIO:inSubset ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; + [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; sh:maxCount 1 ; sh:order 11 ; sh:path linkml:equals_number ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 44 ; - sh:path skosxl:altLabel ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 29 ; - sh:path dcterms:title ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 59 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path linkml:imported_from ], - [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 15 ; - sh:path linkml:exactly_one_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 49 ; - sh:path skos:narrowMatch ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 23 ; - sh:path linkml:implements ], - [ sh:description "time at which the element was last updated" ; + sh:order 28 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; sh:maxCount 1 ; - sh:order 54 ; - sh:path pav:lastUpdatedOn ], + sh:order 9 ; + sh:path linkml:equals_string ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 44 ; + sh:path skos:altLabel ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 16 ; sh:path linkml:any_of ], - [ sh:class linkml:TypeDefinition ; - sh:description "A parent type from which type properties are inherited" ; - sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:typeof ], - [ sh:description "The uri that defines the possible values for the type definition" ; + [ sh:datatype xsd:string ; + sh:description "the name of the python object that implements this type definition" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:type_uri ], - [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:order 3 ; + sh:path linkml:repr ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; sh:maxCount 1 ; - sh:order 9 ; - sh:path linkml:equals_string ], + sh:minCount 1 ; + sh:order 18 ; + sh:path rdfs:label ], [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 47 ; + sh:order 48 ; sh:path skos:closeMatch ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 43 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 17 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 37 ; + sh:path skos:inScheme ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 15 ; + sh:path linkml:exactly_one_of ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 25 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 38 ; + sh:path linkml:imported_from ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 28 ; + sh:order 29 ; sh:path linkml:alt_descriptions ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 46 ; - sh:path skos:exactMatch ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 50 ; - sh:path skos:broadMatch ], - [ sh:description "the primary language used in the sources" ; + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 27 ; + sh:path linkml:annotations ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 35 ; + sh:path linkml:examples ], + [ sh:description "The uri that defines the possible values for the type definition" ; sh:maxCount 1 ; - sh:order 39 ; - sh:path schema1:inLanguage ], + sh:order 2 ; + sh:path linkml:type_uri ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 58 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 34 ; + sh:path skos:note ], [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 45 ; + sh:order 46 ; sh:path skos:mappingRelation ], - [ sh:description "python base type in the LinkML runtime that implements this type definition" ; + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 57 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "python base type in the LinkML runtime that implements this type definition" ; sh:maxCount 1 ; sh:order 1 ; sh:path linkml:base ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 42 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 59 ; - sh:path schema1:keywords ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 51 ; - sh:path pav:createdBy ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; sh:maxCount 1 ; - sh:order 57 ; - sh:path sh:order ], - [ sh:description "An element in another schema which this element instantiates." ; - sh:order 24 ; - sh:path linkml:instantiates ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 34 ; - sh:path linkml:examples ], - [ sh:description "time at which the element was created" ; + sh:order 13 ; + sh:path linkml:maximum_value ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 53 ; + sh:order 54 ; sh:path pav:createdOn ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 51 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 18 ; - sh:path rdfs:label ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 31 ; - sh:path linkml:todos ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 40 ; - sh:path rdfs:seeAlso ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; + sh:order 20 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:minimum_value ], + sh:nodeKind sh:BlankNode ; + sh:order 7 ; + sh:path qudt:unit ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 33 ; + sh:path skos:editorialNote ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 41 ; + sh:order 42 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:implicit_prefix ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 48 ; - sh:path skos:relatedMatch ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 19 ; + sh:path linkml:id_prefixes ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 41 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:TypeDefinition ; + sh:description "A parent type from which type properties are inherited" ; sh:maxCount 1 ; - sh:order 27 ; - sh:path skos:definition ], + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path linkml:typeof ], [ sh:description "agent that contributed to the element" ; - sh:order 52 ; + sh:order 53 ; sh:path dcterms:contributor ], - [ sh:class linkml:PatternExpression ; - sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:structured_pattern ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 43 ; - sh:path skos:altLabel ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 19 ; - sh:path linkml:id_prefixes ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 58 ; - sh:path dcterms:subject ], - [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 17 ; - sh:path linkml:all_of ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 21 ; - sh:path linkml:local_names ] ; + sh:order 55 ; + sh:path pav:lastUpdatedOn ] ; sh:targetClass linkml:TypeDefinition . linkml:AnonymousEnumExpression a sh:NodeShape ; sh:closed true ; sh:description "An enum_expression that is not named" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "the identifier of an enumeration code set." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:code_set ], - [ sh:class linkml:EnumDefinition ; - sh:description "An enum definition that is used as the basis to create a new enum" ; - sh:nodeKind sh:IRI ; - sh:order 7 ; - sh:path linkml:inherits ], - [ sh:description "the version identifier of the enumeration code set" ; + sh:property [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; sh:maxCount 1 ; sh:order 2 ; sh:path linkml:code_set_version ], + [ sh:description "Defines the specific formula to be used to generate the permissible values." ; + sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" "LABEL" ) ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:pv_formula ], + [ sh:description "A list of identifiers that are used to construct a set of permissible values" ; + sh:order 10 ; + sh:path linkml:concepts ], [ sh:class linkml:ReachabilityQuery ; sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 8 ; sh:path linkml:reachable_from ], + [ sh:class linkml:PermissibleValue ; + sh:description "A list of possible values for a slot range" ; + sh:nodeKind sh:IRI ; + sh:order 4 ; + sh:path linkml:permissible_values ], [ sh:class linkml:AnonymousEnumExpression ; sh:description "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" ; sh:nodeKind sh:BlankNode ; sh:order 5 ; sh:path linkml:include ], + [ sh:description "the identifier of an enumeration code set." ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path linkml:code_set ], + [ sh:datatype xsd:string ; + sh:description "the version tag of the enumeration code set" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:code_set_tag ], [ sh:class linkml:AnonymousEnumExpression ; sh:description "An enum expression that yields a list of permissible values that are to be subtracted from the enum" ; sh:nodeKind sh:BlankNode ; sh:order 6 ; sh:path linkml:minus ], - [ sh:description "A list of identifiers that are used to construct a set of permissible values" ; - sh:order 10 ; - sh:path linkml:concepts ], + [ sh:class linkml:EnumDefinition ; + sh:description "An enum definition that is used as the basis to create a new enum" ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path linkml:inherits ], [ sh:class linkml:MatchQuery ; sh:description "Specifies a match query that is used to calculate the list of permissible values" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 9 ; - sh:path linkml:matches ], - [ sh:class linkml:PermissibleValue ; - sh:description "A list of possible values for a slot range" ; - sh:nodeKind sh:IRI ; - sh:order 4 ; - sh:path linkml:permissible_values ], - [ sh:description "the version tag of the enumeration code set" ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:code_set_tag ], - [ sh:description "Defines the specific formula to be used to generate the permissible values." ; - sh:in ( "CODE" "CURIE" "URI" "FHIR_CODING" ) ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:pv_formula ] ; + sh:path linkml:matches ] ; sh:targetClass linkml:AnonymousEnumExpression . linkml:PathExpression a sh:NodeShape ; sh:closed true ; sh:description "An expression that describes an abstract path from an object to another through a sequence of slot lookups" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path skos:inScheme ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 16 ; - sh:path skos:note ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:property [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 26 ; + sh:path skos:altLabel ], + [ sh:class linkml:PathExpression ; + sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:extensions ], - [ sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - sh:order 10 ; - sh:path skos:definition ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 37 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:deprecated ], - [ sh:description "true if the slot is to be inversed" ; + sh:order 3 ; + sh:path linkml:all_of ], + [ sh:class linkml:PathExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:exactly_one_of ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:reversed ], - [ sh:description "agent that contributed to the element" ; - sh:order 35 ; - sh:path dcterms:contributor ], + sh:order 22 ; + sh:path schema1:inLanguage ], [ sh:class linkml:SlotDefinition ; sh:description "the slot to traverse" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 6 ; sh:path linkml:traverse ], - [ sh:description "time at which the element was created" ; - sh:maxCount 1 ; - sh:order 36 ; - sh:path pav:createdOn ], + [ sh:description "agent that contributed to the element" ; + sh:order 35 ; + sh:path dcterms:contributor ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; sh:order 17 ; sh:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 42 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 40 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path dcterms:title ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 33 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 37 ; + sh:path pav:lastUpdatedOn ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 25 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 30 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:boolean ; + sh:description "true if the slot is to be inversed" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:reversed ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 14 ; + sh:path linkml:todos ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 39 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 10 ; + sh:path skos:definition ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; sh:order 29 ; sh:path skos:exactMatch ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 16 ; + sh:path skos:note ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 36 ; + sh:path pav:createdOn ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 27 ; - sh:path skosxl:altLabel ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:order 8 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 25 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 32 ; - sh:path skos:narrowMatch ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 42 ; - sh:path schema1:keywords ], + sh:order 13 ; + sh:path linkml:deprecated ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 18 ; + sh:path OIO:inSubset ], [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; sh:order 31 ; sh:path skos:relatedMatch ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 15 ; - sh:path skos:editorialNote ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 28 ; - sh:path skos:mappingRelation ], - [ sh:class linkml:PathExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:all_of ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 40 ; - sh:path sh:order ], - [ sh:description "agent that modified the element" ; + sh:order 21 ; + sh:path dcterms:source ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 38 ; - sh:path oslc:modifiedBy ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 41 ; - sh:path dcterms:subject ], + sh:order 34 ; + sh:path pav:createdBy ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 32 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:PathExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 1 ; + sh:path linkml:none_of ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 27 ; + sh:path skosxl:altLabel ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; sh:order 11 ; sh:path linkml:alt_descriptions ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:imported_from ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 39 ; - sh:path bibo:status ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 26 ; - sh:path skos:altLabel ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 9 ; + sh:path linkml:annotations ], [ sh:class linkml:PathExpression ; sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 2 ; sh:path linkml:any_of ], - [ sh:description "the primary language used in the sources" ; + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path schema1:inLanguage ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 33 ; - sh:path skos:broadMatch ], + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 41 ; + sh:path dcterms:subject ], [ sh:class linkml:AnonymousClassExpression ; sh:description "A range that is described as a boolean expression combining existing ranges" ; sh:maxCount 1 ; @@ -2415,237 +3051,233 @@ linkml:PathExpression a sh:NodeShape ; sh:maxCount 1 ; sh:order 24 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path linkml:annotations ], - [ sh:class linkml:PathExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:exactly_one_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 30 ; - sh:path skos:closeMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 38 ; + sh:path oslc:modifiedBy ], [ sh:description "A list of related entities or URLs that may be of relevance" ; sh:order 23 ; sh:path rdfs:seeAlso ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path pav:createdBy ], - [ sh:class linkml:PathExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:none_of ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 15 ; + sh:path skos:editorialNote ], [ sh:class linkml:PathExpression ; sh:description "in a sequential list, this indicates the next member" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 0 ; - sh:path linkml:followed_by ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path dcterms:source ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 18 ; - sh:path OIO:inSubset ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path dcterms:title ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 14 ; - sh:path linkml:todos ] ; + sh:path linkml:followed_by ] ; sh:targetClass linkml:PathExpression . linkml:PatternExpression a sh:NodeShape ; sh:closed true ; sh:description "a regular expression pattern used to evaluate conformance of a string" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; - sh:path skos:closeMatch ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path dcterms:source ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path OIO:inSubset ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 21 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 24 ; - sh:path skos:exactMatch ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:annotations ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 9 ; - sh:path linkml:todos ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated." ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:syntax ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:property [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:boolean ; + sh:description "if true then the pattern is first string interpolated" ; sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "the primary language used in the sources" ; + sh:order 1 ; + sh:path linkml:interpolated ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], + sh:order 31 ; + sh:path pav:createdOn ], [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; sh:order 28 ; sh:path skos:broadMatch ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 12 ; + sh:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path dcterms:title ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:description "agent that contributed to the element" ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 21 ; + sh:path skos:altLabel ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 22 ; + sh:path skosxl:altLabel ], [ sh:description "Controlled terms used to categorize an element." ; sh:order 36 ; sh:path dcterms:subject ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; sh:order 10 ; sh:path skos:editorialNote ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 33 ; - sh:path oslc:modifiedBy ], - [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 14 ; - sh:path skos:inScheme ], [ sh:description "status of the element" ; sh:maxCount 1 ; sh:order 34 ; sh:path bibo:status ], - [ sh:description "time at which the element was last updated" ; + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path OIO:inSubset ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 11 ; - sh:path skos:note ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 7 ; - sh:path dcterms:title ], - [ sh:description "if true then the pattern is first string interpolated" ; + sh:order 16 ; + sh:path dcterms:source ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated." ; sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:interpolated ], - [ sh:description "time at which the element was created" ; + sh:order 0 ; + sh:path linkml:syntax ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdOn ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 22 ; - sh:path skosxl:altLabel ], - [ sh:description "agent that contributed to the element" ; - sh:order 30 ; - sh:path dcterms:contributor ], + sh:order 29 ; + sh:path pav:createdBy ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 24 ; + sh:path skos:exactMatch ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; sh:order 19 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 37 ; + sh:path schema1:keywords ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 35 ; - sh:path sh:order ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 26 ; - sh:path skos:relatedMatch ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:order 33 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:boolean ; + sh:description "if not true then the pattern must match the whole string, as if enclosed in ^...$" ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:partial_match ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; sh:order 5 ; sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path linkml:imported_from ], [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; sh:order 27 ; sh:path skos:narrowMatch ], - [ sh:description "if not true then the pattern must match the whole string, as if enclosed in ^...$" ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:partial_match ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:extensions ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:alt_descriptions ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 12 ; - sh:path linkml:examples ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:order 4 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 11 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:imported_from ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 18 ; - sh:path rdfs:seeAlso ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 23 ; - sh:path skos:mappingRelation ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 37 ; - sh:path schema1:keywords ] ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 35 ; + sh:path sh:order ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 26 ; + sh:path skos:relatedMatch ] ; sh:targetClass linkml:PatternExpression . qudt:Unit a sh:NodeShape ; sh:closed true ; - sh:description "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension)." ; + sh:description "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension)." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Expression for deriving this unit from other units" ; + sh:property [ sh:datatype xsd:string ; + sh:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:derivation ], - [ sh:description "the spelled out name of the unit, for example, meter" ; + sh:order 1 ; + sh:path qudt:abbreviation ], + [ sh:datatype xsd:string ; + sh:description "the spelled out name of the unit, for example, meter" ; sh:maxCount 1 ; sh:order 2 ; sh:path rdfs:label ], - [ sh:description "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)" ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path qudt:abbreviation ], - [ sh:description "name of the unit encoded as a symbol" ; + [ sh:datatype xsd:string ; + sh:description "Expression for deriving this unit from other units" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path qudt:symbol ], - [ sh:description "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length" ; + sh:order 5 ; + sh:path linkml:derivation ], + [ sh:description "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length" ; sh:maxCount 1 ; sh:order 6 ; sh:path qudt:hasQuantityKind ], - [ sh:description "associates a QUDT unit with its UCUM code (case-sensitive)." ; + [ sh:datatype xsd:string ; + sh:description "name of the unit encoded as a symbol" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path qudt:symbol ], + [ sh:datatype xsd:string ; + sh:description "associates a QUDT unit with its UCUM code (case-sensitive)." ; sh:maxCount 1 ; sh:order 4 ; sh:path qudt:ucumCode ], [ sh:description "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; sh:order 3 ; sh:path skos:exactMatch ], - [ sh:maxCount 1 ; + [ sh:datatype xsd:string ; + sh:maxCount 1 ; sh:order 7 ; sh:path qudt:iec61360Code ] ; sh:targetClass qudt:Unit . @@ -2654,1250 +3286,1218 @@ linkml:ClassDefinition a sh:NodeShape ; sh:closed true ; sh:description "an element whose instances are complex objects that may have slot-value assignments" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "true if this class represents a relationship rather than an entity" ; + sh:property [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 58 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:boolean ; + sh:description "if true then induced/mangled slot names are not created for class_usage and attributes" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:represents_relationship ], - [ sh:class linkml:UniqueKey ; - sh:description "A collection of named unique keys for this class. Unique keys may be singular or compound." ; + sh:order 11 ; + sh:path linkml:slot_names_unique ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:unique_keys ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 57 ; - sh:path skos:relatedMatch ], - [ sh:class linkml:ClassDefinition ; - sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path linkml:union_of ], - [ sh:description "agent that contributed to the element" ; + sh:order 54 ; + sh:path skosxl:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 55 ; + sh:path skos:mappingRelation ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; sh:order 61 ; - sh:path dcterms:contributor ], - [ sh:class linkml:SlotDefinition ; - sh:description "expresses constraints on a group of slots for a class expression" ; - sh:nodeKind sh:IRI ; - sh:order 19 ; - sh:path linkml:slot_conditions ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 49 ; - sh:path rdfs:seeAlso ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 40 ; - sh:path linkml:todos ], - [ sh:description "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" ; - sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:subclass_of ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 68 ; - sh:path schema1:keywords ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 48 ; - sh:path schema1:inLanguage ], - [ sh:description "A related resource from which the element is derived." ; + sh:path pav:createdBy ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:order 47 ; - sh:path dcterms:source ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 67 ; - sh:path dcterms:subject ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 34 ; - sh:path linkml:extensions ], - [ sh:class linkml:ClassDefinition ; - sh:description "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" ; + sh:order 29 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:class linkml:SlotDefinition ; + sh:description "Inline definition of slots" ; sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path linkml:disjoint_with ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:order 2 ; + sh:path linkml:attributes ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 27 ; - sh:path rdfs:label ], + sh:order 22 ; + sh:path linkml:mixin ], [ sh:class linkml:AnonymousClassExpression ; sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 18 ; sh:path linkml:all_of ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 37 ; - sh:path linkml:alt_descriptions ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:order 38 ; - sh:path dcterms:title ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance." ; - sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:classification_rules ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 53 ; - sh:path skosxl:altLabel ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 30 ; - sh:path linkml:local_names ], - [ sh:description "If true then all direct is_a children are mutually disjoint and share no instances in common" ; + sh:order 32 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 14 ; - sh:path linkml:children_are_mutually_disjoint ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 35 ; - sh:path linkml:annotations ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 17 ; - sh:path linkml:none_of ], - [ sh:class linkml:SlotDefinition ; - sh:description "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom" ; + sh:order 63 ; + sh:path pav:createdOn ], + [ sh:class linkml:ClassDefinition ; + sh:description "A collection of secondary parent mixin classes from which inheritable metaslots are propagated" ; sh:nodeKind sh:IRI ; - sh:order 6 ; - sh:path linkml:defining_slots ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 46 ; - sh:path linkml:imported_from ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 39 ; - sh:path linkml:deprecated ], + sh:order 23 ; + sh:path linkml:mixins ], [ sh:class linkml:SlotDefinition ; - sh:description "Inline definition of slots" ; - sh:nodeKind sh:IRI ; - sh:order 2 ; - sh:path linkml:attributes ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 52 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 54 ; - sh:path skos:mappingRelation ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 58 ; - sh:path skos:narrowMatch ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:description "the refinement of a slot in the context of the containing class definition." ; sh:nodeKind sh:IRI ; - sh:order 44 ; - sh:path OIO:inSubset ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 56 ; - sh:path skos:closeMatch ], - [ sh:description "if true then induced/mangled slot names are not created for class_usage and attributes" ; - sh:maxCount 1 ; - sh:order 11 ; - sh:path linkml:slot_names_unique ], - [ sh:class linkml:ClassRule ; - sh:description "the collection of rules that apply to all members of this class" ; - sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path sh:rule ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 59 ; - sh:path skos:broadMatch ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 16 ; - sh:path linkml:exactly_one_of ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:order 1 ; + sh:path linkml:slot_usage ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; sh:maxCount 1 ; - sh:order 50 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. + sh:order 21 ; + sh:path linkml:abstract ], + [ sh:datatype xsd:string ; + sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; sh:maxCount 1 ; sh:order 26 ; sh:path linkml:string_serialization ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 60 ; - sh:path pav:createdBy ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 32 ; - sh:path linkml:implements ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 43 ; - sh:path linkml:examples ], - [ sh:description "An established standard to which the element conforms." ; - sh:maxCount 1 ; - sh:order 31 ; - sh:path dcterms:conformsTo ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 41 ; - sh:path skos:editorialNote ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 51 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 66 ; + sh:order 67 ; sh:path sh:order ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; - sh:maxCount 1 ; - sh:order 29 ; - sh:path linkml:definition_uri ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 16 ; + sh:path linkml:exactly_one_of ], [ sh:class linkml:ClassDefinition ; sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; sh:nodeKind sh:IRI ; sh:order 24 ; sh:path linkml:apply_to ], - [ sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; + [ sh:datatype xsd:boolean ; + sh:description "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path linkml:mixin ], - [ sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - sh:order 36 ; - sh:path skos:definition ], + sh:order 7 ; + sh:path linkml:tree_root ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 69 ; + sh:path schema1:keywords ], [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 64 ; + sh:order 65 ; sh:path oslc:modifiedBy ], - [ sh:description "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations" ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path linkml:tree_root ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 28 ; - sh:path linkml:id_prefixes ], [ sh:class linkml:ClassDefinition ; - sh:description "A collection of secondary parent mixin classes from which inheritable metaslots are propagated" ; + sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; sh:nodeKind sh:IRI ; - sh:order 23 ; - sh:path linkml:mixins ], - [ sh:class linkml:ClassDefinition ; - sh:description "A primary parent class from which inheritable metaslots are propagated" ; + sh:order 5 ; + sh:path linkml:union_of ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 20 ; - sh:path linkml:is_a ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 55 ; - sh:path skos:exactMatch ], + sh:order 46 ; + sh:path skos:inScheme ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 38 ; + sh:path linkml:alt_descriptions ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + sh:order 33 ; + sh:path linkml:implements ], [ sh:class linkml:SlotDefinition ; sh:description "collection of slot names that are applicable to a class" ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path linkml:slots ], - [ sh:description "time at which the element was last updated" ; + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 63 ; + sh:order 64 ; sh:path pav:lastUpdatedOn ], - [ sh:description "time at which the element was created" ; - sh:maxCount 1 ; - sh:order 62 ; - sh:path pav:createdOn ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; sh:order 42 ; - sh:path skos:note ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 65 ; - sh:path bibo:status ], - [ sh:description "An element in another schema which this element instantiates." ; - sh:order 33 ; - sh:path linkml:instantiates ], - [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 45 ; - sh:path skos:inScheme ], - [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; - sh:order 25 ; - sh:path linkml:values_from ], - [ sh:class linkml:SlotDefinition ; - sh:description "the refinement of a slot in the context of the containing class definition." ; - sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path linkml:slot_usage ], - [ sh:description "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + sh:path skos:editorialNote ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:class_uri ], - [ sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + sh:order 48 ; + sh:path dcterms:source ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 68 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:abstract ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if at least one of the expressions hold" ; + sh:order 39 ; + sh:path dcterms:title ], + [ sh:class linkml:ClassRule ; + sh:description "the collection of rules that apply to all members of this class" ; sh:nodeKind sh:BlankNode ; - sh:order 15 ; - sh:path linkml:any_of ] ; - sh:targetClass linkml:ClassDefinition . - -linkml:Definition a sh:NodeShape ; - sh:closed false ; - sh:description "abstract base class for core metaclasses" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 35 ; - sh:path skos:exactMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path dcterms:title ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 37 ; - sh:path skos:relatedMatch ], - [ sh:class linkml:LocalName ; + sh:order 9 ; + sh:path sh:rule ], + [ sh:class linkml:UniqueKey ; + sh:description "A collection of named unique keys for this class. Unique keys may be singular or compound." ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:local_names ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + sh:order 8 ; + sh:path linkml:unique_keys ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 27 ; + sh:path rdfs:label ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if none of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 17 ; - sh:path linkml:alt_descriptions ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 31 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path linkml:definition_uri ], - [ sh:description "A related resource from which the element is derived." ; + sh:path linkml:none_of ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 28 ; + sh:path linkml:id_prefixes ], + [ sh:datatype xsd:boolean ; + sh:description "If true then all direct is_a children are mutually disjoint and share no instances in common" ; sh:maxCount 1 ; - sh:order 27 ; - sh:path dcterms:source ], + sh:order 14 ; + sh:path linkml:children_are_mutually_disjoint ], + [ sh:class linkml:ClassDefinition ; + sh:description "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path linkml:disjoint_with ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 14 ; + sh:order 35 ; sh:path linkml:extensions ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 43 ; + sh:path skos:note ], + [ sh:description "agent that contributed to the element" ; + sh:order 62 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 49 ; + sh:path schema1:inLanguage ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; sh:order 36 ; - sh:path skos:closeMatch ], - [ sh:description "time at which the element was last updated" ; + sh:path linkml:annotations ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:maxCount 1 ; + sh:order 30 ; + sh:path linkml:definition_uri ], + [ sh:description "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" ; + sh:maxCount 1 ; + sh:order 4 ; + sh:path linkml:subclass_of ], + [ sh:description "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:class_uri ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 60 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 43 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "Controlled terms used to categorize an element." ; sh:order 47 ; - sh:path dcterms:subject ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 8 ; - sh:path linkml:id_prefixes ], - [ sh:description "the primary language used in the sources" ; + sh:path linkml:imported_from ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 57 ; + sh:path skos:closeMatch ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 28 ; - sh:path schema1:inLanguage ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:order 52 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:ClassDefinition ; + sh:description "A primary parent class from which inheritable metaslots are propagated" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 7 ; - sh:path rdfs:label ], - [ sh:description "status of the element" ; + sh:nodeKind sh:IRI ; + sh:order 20 ; + sh:path linkml:is_a ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 44 ; + sh:path linkml:examples ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 50 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 45 ; - sh:path bibo:status ], - [ sh:description "An element in another schema which this element instantiates." ; - sh:order 13 ; - sh:path linkml:instantiates ], + sh:order 40 ; + sh:path linkml:deprecated ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 24 ; + sh:order 45 ; sh:path OIO:inSubset ], - [ sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 56 ; + sh:path skos:exactMatch ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 15 ; + sh:path linkml:any_of ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:mixin ], - [ sh:class linkml:Definition ; + sh:order 37 ; + sh:path skos:definition ], + [ sh:class linkml:SlotDefinition ; + sh:description "expresses constraints on a group of slots for a class expression" ; + sh:nodeKind sh:IRI ; + sh:order 19 ; + sh:path linkml:slot_conditions ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance." ; + sh:nodeKind sh:BlankNode ; + sh:order 10 ; + sh:path linkml:classification_rules ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 53 ; + sh:path skos:altLabel ], + [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + sh:order 25 ; + sh:path linkml:values_from ], + [ sh:class linkml:SlotDefinition ; + sh:description "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom" ; + sh:nodeKind sh:IRI ; + sh:order 6 ; + sh:path linkml:defining_slots ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 51 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:boolean ; + sh:description "true if this class represents a relationship rather than an entity" ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path linkml:represents_relationship ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 59 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 31 ; + sh:path linkml:local_names ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 34 ; + sh:path linkml:instantiates ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 66 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 41 ; + sh:path linkml:todos ] ; + sh:targetClass linkml:ClassDefinition . + +linkml:Definition a sh:NodeShape ; + sh:closed false ; + sh:description "abstract base class for core metaclasses" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class linkml:Definition ; sh:description "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; sh:order 0 ; sh:path linkml:is_a ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 29 ; - sh:path rdfs:seeAlso ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 46 ; - sh:path sh:order ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 23 ; - sh:path linkml:examples ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 39 ; - sh:path skos:broadMatch ], - [ sh:description "time at which the element was created" ; - sh:maxCount 1 ; - sh:order 42 ; - sh:path pav:createdOn ], [ sh:class linkml:Definition ; sh:description "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; sh:nodeKind sh:IRI ; sh:order 3 ; sh:path linkml:mixins ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 21 ; - sh:path skos:editorialNote ], - [ sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:abstract ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 22 ; + sh:order 45 ; + sh:path oslc:modifiedBy ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:maxCount 1 ; + sh:order 10 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 23 ; sh:path skos:note ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 12 ; - sh:path linkml:implements ], - [ sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. -We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. -Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects -For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:string_serialization ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 38 ; - sh:path skos:narrowMatch ], + sh:order 9 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 33 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 22 ; + sh:path skos:editorialNote ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 40 ; + sh:path skos:broadMatch ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 24 ; + sh:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 8 ; + sh:path linkml:id_prefixes ], [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 40 ; + sh:order 41 ; sh:path pav:createdBy ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 48 ; - sh:path schema1:keywords ], - [ sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 21 ; + sh:path linkml:todos ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path skos:definition ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 33 ; - sh:path skosxl:altLabel ], + sh:order 43 ; + sh:path pav:createdOn ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 11 ; + sh:path linkml:local_names ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 49 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:order 47 ; + sh:path sh:order ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 48 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:abstract ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 19 ; + sh:path dcterms:title ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 16 ; + sh:path linkml:annotations ], [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 34 ; + sh:order 35 ; sh:path skos:mappingRelation ], - [ sh:description "Outstanding issues that needs resolution" ; + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 36 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 26 ; + sh:path skos:inScheme ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 34 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 27 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; sh:order 20 ; - sh:path linkml:todos ], - [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; - sh:order 5 ; - sh:path linkml:values_from ], - [ sh:description "agent that modified the element" ; + sh:path linkml:deprecated ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 39 ; + sh:path skos:narrowMatch ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + sh:order 13 ; + sh:path linkml:implements ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 14 ; + sh:path linkml:instantiates ], + [ sh:description "agent that contributed to the element" ; + sh:order 42 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; sh:order 44 ; - sh:path oslc:modifiedBy ], - [ sh:description "An established standard to which the element conforms." ; + sh:path pav:lastUpdatedOn ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path dcterms:conformsTo ], + sh:order 46 ; + sh:path bibo:status ], [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 30 ; + sh:order 31 ; sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 25 ; + sh:path OIO:inSubset ], [ sh:class linkml:Definition ; sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path linkml:apply_to ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:deprecated ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 26 ; - sh:path linkml:imported_from ], - [ sh:description "id of the schema that defined the element" ; + sh:order 17 ; + sh:path skos:definition ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 18 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 25 ; - sh:path skos:inScheme ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 32 ; - sh:path skos:altLabel ], - [ sh:description "agent that contributed to the element" ; - sh:order 41 ; - sh:path dcterms:contributor ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:order 29 ; + sh:path schema1:inLanguage ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; sh:order 15 ; - sh:path linkml:annotations ] ; + sh:path linkml:extensions ], + [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + sh:order 5 ; + sh:path linkml:values_from ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path dcterms:conformsTo ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 37 ; + sh:path skos:closeMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 38 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 7 ; + sh:path rdfs:label ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 28 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. +We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. +Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects +For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path linkml:string_serialization ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 30 ; + sh:path rdfs:seeAlso ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:mixin ] ; sh:targetClass linkml:Definition . linkml:LocalName a sh:NodeShape ; sh:closed true ; sh:description "an attributed label" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "the ncname of the source of the name" ; + sh:property [ sh:datatype xsd:string ; + sh:description "a name assigned to an element in a given ontology" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:local_name_source ], - [ sh:description "a name assigned to an element in a given ontology" ; + sh:order 1 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "the ncname of the source of the name" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 1 ; - sh:path skos:altLabel ] ; + sh:order 0 ; + sh:path linkml:local_name_source ] ; sh:targetClass linkml:LocalName . linkml:AnonymousTypeExpression a sh:NodeShape ; sh:closed true ; sh:description "A type expression that is not a top-level named type definition. Used for nesting." ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 12 ; - sh:path linkml:all_of ], + sh:property [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:order 6 ; + sh:path linkml:equals_number ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 5 ; + sh:path linkml:equals_string_in ], [ sh:class linkml:PatternExpression ; sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 1 ; sh:path linkml:structured_pattern ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 7 ; + sh:path linkml:minimum_value ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path linkml:pattern ], [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if at least one of the expressions hold" ; + sh:description "holds if none of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 11 ; - sh:path linkml:any_of ], - [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:order 9 ; + sh:path linkml:none_of ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; sh:maxCount 1 ; sh:order 4 ; sh:path linkml:equals_string ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path qudt:unit ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; - sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:implicit_prefix ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 5 ; - sh:path linkml:equals_string_in ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; - sh:maxCount 1 ; sh:order 8 ; sh:path linkml:maximum_value ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; sh:maxCount 1 ; - sh:order 7 ; - sh:path linkml:minimum_value ], + sh:order 3 ; + sh:path linkml:implicit_prefix ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if only one of the expressions hold" ; sh:nodeKind sh:BlankNode ; sh:order 10 ; sh:path linkml:exactly_one_of ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 2 ; + sh:path qudt:unit ], [ sh:class linkml:AnonymousTypeExpression ; - sh:description "holds if none of the expressions hold" ; + sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path linkml:none_of ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:pattern ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:equals_number ] ; + sh:order 12 ; + sh:path linkml:all_of ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 11 ; + sh:path linkml:any_of ] ; sh:targetClass linkml:AnonymousTypeExpression . +linkml:Any a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ), + ( rdf:type ) ; + sh:targetClass linkml:Any . + linkml:AnonymousSlotExpression a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 39 ; - sh:path dcterms:source ], - [ sh:description "the value of the slot must equal the value of the evaluated expression" ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path linkml:equals_expression ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 51 ; - sh:path skos:broadMatch ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "A range that is described as a boolean expression combining existing ranges" ; + sh:property [ sh:description "Controlled terms used to categorize an element." ; + sh:order 60 ; + sh:path dcterms:subject ], + [ sh:class linkml:Element ; + sh:description """defines the type of the object of the slot. Given the following slot definition + S1: + domain: C1 + range: C2 +the declaration + X: + S1: Y + +implicitly asserts Y is an instance of C2 +""" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:range_expression ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 27 ; - sh:path linkml:annotations ], + sh:nodeKind sh:IRI ; + sh:order 0 ; + sh:path linkml:range ], [ sh:class linkml:EnumExpression ; sh:description "An inlined enumeration" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; sh:order 2 ; sh:path linkml:enum_range ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 58 ; - sh:path sh:order ], - [ sh:description "the maximum number of entries for a multivalued slot" ; + [ sh:class linkml:PatternExpression ; + sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:maximum_cardinality ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 25 ; - sh:path linkml:all_of ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 56 ; - sh:path oslc:modifiedBy ], - [ sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:inlined ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 16 ; - sh:path linkml:equals_number ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 44 ; - sh:path skos:altLabel ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; - sh:order 30 ; - sh:path dcterms:title ], + sh:order 10 ; + sh:path linkml:structured_pattern ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 49 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 61 ; + sh:path schema1:keywords ], [ sh:class linkml:AnonymousSlotExpression ; sh:description "the value of the slot is multivalued with all members satisfying the condition" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 21 ; + sh:order 22 ; sh:path linkml:all_members ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 23 ; + sh:path linkml:none_of ], + [ sh:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:maximum_cardinality ], [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 50 ; + sh:order 51 ; sh:path skos:narrowMatch ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; + [ sh:datatype xsd:boolean ; + sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:inlined ], + [ sh:description "agent that contributed to the element" ; + sh:order 54 ; + sh:path dcterms:contributor ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if only one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 20 ; - sh:path linkml:has_member ], - [ sh:description "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ; - sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; + sh:order 24 ; + sh:path linkml:exactly_one_of ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 25 ; + sh:path linkml:any_of ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:value_presence ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 34 ; - sh:path skos:note ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 15 ; - sh:path linkml:equals_string_in ], - [ sh:class linkml:PatternExpression ; - sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + sh:order 14 ; + sh:path linkml:equals_string ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:structured_pattern ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 46 ; - sh:path skos:mappingRelation ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 32 ; - sh:path linkml:todos ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 11 ; + sh:path qudt:unit ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 28 ; + sh:path linkml:annotations ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 38 ; - sh:path linkml:imported_from ], + sh:order 53 ; + sh:path pav:createdBy ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 44 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 50 ; + sh:path skos:relatedMatch ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 47 ; + sh:order 48 ; sh:path skos:exactMatch ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path linkml:pattern ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 41 ; - sh:path rdfs:seeAlso ], [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if none of the expressions hold" ; + sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 22 ; - sh:path linkml:none_of ], - [ sh:description "agent that contributed to the element" ; - sh:order 53 ; - sh:path dcterms:contributor ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; + sh:order 26 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 38 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 15 ; + sh:path linkml:equals_string_in ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 35 ; - sh:path linkml:examples ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; + sh:order 30 ; + sh:path linkml:alt_descriptions ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; sh:order 7 ; sh:path linkml:minimum_value ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 33 ; - sh:path skos:editorialNote ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 55 ; - sh:path pav:lastUpdatedOn ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 35 ; + sh:path skos:note ], + [ sh:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 11 ; - sh:path qudt:unit ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:order 18 ; + sh:path linkml:exact_cardinality ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; sh:order 31 ; - sh:path linkml:deprecated ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 60 ; - sh:path schema1:keywords ], - [ sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; + sh:path dcterms:title ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:recommended ], + sh:order 56 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:maxCount 1 ; + sh:order 12 ; + sh:path linkml:implicit_prefix ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; - sh:order 26 ; + sh:order 27 ; sh:path linkml:extensions ], - [ sh:description "Controlled terms used to categorize an element." ; + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path linkml:deprecated ], + [ sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:order 57 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; sh:order 59 ; - sh:path dcterms:subject ], - [ sh:description "time at which the element was created" ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; sh:maxCount 1 ; - sh:order 54 ; - sh:path pav:createdOn ], - [ sh:description "agent that created the element" ; + sh:order 9 ; + sh:path linkml:pattern ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 52 ; - sh:path pav:createdBy ], + sh:order 41 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 45 ; + sh:path skos:altLabel ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 43 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:order 55 ; + sh:path pav:createdOn ], [ sh:class linkml:SubsetDefinition ; sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 36 ; + sh:order 37 ; sh:path OIO:inSubset ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; - sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:implicit_prefix ], - [ sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; + [ sh:datatype xsd:boolean ; + sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; sh:maxCount 1 ; sh:order 6 ; sh:path linkml:inlined_as_list ], - [ sh:class linkml:Element ; - sh:description """defines the type of the object of the slot. Given the following slot definition - S1: - domain: C1 - range: C2 -the declaration - X: - S1: Y - -implicitly asserts Y is an instance of C2 -""" ; + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:range ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 45 ; - sh:path skosxl:altLabel ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:order 58 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 33 ; + sh:path linkml:todos ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 47 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; sh:maxCount 1 ; - sh:order 28 ; + sh:order 4 ; + sh:path linkml:recommended ], + [ sh:datatype xsd:string ; + sh:description "the value of the slot must equal the value of the evaluated expression" ; + sh:maxCount 1 ; + sh:order 17 ; + sh:path linkml:equals_expression ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:order 29 ; sh:path skos:definition ], - [ sh:description "true means that the slot must be present in instances of the class definition" ; + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot must be present in instances of the class definition" ; sh:maxCount 1 ; sh:order 3 ; sh:path linkml:required ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 40 ; - sh:path schema1:inLanguage ], - [ sh:description "id of the schema that defined the element" ; + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path skos:inScheme ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 29 ; - sh:path linkml:alt_descriptions ], - [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:order 21 ; + sh:path linkml:has_member ], + [ sh:description "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ; + sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; sh:maxCount 1 ; - sh:order 14 ; - sh:path linkml:equals_string ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 24 ; - sh:path linkml:any_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 48 ; - sh:path skos:closeMatch ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 23 ; - sh:path linkml:exactly_one_of ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:order 13 ; + sh:path linkml:value_presence ], + [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; sh:maxCount 1 ; - sh:order 42 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; + sh:order 16 ; + sh:path linkml:equals_number ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:maximum_value ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 49 ; - sh:path skos:relatedMatch ], - [ sh:description "the minimum number of entries for a multivalued slot" ; + sh:nodeKind sh:BlankNode ; + sh:order 1 ; + sh:path linkml:range_expression ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 34 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 18 ; + sh:order 39 ; + sh:path linkml:imported_from ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 52 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 19 ; sh:path linkml:minimum_cardinality ], - [ sh:description "status of the element" ; + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 46 ; + sh:path skosxl:altLabel ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 57 ; - sh:path bibo:status ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:order 40 ; + sh:path dcterms:source ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 42 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 36 ; + sh:path linkml:examples ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; sh:maxCount 1 ; - sh:order 43 ; - sh:path linkml:deprecated_element_has_possible_replacement ] ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:maximum_value ] ; sh:targetClass linkml:AnonymousSlotExpression . -skosxl:Label a sh:NodeShape ; +linkml:AnonymousClassExpression a sh:NodeShape ; sh:closed true ; - sh:description "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:property [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 21 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 13 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 12 ; + sh:path linkml:todos ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 19 ; + sh:order 22 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; - sh:path skos:closeMatch ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 23 ; - sh:path skos:mappingRelation ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:imported_from ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; sh:order 24 ; - sh:path skos:exactMatch ], - [ sh:description "The category or categories of an alias. This can be drawn from any relevant vocabulary" ; - sh:order 2 ; - sh:path dcterms:subject ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:path skos:altLabel ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 6 ; + sh:path linkml:extensions ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "time at which the element was created" ; + sh:order 32 ; + sh:path pav:createdBy ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdOn ], - [ sh:description "The literal lexical form of a structured alias; i.e the actual alias value." ; + sh:order 37 ; + sh:path bibo:status ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 16 ; + sh:path OIO:inSubset ], + [ sh:class linkml:Definition ; + sh:description "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; sh:maxCount 1 ; - sh:minCount 1 ; + sh:nodeKind sh:IRI ; sh:order 0 ; - sh:path skosxl:literalForm ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 11 ; - sh:path skos:note ], - [ sh:description "agent that created the element" ; + sh:path linkml:is_a ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], + sh:order 36 ; + sh:path oslc:modifiedBy ], [ sh:class skosxl:Label ; sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 22 ; + sh:order 25 ; sh:path skosxl:altLabel ], - [ sh:description "Description of why and when this element will no longer be used" ; - sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path bibo:status ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 27 ; - sh:path skos:narrowMatch ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 36 ; - sh:path schema1:keywords ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 10 ; - sh:path skos:editorialNote ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 9 ; - sh:path linkml:todos ], - [ sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - sh:order 5 ; - sh:path skos:definition ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:annotations ], - [ sh:description "the primary language used in the sources" ; + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; + sh:order 23 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if none of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:alt_descriptions ], - [ sh:description "id of the schema that defined the element" ; + sh:order 3 ; + sh:path linkml:none_of ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 28 ; + sh:path skos:closeMatch ], + [ sh:class linkml:SlotDefinition ; + sh:description "expresses constraints on a group of slots for a class expression" ; + sh:nodeKind sh:IRI ; + sh:order 5 ; + sh:path linkml:slot_conditions ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 26 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:order 35 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; sh:order 14 ; - sh:path skos:inScheme ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:extensions ], + sh:path skos:note ], [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 16 ; + sh:order 19 ; sh:path dcterms:source ], [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 26 ; + sh:order 29 ; sh:path skos:relatedMatch ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 18 ; - sh:path rdfs:seeAlso ], [ sh:description "agent that contributed to the element" ; - sh:order 30 ; + sh:order 33 ; sh:path dcterms:contributor ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 28 ; - sh:path skos:broadMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; - sh:maxCount 1 ; + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; sh:order 7 ; - sh:path dcterms:title ], + sh:path linkml:annotations ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:order 11 ; + sh:path linkml:deprecated ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 12 ; + sh:order 15 ; sh:path linkml:examples ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 13 ; - sh:path OIO:inSubset ], - [ sh:description "The relationship between an element and its alias." ; - sh:in ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; - sh:maxCount 1 ; - sh:order 1 ; - sh:path rdf:predicate ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 35 ; + sh:order 38 ; sh:path sh:order ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 21 ; - sh:path skos:altLabel ], - [ sh:description "agent that modified the element" ; + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:all_of ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 31 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path oslc:modifiedBy ] ; - sh:targetClass skosxl:Label . - -linkml:AltDescription a sh:NodeShape ; - sh:closed true ; - sh:description "an attributed description" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "text of an attributed description" ; + sh:order 8 ; + sh:path skos:definition ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 30 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 40 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path linkml:alt_description_text ], - [ sh:description "the source of an attributed description" ; + sh:order 10 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:alt_description_source ] ; - sh:targetClass linkml:AltDescription . - -linkml:Example a sh:NodeShape ; - sh:closed true ; - sh:description "usage example and description" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:Any ; - sh:description "direct object representation of the example" ; + sh:order 20 ; + sh:path schema1:inLanguage ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 27 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:order 34 ; + sh:path pav:createdOn ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:value_object ], - [ sh:description "example value" ; - sh:maxCount 1 ; - sh:order 0 ; - sh:path skos:example ], - [ sh:description "description of what the value is doing" ; - sh:maxCount 1 ; sh:order 1 ; - sh:path linkml:value_description ] ; - sh:targetClass linkml:Example . - -linkml:Annotation a sh:NodeShape ; - sh:closed true ; - sh:description "a tag/value pair with the semantics of OWL Annotation" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:path linkml:any_of ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 18 ; + sh:path linkml:imported_from ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 39 ; + sh:path dcterms:subject ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if only one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:extensions ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:order 2 ; + sh:path linkml:exactly_one_of ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 0 ; - sh:path linkml:annotations ], - [ sh:description "a tag associated with an extension" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path linkml:extension_tag ], - [ sh:description "the actual annotation" ; + sh:order 9 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 2 ; - sh:path linkml:extension_value ] ; - sh:targetClass linkml:Annotation . + sh:order 17 ; + sh:path skos:inScheme ] ; + sh:targetClass linkml:AnonymousClassExpression . -linkml:AnonymousClassExpression a sh:NodeShape ; +linkml:SlotDefinition a sh:NodeShape ; sh:closed true ; + sh:description "an element that describes how instances are related to other instances" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class skosxl:Label ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; + sh:maxCount 1 ; + sh:order 44 ; + sh:path linkml:inlined_as_list ], + [ sh:class linkml:SlotDefinition ; + sh:description "allows for grouping of related slots into a grouping slot that serves the role of a group" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 32 ; + sh:path sh:group ], + [ sh:class skosxl:Label ; sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; sh:nodeKind sh:BlankNode ; - sh:order 25 ; + sh:order 99 ; sh:path skosxl:altLabel ], - [ sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path schema1:inLanguage ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 13 ; - sh:path skos:editorialNote ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 30 ; - sh:path skos:narrowMatch ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 12 ; - sh:path linkml:todos ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 24 ; - sh:path skos:altLabel ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 29 ; - sh:path skos:relatedMatch ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 31 ; - sh:path skos:broadMatch ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 14 ; - sh:path skos:note ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path dcterms:source ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 26 ; - sh:path skos:mappingRelation ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 23 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "time at which the element was created" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path pav:createdOn ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 35 ; - sh:path pav:lastUpdatedOn ], - [ sh:class linkml:AnonymousClassExpression ; + [ sh:class linkml:AnonymousSlotExpression ; sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 4 ; + sh:order 64 ; sh:path linkml:all_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 27 ; - sh:path skos:exactMatch ], - [ sh:class linkml:SlotDefinition ; - sh:description "expresses constraints on a group of slots for a class expression" ; - sh:nodeKind sh:IRI ; - sh:order 5 ; - sh:path linkml:slot_conditions ], - [ sh:description "Description of why and when this element will no longer be used" ; + [ sh:datatype xsd:boolean ; + sh:description "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path linkml:deprecated ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:order 13 ; + sh:path linkml:designates_type ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path skos:definition ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 40 ; - sh:path schema1:keywords ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 9 ; - sh:path linkml:alt_descriptions ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; - sh:path linkml:extensions ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:createdBy ], - [ sh:class linkml:Definition ; - sh:description "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" ; + sh:order 49 ; + sh:path qudt:unit ], + [ sh:class linkml:EnumExpression ; + sh:description "An inlined enumeration" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:is_a ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 39 ; - sh:path dcterms:subject ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:exactly_one_of ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:none_of ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:annotations ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:order 40 ; + sh:path linkml:enum_range ], + [ sh:class linkml:SlotDefinition ; + sh:description "Ontology property which this slot is a subproperty of. Note: setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; sh:maxCount 1 ; - sh:order 22 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 16 ; - sh:path OIO:inSubset ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 36 ; - sh:path oslc:modifiedBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 28 ; - sh:path skos:closeMatch ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 38 ; - sh:path sh:order ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 15 ; - sh:path linkml:examples ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:order 17 ; + sh:path rdfs:subPropertyOf ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot must be present in instances of the class definition" ; sh:maxCount 1 ; - sh:order 10 ; - sh:path dcterms:title ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 21 ; - sh:path rdfs:seeAlso ], - [ sh:description "agent that contributed to the element" ; - sh:order 33 ; - sh:path dcterms:contributor ], - [ sh:description "status of the element" ; + sh:order 41 ; + sh:path linkml:required ], + [ sh:datatype xsd:boolean ; + sh:description "If True, then there must be no duplicates in the elements of a multivalued slot" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path bibo:status ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:order 8 ; + sh:path linkml:list_elements_unique ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:imported_from ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 1 ; - sh:path linkml:any_of ], - [ sh:description "id of the schema that defined the element" ; + sh:order 67 ; + sh:path linkml:mixin ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 103 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path skos:inScheme ] ; - sh:targetClass linkml:AnonymousClassExpression . - -linkml:SlotDefinition a sh:NodeShape ; - sh:closed true ; - sh:description "an element that describes how instances are related to other instances" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:SlotDefinition ; - sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; + sh:order 109 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:SlotDefinition ; + sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; sh:nodeKind sh:IRI ; - sh:order 67 ; - sh:path linkml:apply_to ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:order 37 ; + sh:path linkml:union_of ], + [ sh:datatype xsd:boolean ; + sh:description "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 70 ; - sh:path rdfs:label ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 80 ; - sh:path linkml:alt_descriptions ], - [ sh:description "a textual descriptor that indicates the role played by the slot range" ; + sh:order 22 ; + sh:path linkml:asymmetric ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 104 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "a textual descriptor that indicates the role played by the slot range" ; sh:maxCount 1 ; - sh:order 27 ; + sh:order 28 ; sh:path linkml:role ], - [ sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; - sh:maxCount 1 ; - sh:order 53 ; - sh:path linkml:equals_number ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 73 ; - sh:path linkml:local_names ], [ sh:class linkml:ClassDefinition ; sh:description """defines the type of the subject of the slot. Given the following slot definition S1: @@ -3913,172 +4513,137 @@ implicitly asserts that X is an instance of C1 sh:nodeKind sh:IRI ; sh:order 1 ; sh:path linkml:domain ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 89 ; - sh:path linkml:imported_from ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; - sh:order 101 ; - sh:path skos:narrowMatch ], - [ sh:description "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container" ; - sh:maxCount 1 ; - sh:order 11 ; - sh:path linkml:identifier ], - [ sh:description "the value of the slot must equal the value of the evaluated expression" ; - sh:maxCount 1 ; - sh:order 54 ; - sh:path linkml:equals_expression ], - [ sh:description "If True, then the relationship between the slot domain and range is many to one or many to many" ; - sh:maxCount 1 ; - sh:order 9 ; - sh:path linkml:shared ], - [ sh:description "If True, then there must be no duplicates in the elements of a multivalued slot" ; - sh:maxCount 1 ; - sh:order 7 ; - sh:path linkml:list_elements_unique ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 86 ; - sh:path linkml:examples ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 84 ; - sh:path skos:editorialNote ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 61 ; - sh:path linkml:any_of ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 92 ; - sh:path rdfs:seeAlso ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 57 ; - sh:path linkml:has_member ], - [ sh:description "a name that is used in the singular form" ; + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:order 53 ; + sh:path linkml:equals_string_in ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 87 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "a name that is used in the singular form" ; sh:maxCount 1 ; sh:order 0 ; sh:path linkml:singular_name ], - [ sh:class linkml:PatternExpression ; - sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; + [ sh:class linkml:SlotDefinition ; + sh:description "A collection of secondary parent mixin slots from which inheritable metaslots are propagated" ; + sh:nodeKind sh:IRI ; + sh:order 68 ; + sh:path linkml:mixins ], + [ sh:datatype xsd:string ; + sh:description "the value of the slot must equal the value of the evaluated expression" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 47 ; - sh:path linkml:structured_pattern ], - [ sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. -We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. -Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects -For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + sh:order 55 ; + sh:path linkml:equals_expression ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 69 ; - sh:path linkml:string_serialization ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 87 ; - sh:path OIO:inSubset ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with all members satisfying the condition" ; + sh:order 97 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:string ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 58 ; - sh:path linkml:all_members ], + sh:order 50 ; + sh:path linkml:implicit_prefix ], [ sh:class linkml:SlotDefinition ; sh:description "If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transitive (3) d holds whenever s holds and there are no intermediates, and s is not reflexive" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 25 ; + sh:order 26 ; sh:path linkml:transitive_form_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 97 ; - sh:path skos:mappingRelation ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 75 ; - sh:path linkml:implements ], - [ sh:description "If True, then the order of elements of a multivalued slot is guaranteed to be preserved. If False, the order may still be preserved but this is not guaranteed" ; + [ sh:class linkml:Definition ; + sh:description "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:list_elements_ordered ], - [ sh:description "If s is locally_reflexive, then i.s=i for all instances i where s is a class slot for the type of i" ; + sh:nodeKind sh:IRI ; + sh:order 15 ; + sh:path linkml:owner ], + [ sh:class linkml:Element ; + sh:description """defines the type of the object of the slot. Given the following slot definition + S1: + domain: C1 + range: C2 +the declaration + X: + S1: Y + +implicitly asserts Y is an instance of C2 +""" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:locally_reflexive ], - [ sh:description "true means that the *value* of a slot is inherited by subclasses" ; + sh:nodeKind sh:IRI ; + sh:order 38 ; + sh:path linkml:range ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:inherited ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 71 ; - sh:path linkml:id_prefixes ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:nodeKind sh:BlankNode ; + sh:order 59 ; + sh:path linkml:has_member ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 114 ; + sh:path schema1:keywords ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 100 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; sh:order 82 ; - sh:path linkml:deprecated ], - [ sh:description "for slots with ranges of type number, the value must be equal to or lowe than this" ; + sh:path skos:definition ], + [ sh:datatype xsd:integer ; + sh:description "the slot must have range of a number and the value of the slot must equal the specified value" ; sh:maxCount 1 ; - sh:order 45 ; - sh:path linkml:maximum_value ], - [ sh:class linkml:SlotDefinition ; - sh:description "transitive_form_of including the reflexive case" ; + sh:order 54 ; + sh:path linkml:equals_number ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 88 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 26 ; - sh:path linkml:reflexive_transitive_form_of ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 95 ; - sh:path skos:altLabel ], - [ sh:description "agent that created the element" ; + sh:order 85 ; + sh:path linkml:deprecated ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 103 ; - sh:path pav:createdBy ], - [ sh:description "Controlled terms used to categorize an element." ; sh:order 110 ; - sh:path dcterms:subject ], - [ sh:description "URI of the class that provides a semantic interpretation of the slot in a linked data context. The URI may come from any namespace and may be shared between schemas." ; - sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:slot_uri ], - [ sh:description "the minimum number of entries for a multivalued slot" ; - sh:maxCount 1 ; - sh:order 55 ; - sh:path linkml:minimum_cardinality ], - [ sh:description "An element in another schema which this element instantiates." ; - sh:order 76 ; - sh:path linkml:instantiates ], - [ sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - sh:order 106 ; - sh:path pav:lastUpdatedOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 100 ; - sh:path skos:relatedMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; - sh:order 81 ; - sh:path dcterms:title ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:nodeKind sh:BlankNode ; + sh:order 45 ; + sh:path linkml:minimum_value ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; sh:maxCount 1 ; - sh:order 79 ; - sh:path skos:definition ], - [ sh:description "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" ; + sh:minCount 1 ; + sh:order 72 ; + sh:path rdfs:label ], + [ sh:datatype xsd:boolean ; + sh:description "If s is locally_reflexive, then i.s=i for all instances i where s is a class slot for the type of i" ; sh:maxCount 1 ; - sh:order 12 ; - sh:path linkml:designates_type ], - [ sh:description "indicates that for any instance, i, the domain of this slot will include an assertion of i s range" ; + sh:order 20 ; + sh:path linkml:locally_reflexive ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 76 ; + sh:path linkml:local_names ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 24 ; - sh:path linkml:is_class_field ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 83 ; - sh:path linkml:todos ], - [ sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:order 112 ; + sh:path sh:order ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 49 ; - sh:path linkml:implicit_prefix ], - [ sh:description """function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library: + sh:order 108 ; + sh:path pav:createdOn ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 105 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description """function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library: * [Tt]rue -- boolean True * [Ff]alse -- boolean False * bnode -- blank node identifier @@ -4091,481 +4656,789 @@ For example, a Measurement class may have 3 fields: unit, value, and string_valu * slot_curie -- CURIE for the slot * string(value) -- string value""" ; sh:maxCount 1 ; - sh:order 6 ; + sh:order 7 ; sh:path linkml:ifabsent ], - [ sh:description "The name of the slot referenced in the slot_usage" ; - sh:maxCount 1 ; - sh:order 29 ; - sh:path linkml:usage_slot_name ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 102 ; + sh:path skos:closeMatch ], + [ sh:description "agent that contributed to the element" ; + sh:order 107 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:boolean ; + sh:description "True means that the key slot(s) uniquely identify the elements within a single container" ; sh:maxCount 1 ; - sh:order 109 ; - sh:path sh:order ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:order 11 ; + sh:path linkml:key ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 95 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:boolean ; + sh:description "If True, then the relationship between the slot domain and range is many to one or many to many" ; sh:maxCount 1 ; - sh:order 72 ; - sh:path linkml:definition_uri ], - [ sh:description "time at which the element was created" ; + sh:order 10 ; + sh:path linkml:shared ], + [ sh:datatype xsd:boolean ; + sh:description "If s is transitive, and i.s=z, and s.s=j, then i.s=j" ; sh:maxCount 1 ; - sh:order 105 ; - sh:path pav:createdOn ], - [ sh:description "the maximum number of entries for a multivalued slot" ; + sh:order 23 ; + sh:path linkml:transitive ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 113 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "If present, slot is read only. Text explains why" ; sh:maxCount 1 ; - sh:order 56 ; - sh:path linkml:maximum_cardinality ], - [ sh:description "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i" ; + sh:order 6 ; + sh:path linkml:readonly ], + [ sh:datatype xsd:string ; + sh:description "The name of the slot referenced in the slot_usage" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:asymmetric ], - [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; - sh:order 68 ; - sh:path linkml:values_from ], + sh:order 30 ; + sh:path linkml:usage_slot_name ], [ sh:class linkml:SlotDefinition ; - sh:description "Ontology property which this slot is a subproperty of. Note: setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + sh:description "A primary parent slot from which inheritable metaslots are propagated" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 16 ; - sh:path rdfs:subPropertyOf ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 85 ; - sh:path skos:note ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - sh:maxCount 1 ; - sh:order 94 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + sh:order 65 ; + sh:path linkml:is_a ], + [ sh:class linkml:PathExpression ; + sh:description "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 48 ; - sh:path qudt:unit ], - [ sh:description "agent that contributed to the element" ; - sh:order 104 ; - sh:path dcterms:contributor ], - [ sh:description "If s is irreflexive, then there exists no i such i.s=i" ; + sh:order 34 ; + sh:path linkml:path_rule ], + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:irreflexive ], - [ sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; + sh:order 57 ; + sh:path linkml:minimum_cardinality ], + [ sh:datatype xsd:string ; + sh:description "the slot must have range string and the value of the slot must equal the specified value" ; sh:maxCount 1 ; - sh:order 42 ; - sh:path linkml:inlined ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 59 ; - sh:path linkml:none_of ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; - sh:nodeKind sh:BlankNode ; - sh:order 96 ; - sh:path skosxl:altLabel ], - [ sh:class linkml:Definition ; - sh:description "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot" ; + sh:order 52 ; + sh:path linkml:equals_string ], + [ sh:datatype xsd:boolean ; + sh:description "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 14 ; - sh:path linkml:owner ], - [ sh:class linkml:SlotDefinition ; - sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; - sh:nodeKind sh:IRI ; - sh:order 36 ; - sh:path linkml:union_of ], - [ sh:description "A related resource from which the element is derived." ; + sh:order 12 ; + sh:path linkml:identifier ], + [ sh:datatype xsd:boolean ; + sh:description "If s is reflexive, then i.s=i for all instances i" ; sh:maxCount 1 ; - sh:order 90 ; - sh:path dcterms:source ], - [ sh:description "If s is symmetric, and i.s=v, then v.s=i" ; + sh:order 19 ; + sh:path linkml:reflexive ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 80 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 17 ; + sh:order 56 ; + sh:path linkml:exact_cardinality ], + [ sh:datatype xsd:boolean ; + sh:description "If s is symmetric, and i.s=v, then v.s=i" ; + sh:maxCount 1 ; + sh:order 18 ; sh:path linkml:symmetric ], [ sh:description "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" ; sh:in ( rdf:subject rdf:object rdf:predicate "NODE" "OTHER_ROLE" ) ; sh:maxCount 1 ; - sh:order 30 ; + sh:order 31 ; sh:path linkml:relational_role ], - [ sh:class linkml:SlotDefinition ; - sh:description "A collection of secondary parent mixin slots from which inheritable metaslots are propagated" ; - sh:nodeKind sh:IRI ; - sh:order 66 ; - sh:path linkml:mixins ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 60 ; - sh:path linkml:exactly_one_of ], - [ sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + [ sh:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:order 58 ; + sh:path linkml:maximum_cardinality ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; sh:maxCount 1 ; - sh:order 64 ; - sh:path linkml:abstract ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if all of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 62 ; - sh:path linkml:all_of ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 102 ; - sh:path skos:broadMatch ], + sh:order 39 ; + sh:path linkml:range_expression ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 98 ; + sh:path skos:altLabel ], [ sh:class linkml:Annotation ; sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 78 ; + sh:order 81 ; sh:path linkml:annotations ], - [ sh:description "true if this slot is a grouping slot" ; + [ sh:class linkml:SlotDefinition ; + sh:description "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" ; + sh:nodeKind sh:IRI ; + sh:order 35 ; + sh:path linkml:disjoint_with ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 79 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:boolean ; + sh:description "If s is irreflexive, then there exists no i such i.s=i" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path linkml:is_grouping_slot ], + sh:order 21 ; + sh:path linkml:irreflexive ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 84 ; + sh:path dcterms:title ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 83 ; + sh:path linkml:alt_descriptions ], + [ sh:class linkml:SlotDefinition ; + sh:description "indicates that any instance of d s r implies that there is also an instance of r s' d" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 24 ; + sh:path owl:inverseOf ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 61 ; + sh:path linkml:none_of ], + [ sh:description "URI of the class that provides a semantic interpretation of the slot in a linked data context. The URI may come from any namespace and may be shared between schemas." ; + sh:maxCount 1 ; + sh:order 2 ; + sh:path linkml:slot_uri ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:order 91 ; + sh:path skos:inScheme ], + [ sh:class linkml:SlotDefinition ; + sh:description "transitive_form_of including the reflexive case" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 27 ; + sh:path linkml:reflexive_transitive_form_of ], + [ sh:datatype xsd:boolean ; + sh:description "If true then all direct is_a children are mutually disjoint and share no instances in common" ; + sh:maxCount 1 ; + sh:order 36 ; + sh:path linkml:children_are_mutually_disjoint ], [ sh:class linkml:ClassDefinition ; sh:description "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" ; sh:nodeKind sh:IRI ; - sh:order 15 ; + sh:order 16 ; sh:path linkml:domain_of ], - [ sh:description "the slot must have range string and the value of the slot must equal one of the specified values" ; - sh:order 52 ; - sh:path linkml:equals_string_in ], - [ sh:description "id of the schema that defined the element" ; + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:order 88 ; - sh:path skos:inScheme ], - [ sh:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:order 77 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 86 ; + sh:path linkml:todos ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:order 51 ; - sh:path linkml:equals_string ], - [ sh:description "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." ; + sh:order 74 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 65 ; - sh:path linkml:mixin ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:order 92 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; + sh:maxCount 1 ; + sh:order 14 ; + sh:path skos:prefLabel ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if at least one of the expressions hold" ; sh:nodeKind sh:BlankNode ; - sh:order 77 ; - sh:path linkml:extensions ], - [ sh:class linkml:Element ; - sh:description """defines the type of the object of the slot. Given the following slot definition - S1: - domain: C1 - range: C2 -the declaration - X: - S1: Y - -implicitly asserts Y is an instance of C2 -""" ; + sh:order 63 ; + sh:path linkml:any_of ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 96 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:boolean ; + sh:description "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; sh:maxCount 1 ; + sh:order 43 ; + sh:path linkml:inlined ], + [ sh:class linkml:SlotDefinition ; + sh:description "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; sh:nodeKind sh:IRI ; - sh:order 37 ; - sh:path linkml:range ], - [ sh:class linkml:PathExpression ; - sh:description "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" ; + sh:order 69 ; + sh:path linkml:apply_to ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or lower than this" ; sh:maxCount 1 ; sh:nodeKind sh:BlankNode ; - sh:order 33 ; - sh:path linkml:path_rule ], - [ sh:description "agent that modified the element" ; + sh:order 46 ; + sh:path linkml:maximum_value ], + [ sh:datatype xsd:string ; + sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; sh:maxCount 1 ; - sh:order 107 ; - sh:path oslc:modifiedBy ], - [ sh:class linkml:SlotDefinition ; - sh:description "A primary parent slot from which inheritable metaslots are propagated" ; + sh:order 47 ; + sh:path linkml:pattern ], + [ sh:datatype xsd:boolean ; + sh:description "indicates that for any instance, i, the domain of this slot will include an assertion of i s range" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 63 ; - sh:path linkml:is_a ], - [ sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; + sh:order 25 ; + sh:path linkml:is_class_field ], + [ sh:datatype xsd:boolean ; + sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; + sh:maxCount 1 ; + sh:order 66 ; + sh:path linkml:abstract ], + [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 41 ; - sh:path linkml:recommended ], - [ sh:description "Keywords or tags used to describe the element" ; sh:order 111 ; - sh:path schema1:keywords ], - [ sh:description "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; + sh:path bibo:status ], + [ sh:datatype xsd:boolean ; + sh:description "If True, then the order of elements of a multivalued slot is guaranteed to be preserved. If False, the order may still be preserved but this is not guaranteed" ; sh:maxCount 1 ; - sh:order 13 ; - sh:path skos:prefLabel ], - [ sh:description "true means that the slot must be present in instances of the class definition" ; + sh:order 9 ; + sh:path linkml:list_elements_ordered ], + [ sh:class linkml:PatternExpression ; + sh:description "the string value of the slot must conform to the regular expression in the pattern expression" ; sh:maxCount 1 ; - sh:order 40 ; - sh:path linkml:required ], - [ sh:description "for slots with ranges of type number, the value must be equal to or higher than this" ; + sh:nodeKind sh:BlankNode ; + sh:order 48 ; + sh:path linkml:structured_pattern ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 101 ; + sh:path skos:exactMatch ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; sh:maxCount 1 ; - sh:order 44 ; - sh:path linkml:minimum_value ], - [ sh:description "If present, slot is read only. Text explains why" ; + sh:order 75 ; + sh:path linkml:definition_uri ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNode ; + sh:order 89 ; + sh:path linkml:examples ], + [ sh:datatype xsd:boolean ; + sh:description "True means that this slot was defined in a slot_usage situation" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:readonly ], + sh:order 29 ; + sh:path linkml:is_usage_slot ], + [ sh:datatype xsd:boolean ; + sh:description "true if this slot is a grouping slot" ; + sh:maxCount 1 ; + sh:order 33 ; + sh:path linkml:is_grouping_slot ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot should be present in instances of the class definition, but this is not required" ; + sh:maxCount 1 ; + sh:order 42 ; + sh:path linkml:recommended ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 73 ; + sh:path linkml:id_prefixes ], [ sh:description "if true then a value must be present (for lists there must be at least one value). If false then a value must be absent (for lists, must be empty)" ; sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; sh:maxCount 1 ; - sh:order 50 ; + sh:order 51 ; sh:path linkml:value_presence ], - [ sh:description "true means that slot can have more than one value and should be represented using a list or collection structure." ; + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "the value of the slot is multivalued with all members satisfying the condition" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 60 ; + sh:path linkml:all_members ], + [ sh:datatype xsd:boolean ; + sh:description "true means that slot can have more than one value and should be represented using a list or collection structure." ; sh:maxCount 1 ; sh:order 3 ; sh:path linkml:multivalued ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 99 ; - sh:path skos:closeMatch ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + [ sh:class linkml:ArrayExpression ; + sh:description "coerces the value of the slot into an array and defines the dimensions of that array" ; sh:maxCount 1 ; - sh:order 93 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "If s is reflexive, then i.s=i for all instances i" ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:array ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:reflexive ], - [ sh:description "status of the element" ; + sh:order 94 ; + sh:path schema1:inLanguage ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; + sh:order 78 ; + sh:path linkml:implements ], + [ sh:description "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hierarchy into an enumerated list of possible values in every serialization of the model." ; + sh:order 70 ; + sh:path linkml:values_from ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 108 ; - sh:path bibo:status ], - [ sh:class linkml:SlotDefinition ; - sh:description "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances" ; + sh:order 93 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description """Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots. +We call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion. +Implementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects +For example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm""" ; + sh:maxCount 1 ; + sh:order 71 ; + sh:path linkml:string_serialization ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; sh:nodeKind sh:IRI ; - sh:order 34 ; - sh:path linkml:disjoint_with ], - [ sh:class linkml:EnumExpression ; - sh:description "An inlined enumeration" ; + sh:order 90 ; + sh:path OIO:inSubset ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNode ; + sh:order 62 ; + sh:path linkml:exactly_one_of ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the *value* of a slot is inherited by subclasses" ; + sh:maxCount 1 ; + sh:order 5 ; + sh:path linkml:inherited ], + [ sh:description "agent that created the element" ; sh:maxCount 1 ; + sh:order 106 ; + sh:path pav:createdBy ] ; + sh:targetClass linkml:SlotDefinition . + +skosxl:Label a sh:NodeShape ; + sh:closed true ; + sh:description "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class linkml:Example ; + sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 39 ; - sh:path linkml:enum_range ], - [ sh:description "True means that this slot was defined in a slot_usage situation" ; + sh:order 12 ; + sh:path linkml:examples ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 28 ; - sh:path linkml:is_usage_slot ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "A range that is described as a boolean expression combining existing ranges" ; + sh:order 33 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 10 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; + sh:order 8 ; + sh:path linkml:deprecated ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 38 ; - sh:path linkml:range_expression ], - [ sh:class linkml:SlotDefinition ; - sh:description "indicates that any instance of d s r implies that there is also an instance of r s' d" ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; - sh:order 23 ; - sh:path owl:inverseOf ], - [ sh:class linkml:SlotDefinition ; - sh:description "allows for grouping of related slots into a grouping slot that serves the role of a group" ; + sh:order 5 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:order 16 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:maxCount 1 ; + sh:order 7 ; + sh:path dcterms:title ], + [ sh:description "The category or categories of an alias. This can be drawn from any relevant vocabulary" ; + sh:order 2 ; + sh:path dcterms:subject ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 36 ; + sh:path schema1:keywords ], + [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 27 ; + sh:path skos:narrowMatch ], + [ sh:description "The relationship between an element and its alias." ; + sh:in ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path rdf:predicate ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 29 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:nodeKind sh:IRI ; sh:order 31 ; - sh:path sh:group ], - [ sh:description "True means that the key slot(s) uniquely identify the elements within a single container" ; + sh:path pav:createdOn ], + [ sh:datatype xsd:string ; + sh:description "The literal lexical form of a structured alias; i.e the actual alias value." ; sh:maxCount 1 ; - sh:order 10 ; - sh:path linkml:key ], - [ sh:description "the primary language used in the sources" ; + sh:minCount 1 ; + sh:order 0 ; + sh:path skosxl:literalForm ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 91 ; + sh:order 17 ; sh:path schema1:inLanguage ], - [ sh:description "If true then all direct is_a children are mutually disjoint and share no instances in common" ; + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 35 ; - sh:path linkml:children_are_mutually_disjoint ], + sh:order 19 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:order 26 ; + sh:path skos:relatedMatch ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 22 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 11 ; + sh:path skos:note ], [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 98 ; + sh:order 24 ; sh:path skos:exactMatch ], - [ sh:description "the string value of the slot must conform to this regular expression expressed in the string" ; + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 46 ; - sh:path linkml:pattern ], - [ sh:description "An established standard to which the element conforms." ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 21 ; + sh:path skos:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:description "agent that contributed to the element" ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 74 ; - sh:path dcterms:conformsTo ], - [ sh:description "If s is transitive, and i.s=z, and s.s=j, then i.s=j" ; + sh:order 35 ; + sh:path sh:order ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 13 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:order 15 ; + sh:path linkml:imported_from ], + [ sh:description "status of the element" ; + sh:maxCount 1 ; + sh:order 34 ; + sh:path bibo:status ] ; + sh:targetClass skosxl:Label . + +linkml:AltDescription a sh:NodeShape ; + sh:closed true ; + sh:description "an attributed description" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the source of an attributed description" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path linkml:alt_description_source ], + [ sh:datatype xsd:string ; + sh:description "text of an attributed description" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 1 ; + sh:path linkml:alt_description_text ] ; + sh:targetClass linkml:AltDescription . + +linkml:Example a sh:NodeShape ; + sh:closed true ; + sh:description "usage example and description" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "description of what the value is doing" ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:value_description ], + [ sh:class linkml:Any ; + sh:description "direct object representation of the example" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 2 ; + sh:path linkml:value_object ], + [ sh:datatype xsd:string ; + sh:description "example value" ; + sh:maxCount 1 ; + sh:order 0 ; + sh:path skos:example ] ; + sh:targetClass linkml:Example . + +linkml:Annotation a sh:NodeShape ; + sh:closed true ; + sh:description "a tag/value pair with the semantics of OWL Annotation" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNode ; + sh:order 0 ; + sh:path linkml:annotations ], + [ sh:description "a tag associated with an extension" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path linkml:transitive ], - [ sh:description "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; + sh:minCount 1 ; + sh:order 1 ; + sh:path linkml:extension_tag ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:class linkml:Any ; + sh:description "the actual annotation" ; sh:maxCount 1 ; - sh:order 43 ; - sh:path linkml:inlined_as_list ] ; - sh:targetClass linkml:SlotDefinition . + sh:minCount 1 ; + sh:nodeKind sh:BlankNode ; + sh:order 2 ; + sh:path linkml:extension_value ] ; + sh:targetClass linkml:Annotation . linkml:SubsetDefinition a sh:NodeShape ; sh:closed true ; sh:description "an element that can be used to group other metamodel elements" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:class linkml:Example ; + sh:property [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:order 32 ; + sh:path skos:narrowMatch ], + [ sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:order 34 ; + sh:path pav:createdBy ], + [ sh:description "An element in another schema which this element instantiates." ; + sh:order 7 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:order 42 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:order 16 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:order 22 ; + sh:path schema1:inLanguage ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNode ; + sh:order 4 ; + sh:path linkml:local_names ], + [ sh:datatype xsd:string ; + sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; + sh:order 1 ; + sh:path linkml:id_prefixes ], + [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 25 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:order 15 ; + sh:path skos:editorialNote ], + [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:definition_uri ], + [ sh:class linkml:Example ; sh:description "example usages of an element" ; sh:nodeKind sh:BlankNode ; - sh:order 16 ; + sh:order 17 ; sh:path linkml:examples ], - [ sh:description "Outstanding issues that needs resolution" ; - sh:order 13 ; - sh:path linkml:todos ], - [ sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path rdfs:label ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + [ sh:description "agent that contributed to the element" ; + sh:order 35 ; + sh:path dcterms:contributor ], + [ sh:class linkml:SubsetDefinition ; + sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + sh:nodeKind sh:IRI ; + sh:order 18 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:boolean ; + sh:description "If true, then the id_prefixes slot is treated as being closed, and any use of an id that does not have this prefix is considered a violation." ; sh:maxCount 1 ; - sh:order 23 ; - sh:path linkml:deprecated_element_has_exact_replacement ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 29 ; - sh:path skos:closeMatch ], - [ sh:description "An element in another schema which this element instantiates." ; + sh:order 2 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; sh:order 6 ; - sh:path linkml:instantiates ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - sh:order 32 ; - sh:path skos:broadMatch ], - [ sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; + sh:path linkml:implements ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNode ; + sh:order 8 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path dcterms:title ], - [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; - sh:order 27 ; - sh:path skos:mappingRelation ], + sh:order 20 ; + sh:path linkml:imported_from ], + [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:order 23 ; + sh:path rdfs:seeAlso ], [ sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 38 ; + sh:order 39 ; sh:path bibo:status ], - [ sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 15 ; - sh:path skos:note ], - [ sh:class linkml:Annotation ; - sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:annotations ], - [ sh:description "An established standard to which the element conforms." ; + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 4 ; + sh:order 40 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path rdfs:label ], + [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:order 29 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:order 5 ; sh:path dcterms:conformsTo ], - [ sh:description "Keywords or tags used to describe the element" ; - sh:order 41 ; - sh:path schema1:keywords ], - [ sh:description "the primary language used in the sources" ; + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNode ; + sh:order 27 ; + sh:path skosxl:altLabel ], + [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:order 24 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; sh:order 21 ; - sh:path schema1:inLanguage ], - [ sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; sh:order 14 ; - sh:path skos:editorialNote ], - [ sh:description "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; - sh:order 1 ; - sh:path linkml:id_prefixes ], - [ sh:description "the relative order in which the element occurs, lower values are given precedence" ; - sh:maxCount 1 ; - sh:order 39 ; - sh:path sh:order ], - [ sh:description "a textual description of the element's purpose and use" ; + sh:path linkml:todos ], + [ sh:description "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective." ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 9 ; + sh:order 10 ; sh:path skos:definition ], - [ sh:description "agent that modified the element" ; + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; sh:order 37 ; - sh:path oslc:modifiedBy ], - [ sh:description "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:definition_uri ], - [ sh:description "Description of why and when this element will no longer be used" ; + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 12 ; + sh:order 13 ; sh:path linkml:deprecated ], + [ sh:description "Controlled terms used to categorize an element." ; + sh:order 41 ; + sh:path dcterms:subject ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; sh:nodeKind sh:BlankNode ; - sh:order 10 ; + sh:order 11 ; sh:path linkml:alt_descriptions ], - [ sh:description "time at which the element was last updated" ; + [ sh:datatype xsd:string ; + sh:description "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; sh:maxCount 1 ; - sh:order 36 ; - sh:path pav:lastUpdatedOn ], - [ sh:class skosxl:Label ; - sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:order 12 ; + sh:path dcterms:title ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; sh:nodeKind sh:BlankNode ; - sh:order 26 ; - sh:path skosxl:altLabel ], - [ sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; - sh:order 25 ; - sh:path skos:altLabel ], - [ sh:description "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 20 ; - sh:path dcterms:source ], - [ sh:description "agent that contributed to the element" ; - sh:order 34 ; - sh:path dcterms:contributor ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:order 9 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 24 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:order 36 ; + sh:path pav:createdOn ], [ sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; - sh:order 30 ; - sh:path skos:relatedMatch ], - [ sh:class linkml:SubsetDefinition ; - sh:description "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; - sh:nodeKind sh:IRI ; - sh:order 17 ; - sh:path OIO:inSubset ], - [ sh:description "the imports entry that this element was derived from. Empty means primary source" ; - sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:imported_from ], - [ sh:description "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element." ; - sh:order 5 ; - sh:path linkml:implements ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; sh:order 31 ; - sh:path skos:narrowMatch ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 40 ; - sh:path dcterms:subject ], - [ sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 18 ; - sh:path skos:inScheme ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 22 ; - sh:path rdfs:seeAlso ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment." ; + sh:order 26 ; + sh:path skos:altLabel ], + [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:order 30 ; + sh:path skos:closeMatch ], + [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; sh:order 33 ; - sh:path pav:createdBy ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:extensions ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 28 ; - sh:path skos:exactMatch ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:local_names ], - [ sh:description "time at which the element was created" ; + sh:path skos:broadMatch ], + [ sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 35 ; - sh:path pav:createdOn ] ; + sh:order 38 ; + sh:path oslc:modifiedBy ] ; sh:targetClass linkml:SubsetDefinition . linkml:Extension a sh:NodeShape ; sh:closed true ; sh:description "a tag/value pair used to add non-model information to an entry" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "the actual annotation" ; + sh:property [ sh:description "a tag associated with an extension" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:order 0 ; + sh:path linkml:extension_tag ], + [ sh:class linkml:Any ; + sh:description "the actual annotation" ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:BlankNode ; sh:order 1 ; sh:path linkml:extension_value ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; sh:nodeKind sh:BlankNode ; sh:order 2 ; - sh:path linkml:extensions ], - [ sh:description "a tag associated with an extension" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:extension_tag ] ; + sh:path linkml:extensions ] ; sh:targetClass linkml:Extension . diff --git a/linkml_runtime/linkml_model/shex/meta.shex b/linkml_runtime/linkml_model/shex/meta.shex index 4c5a60dc..abdb049a 100644 --- a/linkml_runtime/linkml_model/shex/meta.shex +++ b/linkml_runtime/linkml_model/shex/meta.shex @@ -99,7 +99,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; + [ + + ] ? ; @ * ; @ * ; @ * ; @@ -177,17 +179,19 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ ? ; @ ? ; qudt:unit @ ? ; @ ? ; - @ ? ; + [ + ] ? ; @ ? ; @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -211,8 +215,8 @@ PREFIX oboInOwl: @ ? ; @ * ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ * ; @ * ; @ * ; @@ -234,6 +238,58 @@ PREFIX oboInOwl: ) } + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + & ; + rdf:type [ ] ? ; + & ; + rdf:type [ ] ? ; + @ ? ; + @ ? ; + @ ? ; + @ ? ; + @ * ; + @ * ; + @ * ; + skos:definition @ ? ; + @ * ; + dcterms:title @ ? ; + @ ? ; + @ * ; + skos:editorialNote @ * ; + skos:note @ * ; + @ * ; + oboInOwl:inSubset @ * ; + skos:inScheme @ ? ; + @ ? ; + dcterms:source @ ? ; + schema1:inLanguage @ ? ; + rdfs:seeAlso @ * ; + @ ? ; + @ ? ; + skos:altLabel @ * ; + skosxl:altLabel @ * ; + skos:mappingRelation @ * ; + skos:exactMatch @ * ; + skos:closeMatch @ * ; + skos:relatedMatch @ * ; + skos:narrowMatch @ * ; + skos:broadMatch @ * ; + pav:createdBy @ ? ; + dcterms:contributor @ * ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ; + dcterms:subject @ * ; + schema1:keywords @ * + ) ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( & ; rdf:type [ ] ? ; @@ -397,6 +453,57 @@ PREFIX oboInOwl: ) } + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + & ; + rdf:type [ ] ? ; + & ; + rdf:type [ ] ? ; + skos:prefLabel @ ? ; + @ ? ; + @ ? ; + @ ? ; + @ * ; + @ * ; + skos:definition @ ? ; + @ * ; + dcterms:title @ ? ; + @ ? ; + @ * ; + skos:editorialNote @ * ; + skos:note @ * ; + @ * ; + oboInOwl:inSubset @ * ; + skos:inScheme @ ? ; + @ ? ; + dcterms:source @ ? ; + schema1:inLanguage @ ? ; + rdfs:seeAlso @ * ; + @ ? ; + @ ? ; + skos:altLabel @ * ; + skosxl:altLabel @ * ; + skos:mappingRelation @ * ; + skos:exactMatch @ * ; + skos:closeMatch @ * ; + skos:relatedMatch @ * ; + skos:narrowMatch @ * ; + skos:broadMatch @ * ; + pav:createdBy @ ? ; + dcterms:contributor @ * ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ; + dcterms:subject @ * ; + schema1:keywords @ * + ) ; + rdf:type [ ] ? + ) +} + ( @ OR @ OR @ OR @ ) @@ -409,6 +516,7 @@ PREFIX oboInOwl: & ; rdf:type [ ] ? ; @ * ; + @ ? ; @ ? ; @ * ; dcterms:conformsTo @ ? ; @@ -463,7 +571,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; + [ + + ] ? ; @ * ; @ * ; @ * ; @@ -482,7 +592,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; + [ + + ] ? ; @ * ; @ * ; @ * ; @@ -820,6 +932,7 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -846,7 +959,8 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; + [ rdf:subject rdf:object rdf:predicate + ] ? ; sh:group @ ? ; @ ? ; @ ? ; @@ -862,17 +976,19 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ ? ; @ ? ; qudt:unit @ ? ; @ ? ; - @ ? ; + [ + ] ? ; @ ? ; @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -896,17 +1012,19 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ ? ; @ ? ; qudt:unit @ ? ; @ ? ; - @ ? ; + [ + ] ? ; @ ? ; @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -930,7 +1048,7 @@ PREFIX oboInOwl: & ; rdf:type [ ] ? ; skosxl:literalForm @ ; - rdf:predicate @ ? ; + rdf:predicate [ skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ] ? ; dcterms:subject @ * ; @ * ; @ * ; @@ -996,8 +1114,8 @@ PREFIX oboInOwl: @ ? ; @ * ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ * ; @ * ; @ * ; @@ -1017,8 +1135,8 @@ PREFIX oboInOwl: @ ? ; @ * ; @ ? ; - @ ? ; - @ ? ; + @ ? ; + @ ? ; @ * ; @ * ; @ * ; diff --git a/linkml_runtime/linkml_model/sqlschema/meta.sql b/linkml_runtime/linkml_model/sqlschema/meta.sql index e1544f2f..aa2d615a 100644 --- a/linkml_runtime/linkml_model/sqlschema/meta.sql +++ b/linkml_runtime/linkml_model/sqlschema/meta.sql @@ -117,8 +117,8 @@ CREATE TABLE anonymous_slot_expression ( recommended BOOLEAN, inlined BOOLEAN, inlined_as_list BOOLEAN, - minimum_value INTEGER, - maximum_value INTEGER, + minimum_value TEXT, + maximum_value TEXT, pattern TEXT, structured_pattern TEXT, unit TEXT, @@ -128,6 +128,7 @@ CREATE TABLE anonymous_slot_expression ( equals_string_in TEXT, equals_number INTEGER, equals_expression TEXT, + exact_cardinality INTEGER, minimum_cardinality INTEGER, maximum_cardinality INTEGER, has_member TEXT, @@ -136,7 +137,7 @@ CREATE TABLE anonymous_slot_expression ( exactly_one_of TEXT, any_of TEXT, all_of TEXT, - PRIMARY KEY (extensions, annotations, description, alt_descriptions, title, deprecated, todos, notes, comments, examples, in_subset, from_schema, imported_from, source, in_language, see_also, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, aliases, structured_aliases, mappings, exact_mappings, close_mappings, related_mappings, narrow_mappings, broad_mappings, created_by, contributors, created_on, last_updated_on, modified_by, status, rank, categories, keywords, range, range_expression, enum_range, required, recommended, inlined, inlined_as_list, minimum_value, maximum_value, pattern, structured_pattern, unit, implicit_prefix, value_presence, equals_string, equals_string_in, equals_number, equals_expression, minimum_cardinality, maximum_cardinality, has_member, all_members, none_of, exactly_one_of, any_of, all_of) + PRIMARY KEY (extensions, annotations, description, alt_descriptions, title, deprecated, todos, notes, comments, examples, in_subset, from_schema, imported_from, source, in_language, see_also, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, aliases, structured_aliases, mappings, exact_mappings, close_mappings, related_mappings, narrow_mappings, broad_mappings, created_by, contributors, created_on, last_updated_on, modified_by, status, rank, categories, keywords, range, range_expression, enum_range, required, recommended, inlined, inlined_as_list, minimum_value, maximum_value, pattern, structured_pattern, unit, implicit_prefix, value_presence, equals_string, equals_string_in, equals_number, equals_expression, exact_cardinality, minimum_cardinality, maximum_cardinality, has_member, all_members, none_of, exactly_one_of, any_of, all_of) ); CREATE TABLE anonymous_type_expression ( @@ -147,8 +148,8 @@ CREATE TABLE anonymous_type_expression ( equals_string TEXT, equals_string_in TEXT, equals_number INTEGER, - minimum_value INTEGER, - maximum_value INTEGER, + minimum_value TEXT, + maximum_value TEXT, none_of TEXT, exactly_one_of TEXT, any_of TEXT, @@ -156,8 +157,53 @@ CREATE TABLE anonymous_type_expression ( PRIMARY KEY (pattern, structured_pattern, unit, implicit_prefix, equals_string, equals_string_in, equals_number, minimum_value, maximum_value, none_of, exactly_one_of, any_of, all_of) ); +CREATE TABLE array_expression ( + exact_number_dimensions INTEGER, + minimum_number_dimensions INTEGER, + maximum_number_dimensions TEXT, + has_extra_dimensions BOOLEAN, + dimensions TEXT, + extensions TEXT, + annotations TEXT, + description TEXT, + alt_descriptions TEXT, + title TEXT, + deprecated TEXT, + todos TEXT, + notes TEXT, + comments TEXT, + examples TEXT, + in_subset TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + see_also TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + aliases TEXT, + structured_aliases TEXT, + mappings TEXT, + exact_mappings TEXT, + close_mappings TEXT, + related_mappings TEXT, + narrow_mappings TEXT, + broad_mappings TEXT, + created_by TEXT, + contributors TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + categories TEXT, + keywords TEXT, + PRIMARY KEY (exact_number_dimensions, minimum_number_dimensions, maximum_number_dimensions, has_extra_dimensions, dimensions, extensions, annotations, description, alt_descriptions, title, deprecated, todos, notes, comments, examples, in_subset, from_schema, imported_from, source, in_language, see_also, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, aliases, structured_aliases, mappings, exact_mappings, close_mappings, related_mappings, narrow_mappings, broad_mappings, created_by, contributors, created_on, last_updated_on, modified_by, status, rank, categories, keywords) +); + CREATE TABLE class_definition ( name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -210,8 +256,52 @@ CREATE TABLE class_definition ( FOREIGN KEY(is_a) REFERENCES class_definition (name) ); +CREATE TABLE dimension_expression ( + alias TEXT, + maximum_cardinality INTEGER, + minimum_cardinality INTEGER, + exact_cardinality INTEGER, + extensions TEXT, + annotations TEXT, + description TEXT, + alt_descriptions TEXT, + title TEXT, + deprecated TEXT, + todos TEXT, + notes TEXT, + comments TEXT, + examples TEXT, + in_subset TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + see_also TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + aliases TEXT, + structured_aliases TEXT, + mappings TEXT, + exact_mappings TEXT, + close_mappings TEXT, + related_mappings TEXT, + narrow_mappings TEXT, + broad_mappings TEXT, + created_by TEXT, + contributors TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + categories TEXT, + keywords TEXT, + PRIMARY KEY (alias, maximum_cardinality, minimum_cardinality, exact_cardinality, extensions, annotations, description, alt_descriptions, title, deprecated, todos, notes, comments, examples, in_subset, from_schema, imported_from, source, in_language, see_also, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, aliases, structured_aliases, mappings, exact_mappings, close_mappings, related_mappings, narrow_mappings, broad_mappings, created_by, contributors, created_on, last_updated_on, modified_by, status, rank, categories, keywords) +); + CREATE TABLE enum_definition ( name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -469,6 +559,7 @@ CREATE TABLE structured_alias ( CREATE TABLE subset_definition ( name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -498,6 +589,7 @@ CREATE TABLE subset_definition ( CREATE TABLE type_definition ( name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -533,8 +625,8 @@ CREATE TABLE type_definition ( implicit_prefix TEXT, equals_string TEXT, equals_number INTEGER, - minimum_value INTEGER, - maximum_value INTEGER, + minimum_value TEXT, + maximum_value TEXT, none_of TEXT, exactly_one_of TEXT, any_of TEXT, @@ -603,6 +695,7 @@ CREATE TABLE class_rule ( ); CREATE TABLE schema_definition ( + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -651,6 +744,7 @@ CREATE TABLE schema_definition ( CREATE TABLE slot_definition ( name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, definition_uri TEXT, local_names TEXT, conforms_to TEXT, @@ -682,6 +776,7 @@ CREATE TABLE slot_definition ( domain TEXT, slot_uri TEXT, multivalued BOOLEAN, + array TEXT, inherited BOOLEAN, readonly TEXT, ifabsent TEXT, @@ -725,8 +820,8 @@ CREATE TABLE slot_definition ( recommended BOOLEAN, inlined BOOLEAN, inlined_as_list BOOLEAN, - minimum_value INTEGER, - maximum_value INTEGER, + minimum_value TEXT, + maximum_value TEXT, pattern TEXT, structured_pattern TEXT, unit TEXT, @@ -735,6 +830,7 @@ CREATE TABLE slot_definition ( equals_string TEXT, equals_number INTEGER, equals_expression TEXT, + exact_cardinality INTEGER, minimum_cardinality INTEGER, maximum_cardinality INTEGER, has_member TEXT, diff --git a/linkml_runtime/linkml_model/types.py b/linkml_runtime/linkml_model/types.py index 338fee8b..522a9e97 100644 --- a/linkml_runtime/linkml_model/types.py +++ b/linkml_runtime/linkml_model/types.py @@ -1,5 +1,5 @@ -# Auto generated from types.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:20 +# Auto generated from types.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:42 # Schema: types # # id: https://w3id.org/linkml/types @@ -23,7 +23,7 @@ from linkml_runtime.utils.metamodelcore import Bool, Curie, Decimal, ElementIdentifier, NCName, NodeIdentifier, URI, URIorCURIE, XSDDate, XSDDateTime, XSDTime metamodel_version = "1.7.0" -version = "2.0.0" +version = None # Overwrite dataclasses _init_fn to add **kwargs in __init__ dataclasses._init_fn = dataclasses_init_fn_with_kwargs @@ -39,7 +39,7 @@ # Types class String(str): """ A character string """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "string" type_model_uri = LINKML.String @@ -47,7 +47,7 @@ class String(str): class Integer(int): """ An integer """ - type_class_uri = XSD.integer + type_class_uri = XSD["integer"] type_class_curie = "xsd:integer" type_name = "integer" type_model_uri = LINKML.Integer @@ -55,7 +55,7 @@ class Integer(int): class Boolean(Bool): """ A binary (true or false) value """ - type_class_uri = XSD.boolean + type_class_uri = XSD["boolean"] type_class_curie = "xsd:boolean" type_name = "boolean" type_model_uri = LINKML.Boolean @@ -63,7 +63,7 @@ class Boolean(Bool): class Float(float): """ A real number that conforms to the xsd:float specification """ - type_class_uri = XSD.float + type_class_uri = XSD["float"] type_class_curie = "xsd:float" type_name = "float" type_model_uri = LINKML.Float @@ -71,7 +71,7 @@ class Float(float): class Double(float): """ A real number that conforms to the xsd:double specification """ - type_class_uri = XSD.double + type_class_uri = XSD["double"] type_class_curie = "xsd:double" type_name = "double" type_model_uri = LINKML.Double @@ -79,7 +79,7 @@ class Double(float): class Decimal(Decimal): """ A real number with arbitrary precision that conforms to the xsd:decimal specification """ - type_class_uri = XSD.decimal + type_class_uri = XSD["decimal"] type_class_curie = "xsd:decimal" type_name = "decimal" type_model_uri = LINKML.Decimal @@ -87,7 +87,7 @@ class Decimal(Decimal): class Time(XSDTime): """ A time object represents a (local) time of day, independent of any particular day """ - type_class_uri = XSD.time + type_class_uri = XSD["time"] type_class_curie = "xsd:time" type_name = "time" type_model_uri = LINKML.Time @@ -95,7 +95,7 @@ class Time(XSDTime): class Date(XSDDate): """ a date (year, month and day) in an idealized calendar """ - type_class_uri = XSD.date + type_class_uri = XSD["date"] type_class_curie = "xsd:date" type_name = "date" type_model_uri = LINKML.Date @@ -103,7 +103,7 @@ class Date(XSDDate): class Datetime(XSDDateTime): """ The combination of a date and time """ - type_class_uri = XSD.dateTime + type_class_uri = XSD["dateTime"] type_class_curie = "xsd:dateTime" type_name = "datetime" type_model_uri = LINKML.Datetime @@ -111,7 +111,7 @@ class Datetime(XSDDateTime): class DateOrDatetime(str): """ Either a date or a datetime """ - type_class_uri = LINKML.DateOrDatetime + type_class_uri = LINKML["DateOrDatetime"] type_class_curie = "linkml:DateOrDatetime" type_name = "date_or_datetime" type_model_uri = LINKML.DateOrDatetime @@ -119,7 +119,7 @@ class DateOrDatetime(str): class Uriorcurie(URIorCURIE): """ a URI or a CURIE """ - type_class_uri = XSD.anyURI + type_class_uri = XSD["anyURI"] type_class_curie = "xsd:anyURI" type_name = "uriorcurie" type_model_uri = LINKML.Uriorcurie @@ -127,7 +127,7 @@ class Uriorcurie(URIorCURIE): class Curie(Curie): """ a compact URI """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "curie" type_model_uri = LINKML.Curie @@ -135,7 +135,7 @@ class Curie(Curie): class Uri(URI): """ a complete URI """ - type_class_uri = XSD.anyURI + type_class_uri = XSD["anyURI"] type_class_curie = "xsd:anyURI" type_name = "uri" type_model_uri = LINKML.Uri @@ -143,7 +143,7 @@ class Uri(URI): class Ncname(NCName): """ Prefix part of CURIE """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "ncname" type_model_uri = LINKML.Ncname @@ -151,7 +151,7 @@ class Ncname(NCName): class Objectidentifier(ElementIdentifier): """ A URI or CURIE that represents an object in the model. """ - type_class_uri = SHEX.iri + type_class_uri = SHEX["iri"] type_class_curie = "shex:iri" type_name = "objectidentifier" type_model_uri = LINKML.Objectidentifier @@ -159,7 +159,7 @@ class Objectidentifier(ElementIdentifier): class Nodeidentifier(NodeIdentifier): """ A URI, CURIE or BNODE that represents a node in a model. """ - type_class_uri = SHEX.nonLiteral + type_class_uri = SHEX["nonLiteral"] type_class_curie = "shex:nonLiteral" type_name = "nodeidentifier" type_model_uri = LINKML.Nodeidentifier @@ -167,7 +167,7 @@ class Nodeidentifier(NodeIdentifier): class Jsonpointer(str): """ A string encoding a JSON Pointer. The value of the string MUST conform to JSON Point syntax and SHOULD dereference to a valid object within the current instance document when encoded in tree form. """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "jsonpointer" type_model_uri = LINKML.Jsonpointer @@ -175,7 +175,7 @@ class Jsonpointer(str): class Jsonpath(str): """ A string encoding a JSON Path. The value of the string MUST conform to JSON Point syntax and SHOULD dereference to zero or more valid objects within the current instance document when encoded in tree form. """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "jsonpath" type_model_uri = LINKML.Jsonpath @@ -183,7 +183,7 @@ class Jsonpath(str): class Sparqlpath(str): """ A string encoding a SPARQL Property Path. The value of the string MUST conform to SPARQL syntax and SHOULD dereference to zero or more valid objects within the current instance document when encoded as RDF. """ - type_class_uri = XSD.string + type_class_uri = XSD["string"] type_class_curie = "xsd:string" type_name = "sparqlpath" type_model_uri = LINKML.Sparqlpath diff --git a/linkml_runtime/linkml_model/units.py b/linkml_runtime/linkml_model/units.py index dbe8edd3..30fbae46 100644 --- a/linkml_runtime/linkml_model/units.py +++ b/linkml_runtime/linkml_model/units.py @@ -1,5 +1,5 @@ -# Auto generated from units.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:21 +# Auto generated from units.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:43 # Schema: units # # id: https://w3id.org/linkml/units @@ -55,7 +55,7 @@ class UnitOfMeasure(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = QUDT.Unit + class_class_uri: ClassVar[URIRef] = QUDT["Unit"] class_class_curie: ClassVar[str] = "qudt:Unit" class_name: ClassVar[str] = "UnitOfMeasure" class_model_uri: ClassVar[URIRef] = LINKML.UnitOfMeasure diff --git a/linkml_runtime/linkml_model/validation.py b/linkml_runtime/linkml_model/validation.py index 41644b33..b9fe24f8 100644 --- a/linkml_runtime/linkml_model/validation.py +++ b/linkml_runtime/linkml_model/validation.py @@ -1,5 +1,5 @@ -# Auto generated from validation.yaml by pythongen.py version: 0.9.0 -# Generation date: 2023-09-01T13:21:24 +# Auto generated from validation.yaml by pythongen.py version: 0.0.1 +# Generation date: 2024-02-07T17:29:45 # Schema: reporting # # id: https://w3id.org/linkml/reporting @@ -56,7 +56,7 @@ class ValidationReport(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = SH.ValidationReport + class_class_uri: ClassVar[URIRef] = SH["ValidationReport"] class_class_curie: ClassVar[str] = "sh:ValidationReport" class_name: ClassVar[str] = "ValidationReport" class_model_uri: ClassVar[URIRef] = REPORTING.ValidationReport @@ -78,7 +78,7 @@ class ValidationResult(YAMLRoot): """ _inherited_slots: ClassVar[List[str]] = [] - class_class_uri: ClassVar[URIRef] = SH.ValidationResult + class_class_uri: ClassVar[URIRef] = SH["ValidationResult"] class_class_curie: ClassVar[str] = "sh:ValidationResult" class_name: ClassVar[str] = "ValidationResult" class_model_uri: ClassVar[URIRef] = REPORTING.ValidationResult @@ -141,7 +141,7 @@ class ProblemType(EnumDefinitionImpl): description="Applies when the value of a slot is inconsistent with the declared range") max_count_violation = PermissibleValue( text="max_count_violation", - meaning=SH.MaxCountConstraintComponent) + meaning=SH["MaxCountConstraintComponent"]) parsing_error = PermissibleValue( text="parsing_error", description="The data could not be parsed") @@ -155,13 +155,13 @@ class SeverityOptions(EnumDefinitionImpl): FATAL = PermissibleValue(text="FATAL") ERROR = PermissibleValue( text="ERROR", - meaning=SH.Violation) + meaning=SH["Violation"]) WARNING = PermissibleValue( text="WARNING", - meaning=SH.Warning) + meaning=SH["Warning"]) INFO = PermissibleValue( text="INFO", - meaning=SH.Info) + meaning=SH["Info"]) _defn = EnumDefinition( name="SeverityOptions",