diff --git a/linkml_model/annotations.py b/linkml_model/annotations.py index bc5c1cd2..25875c61 100644 --- a/linkml_model/annotations.py +++ b/linkml_model/annotations.py @@ -1,5 +1,5 @@ # Auto generated from annotations.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:22 +# Generation date: 2024-12-24T09:44:49 # Schema: annotations # # id: https://w3id.org/linkml/annotations @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .extensions import AnyValue, Extension, ExtensionTag from .types import Uriorcurie from linkml_runtime.utils.metamodelcore import URIorCURIE @@ -42,7 +74,7 @@ class AnnotationTag(ExtensionTag): pass -@dataclass +@dataclass(repr=False) class Annotatable(YAMLRoot): """ mixin for classes that support annotations @@ -62,7 +94,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Annotation(Extension): """ a tag/value pair with the semantics of OWL Annotation diff --git a/linkml_model/datasets.py b/linkml_model/datasets.py index b05a6941..11ad4a39 100644 --- a/linkml_model/datasets.py +++ b/linkml_model/datasets.py @@ -1,5 +1,5 @@ # Auto generated from datasets.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:27 +# Generation date: 2024-12-24T09:44:50 # Schema: datasets # # id: https://w3id.org/linkml/datasets @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .types import Datetime, Integer, String, Uri, Uriorcurie from linkml_runtime.utils.metamodelcore import URI, URIorCURIE, XSDDateTime @@ -68,7 +100,7 @@ class DataResourceId(InformationId): pass -@dataclass +@dataclass(repr=False) class Information(YAMLRoot): """ Grouping for datasets and data files @@ -165,7 +197,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class DataPackage(Information): """ A collection of data resources @@ -193,7 +225,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class DataResource(Information): """ An individual file or table @@ -260,7 +292,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class FormatDialect(YAMLRoot): """ Additional format information for a file diff --git a/linkml_model/excel/meta.xlsx b/linkml_model/excel/meta.xlsx index 4b28e8fb..b47e9b3a 100644 Binary files a/linkml_model/excel/meta.xlsx and b/linkml_model/excel/meta.xlsx differ diff --git a/linkml_model/extensions.py b/linkml_model/extensions.py index 9b1ecf26..5077eb97 100644 --- a/linkml_model/extensions.py +++ b/linkml_model/extensions.py @@ -1,5 +1,5 @@ # Auto generated from extensions.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:29 +# Generation date: 2024-12-24T09:44:52 # Schema: extensions # # id: https://w3id.org/linkml/extensions @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .types import Uriorcurie from linkml_runtime.utils.metamodelcore import URIorCURIE @@ -43,7 +75,7 @@ class ExtensionTag(URIorCURIE): AnyValue = Any -@dataclass +@dataclass(repr=False) class Extension(YAMLRoot): """ a tag/value pair used to add non-model information to an entry @@ -70,7 +102,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Extensible(YAMLRoot): """ mixin for classes that support extension diff --git a/linkml_model/graphql/meta.graphql b/linkml_model/graphql/meta.graphql index 761e079b..61d5517d 100644 --- a/linkml_model/graphql/meta.graphql +++ b/linkml_model/graphql/meta.graphql @@ -1,3 +1,46 @@ +# metamodel_version: 1.7.0 +enum AliasPredicateEnum + { + EXACT_SYNONYM + RELATED_SYNONYM + BROAD_SYNONYM + NARROW_SYNONYM + } + +enum ObligationLevelEnum + { + REQUIRED + RECOMMENDED + OPTIONAL + EXAMPLE + DISCOURAGED + } + +enum PresenceEnum + { + UNCOMMITTED + PRESENT + ABSENT + } + +enum PvFormulaOptions + { + CODE + CURIE + URI + FHIR_CODING + LABEL + } + +enum RelationalRoleEnum + { + SUBJECT + OBJECT + PREDICATE + NODE + OTHER_ROLE + } + type AltDescription { source: String! @@ -156,8 +199,10 @@ type AnonymousSlotExpression implements SlotExpression range: Element rangeExpression: AnonymousClassExpression enumRange: EnumExpression + bindings: [EnumBinding] required: Boolean recommended: Boolean + multivalued: Boolean inlined: Boolean inlinedAsList: Boolean minimumValue: Anything @@ -180,6 +225,7 @@ type AnonymousSlotExpression implements SlotExpression exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] allOf: [AnonymousSlotExpression] + array: ArrayExpression } type AnonymousTypeExpression implements TypeExpression @@ -212,7 +258,6 @@ type ArrayExpression implements Extensible, Annotatable, CommonMetadata exactNumberDimensions: Integer minimumNumberDimensions: Integer maximumNumberDimensions: Anything - hasExtraDimensions: Boolean dimensions: [DimensionExpression] extensions: [Extension] annotations: [Annotation] @@ -315,6 +360,7 @@ type ClassDefinition implements ClassExpression representsRelationship: Boolean disjointWith: [ClassDefinition] childrenAreMutuallyDisjoint: Boolean + extraSlots: ExtraSlotsExpression isA: ClassDefinition mixins: [ClassDefinition] applyTo: [ClassDefinition] @@ -564,6 +610,49 @@ type Element implements Extensible, Annotatable, CommonMetadata keywords: [String] } +type EnumBinding implements Extensible, Annotatable, CommonMetadata + { + range: EnumDefinition + obligationLevel: ObligationLevelEnum + bindsValueOf: String + pvFormula: PvFormulaOptions + 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 EnumDefinition implements EnumExpression { name: String! @@ -668,6 +757,12 @@ type Extension extensions: [Extension] } +type ExtraSlotsExpression implements Expression + { + allowed: Boolean + rangeExpression: AnonymousClassExpression + } + type ImportExpression implements Extensible, Annotatable, CommonMetadata { importFrom: Uriorcurie! @@ -817,6 +912,8 @@ type PermissibleValue implements Extensible, Annotatable, CommonMetadata description: String meaning: Uriorcurie unit: UnitOfMeasure + instantiates: [Uriorcurie] + implements: [Uriorcurie] isA: PermissibleValue mixins: [PermissibleValue] extensions: [Extension] @@ -936,6 +1033,7 @@ type SchemaDefinition generationDate: Datetime slotNamesUnique: Boolean settings: [Setting] + bindings: [EnumBinding] name: Ncname! } @@ -997,8 +1095,6 @@ type SlotDefinition implements SlotExpression singularName: String domain: ClassDefinition slotUri: Uriorcurie - multivalued: Boolean - array: ArrayExpression inherited: Boolean readonly: String ifabsent: String @@ -1032,14 +1128,17 @@ type SlotDefinition implements SlotExpression disjointWith: [SlotDefinition] childrenAreMutuallyDisjoint: Boolean unionOf: [SlotDefinition] + typeMappings: [TypeMapping] isA: SlotDefinition mixins: [SlotDefinition] applyTo: [SlotDefinition] range: Element rangeExpression: AnonymousClassExpression enumRange: EnumExpression + bindings: [EnumBinding] required: Boolean recommended: Boolean + multivalued: Boolean inlined: Boolean inlinedAsList: Boolean minimumValue: Anything @@ -1062,6 +1161,7 @@ type SlotDefinition implements SlotExpression exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] allOf: [AnonymousSlotExpression] + array: ArrayExpression } interface SlotExpression @@ -1069,8 +1169,10 @@ interface SlotExpression range: Element rangeExpression: AnonymousClassExpression enumRange: EnumExpression + bindings: [EnumBinding] required: Boolean recommended: Boolean + multivalued: Boolean inlined: Boolean inlinedAsList: Boolean minimumValue: Anything @@ -1093,6 +1195,7 @@ interface SlotExpression exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] allOf: [AnonymousSlotExpression] + array: ArrayExpression } type StructuredAlias implements Expression, Extensible, Annotatable, CommonMetadata @@ -1100,6 +1203,7 @@ type StructuredAlias implements Expression, Extensible, Annotatable, CommonMetad literalForm: String! predicate: AliasPredicateEnum categories: [Uriorcurie] + contexts: [Uri] extensions: [Extension] annotations: [Annotation] description: String @@ -1265,6 +1369,48 @@ interface TypeExpression allOf: [AnonymousTypeExpression] } +type TypeMapping implements Extensible, Annotatable, CommonMetadata + { + framework: String! + type: TypeDefinition + stringSerialization: String + 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 UniqueKey implements Extensible, Annotatable, CommonMetadata { uniqueKeyName: String! diff --git a/linkml_model/jsonld/meta.context.jsonld b/linkml_model/jsonld/meta.context.jsonld index 802ef6ed..fb63b9f2 100644 --- a/linkml_model/jsonld/meta.context.jsonld +++ b/linkml_model/jsonld/meta.context.jsonld @@ -1,10 +1,11 @@ { "comments": { "description": "Auto generated by LinkML jsonld context generator", - "generation_date": "2024-02-07T17:29:49", + "generation_date": "2024-12-24T09:44:56", "source": "meta.yaml" }, "@context": { + "xsd": "http://www.w3.org/2001/XMLSchema#", "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", "@prefix": true @@ -33,20 +34,23 @@ "skosxl": "http://www.w3.org/2008/05/skos-xl#", "swrl": "http://www.w3.org/2003/11/swrl#", "vann": "https://vocab.org/vann/", - "xsd": "http://www.w3.org/2001/XMLSchema#", "@vocab": "https://w3id.org/linkml/", "abbreviation": { "@id": "qudt:abbreviation" }, "abstract": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "abstract" }, "alias": { "@id": "skos:prefLabel" }, + "contexts": { + "@type": "xsd:anyURI", + "@id": "contexts" + }, "predicate": { "@context": { - "@vocab": "@null", "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" @@ -57,83 +61,128 @@ "@id": "skos:altLabel" }, "all_members": { - "@type": "@id" + "@type": "@id", + "@id": "all_members" }, "all_of": { - "@type": "@id" + "@type": "@id", + "@id": "all_of" + }, + "allowed": { + "@type": "xsd:boolean", + "@id": "allowed" + }, + "source": { + "@type": "xsd:anyURI", + "@id": "dcterms:source" + }, + "description": { + "@id": "description" }, "alt_descriptions": { - "@type": "@id" + "@type": "@id", + "@id": "alt_descriptions" }, "annotations": { - "@type": "@id" + "@type": "@id", + "@id": "annotations" }, "any_of": { - "@type": "@id" + "@type": "@id", + "@id": "any_of" }, "apply_to": { - "@type": "@id" + "@type": "@id", + "@id": "apply_to" }, "array": { - "@type": "@id" + "@type": "@id", + "@id": "array" }, "asymmetric": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "asymmetric" }, "attributes": { - "@type": "@id" + "@type": "@id", + "@id": "attributes" + }, + "base": { + "@id": "base" }, "bidirectional": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "bidirectional" + }, + "bindings": { + "@type": "@id", + "@id": "bindings" + }, + "binds_value_of": { + "@id": "binds_value_of" }, "boolean_slot": { - "@type": "@id" + "@type": "@id", + "@id": "boolean_slot" }, "broad_mappings": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:broadMatch" }, "categories": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "dcterms:subject" }, "children_are_mutually_disjoint": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "children_are_mutually_disjoint" }, "class_uri": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "class_uri" }, "classes": { - "@type": "@id" + "@type": "@id", + "@id": "classes" }, "classification_rules": { - "@type": "@id" + "@type": "@id", + "@id": "classification_rules" }, "close_mappings": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:closeMatch" }, "code_set": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "code_set" + }, + "code_set_tag": { + "@id": "code_set_tag" + }, + "code_set_version": { + "@id": "code_set_version" }, "comments": { "@id": "skos:note" }, "concepts": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "concepts" }, "conforms_to": { "@id": "dcterms:conformsTo" }, "consider_nulls_inequal": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "consider_nulls_inequal" }, "contributors": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "dcterms:contributor" }, "created_by": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "pav:createdBy" }, "created_on": { @@ -144,128 +193,203 @@ "@type": "xsd:boolean", "@id": "sh:deactivated" }, + "default_curi_maps": { + "@id": "default_curi_maps" + }, + "default_prefix": { + "@id": "default_prefix" + }, "default_range": { - "@type": "@id" + "@type": "@id", + "@id": "default_range" }, "defining_slots": { - "@type": "@id" + "@type": "@id", + "@id": "defining_slots" }, "definition_uri": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "definition_uri" + }, + "deprecated": { + "@id": "deprecated" }, "deprecated_element_has_exact_replacement": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "deprecated_element_has_exact_replacement" }, "deprecated_element_has_possible_replacement": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "deprecated_element_has_possible_replacement" }, - "description": { - "@id": "skos:definition" + "derivation": { + "@id": "derivation" }, "descriptive_name": { "@id": "rdfs:label" }, "designates_type": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "designates_type" }, "dimensions": { - "@type": "@id" + "@type": "@id", + "@id": "dimensions" }, "disjoint_with": { - "@type": "@id" + "@type": "@id", + "@id": "disjoint_with" }, "domain": { - "@type": "@id" + "@type": "@id", + "@id": "domain" }, "domain_of": { - "@type": "@id" + "@type": "@id", + "@id": "domain_of" }, "elseconditions": { - "@type": "@id" + "@type": "@id", + "@id": "elseconditions" + }, + "emit_prefixes": { + "@id": "emit_prefixes" }, "enum_range": { - "@type": "@id" + "@type": "@id", + "@id": "enum_range" }, "enum_uri": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "enum_uri" }, "enums": { - "@type": "@id" + "@type": "@id", + "@id": "enums" + }, + "equals_expression": { + "@id": "equals_expression" }, "equals_number": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "equals_number" }, "equals_number_in": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "equals_number_in" + }, + "equals_string": { + "@id": "equals_string" + }, + "equals_string_in": { + "@id": "equals_string_in" }, "exact_mappings": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:exactMatch" }, "exact_cardinality": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "exact_cardinality" }, "exact_number_dimensions": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "exact_number_dimensions" }, "exactly_one_of": { - "@type": "@id" + "@type": "@id", + "@id": "exactly_one_of" }, "examples": { - "@type": "@id" + "@type": "@id", + "@id": "examples" }, "tag": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "tag" }, "value": { "@id": "skos:example" }, "extensions": { - "@type": "@id" + "@type": "@id", + "@id": "extensions" + }, + "extra_slots": { + "@type": "@id", + "@id": "extra_slots" }, "followed_by": { - "@type": "@id" + "@type": "@id", + "@id": "followed_by" + }, + "framework": { + "@id": "framework" }, "from_schema": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:inScheme" }, "generation_date": { - "@type": "xsd:dateTime" - }, - "has_extra_dimensions": { - "@type": "xsd:boolean" + "@type": "xsd:dateTime", + "@id": "generation_date" }, "has_member": { - "@type": "@id" + "@type": "@id", + "@id": "has_member" }, "has_quantity_kind": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "qudt:hasQuantityKind" }, "id": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "id" + }, + "id_prefixes": { + "@id": "id_prefixes" }, "id_prefixes_are_closed": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "id_prefixes_are_closed" }, "identifier": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "identifier" + }, + "identifier_pattern": { + "@id": "identifier_pattern" }, "iec61360code": { "@id": "qudt:iec61360Code" }, + "ifabsent": { + "@id": "ifabsent" + }, "implements": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "implements" + }, + "implicit_prefix": { + "@id": "implicit_prefix" + }, + "import_as": { + "@id": "import_as" }, "import_from": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "import_from" }, "import_map": { - "@type": "@id" + "@type": "@id", + "@id": "import_map" + }, + "imported_from": { + "@id": "imported_from" }, "imports": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "imports" }, "in_language": { "@id": "schema:inLanguage" @@ -275,59 +399,76 @@ "@id": "OIO:inSubset" }, "inapplicable": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "inapplicable" }, "include": { - "@type": "@id" + "@type": "@id", + "@id": "include" }, "include_self": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "include_self" }, "inherited": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "inherited" }, "inherits": { - "@type": "@id" + "@type": "@id", + "@id": "inherits" }, "inlined": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "inlined" }, "inlined_as_list": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "inlined_as_list" }, "inlined_as_simple_dict": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "inlined_as_simple_dict" }, "instantiates": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "instantiates" }, "interpolated": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "interpolated" }, "inverse": { "@type": "@id", "@id": "owl:inverseOf" }, "irreflexive": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "irreflexive" }, "is_a": { - "@type": "@id" + "@type": "@id", + "@id": "is_a" }, "is_class_field": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "is_class_field" }, "is_direct": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "is_direct" }, "is_grouping_slot": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "is_grouping_slot" }, "is_usage_slot": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "is_usage_slot" }, "key": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "key" }, "keywords": { "@id": "schema:keywords" @@ -340,98 +481,146 @@ "@id": "dcterms:license" }, "list_elements_ordered": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "list_elements_ordered" }, "list_elements_unique": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "list_elements_unique" + }, + "list_value_specification_constant": { + "@id": "list_value_specification_constant" }, "literal_form": { "@id": "skosxl:literalForm" }, + "local_name_source": { + "@id": "local_name_source" + }, "local_name_value": { "@id": "skos:altLabel" }, "local_names": { - "@type": "@id" + "@type": "@id", + "@id": "local_names" }, "locally_reflexive": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "locally_reflexive" }, - "mappings": { + "type": { "@type": "@id", + "@id": "type" + }, + "mappings": { + "@type": "xsd:anyURI", "@id": "skos:mappingRelation" }, "matches": { - "@type": "@id" + "@type": "@id", + "@id": "matches" }, "maximum_cardinality": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "maximum_cardinality" }, "maximum_number_dimensions": { - "@type": "@id" + "@type": "@id", + "@id": "maximum_number_dimensions" }, "maximum_value": { - "@type": "@id" + "@type": "@id", + "@id": "maximum_value" }, "meaning": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "meaning" + }, + "metamodel_version": { + "@id": "metamodel_version" }, "minimum_cardinality": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "minimum_cardinality" }, "minimum_number_dimensions": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "minimum_number_dimensions" }, "minimum_value": { - "@type": "@id" + "@type": "@id", + "@id": "minimum_value" }, "minus": { - "@type": "@id" + "@type": "@id", + "@id": "minus" }, "mixin": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "mixin" }, "mixins": { - "@type": "@id" + "@type": "@id", + "@id": "mixins" }, "modified_by": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "oslc:modifiedBy" }, "multivalued": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "multivalued" }, "name": "@id", "narrow_mappings": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:narrowMatch" }, "none_of": { - "@type": "@id" + "@type": "@id", + "@id": "none_of" }, "notes": { "@id": "skos:editorialNote" }, + "obligation_level": { + "@context": { + "text": "skos:notation", + "description": "skos:prefLabel", + "meaning": "@id" + }, + "@id": "obligation_level" + }, "open_world": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "open_world" }, "owned_by": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "owned_by" }, "owner": { - "@type": "@id" + "@type": "@id", + "@id": "owner" }, "partial_match": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "partial_match" }, "path_rule": { - "@type": "@id" + "@type": "@id", + "@id": "path_rule" + }, + "pattern": { + "@id": "pattern" }, "permissible_values": { - "@type": "@id" + "@type": "@id", + "@id": "permissible_values" }, "postconditions": { - "@type": "@id" + "@type": "@id", + "@id": "postconditions" }, "preconditions": { "@type": "@id", @@ -441,7 +630,7 @@ "@id": "sh:prefix" }, "prefix_reference": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "sh:namespace" }, "prefixes": { @@ -449,209 +638,420 @@ "@id": "sh:declare" }, "publisher": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "dcterms:publisher" }, "pv_formula": { "@context": { - "@vocab": "@null", "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "pv_formula" }, "range": { - "@type": "@id" + "@type": "@id", + "@id": "range" }, "range_expression": { - "@type": "@id" + "@type": "@id", + "@id": "range_expression" }, "rank": { "@type": "xsd:integer", "@id": "sh:order" }, "reachable_from": { - "@type": "@id" + "@type": "@id", + "@id": "reachable_from" + }, + "readonly": { + "@id": "readonly" }, "recommended": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "recommended" }, "reflexive": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "reflexive" }, "reflexive_transitive_form_of": { - "@type": "@id" + "@type": "@id", + "@id": "reflexive_transitive_form_of" }, "related_mappings": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "skos:relatedMatch" }, "relational_logical_characteristic": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "relational_logical_characteristic" }, "relational_role": { "@context": { - "@vocab": "@null", "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "relational_role" }, "relationship_types": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "relationship_types" + }, + "repr": { + "@id": "repr" }, "represents_relationship": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "represents_relationship" }, "required": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "required" }, "reversed": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "reversed" + }, + "role": { + "@id": "role" }, "rules": { "@type": "@id", "@id": "sh:rule" }, "see_also": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "rdfs:seeAlso" }, + "setting_key": { + "@id": "setting_key" + }, + "setting_value": { + "@id": "setting_value" + }, "settings": { - "@type": "@id" + "@type": "@id", + "@id": "settings" }, "shared": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "shared" + }, + "singular_name": { + "@id": "singular_name" }, "slot_conditions": { - "@type": "@id" + "@type": "@id", + "@id": "slot_conditions" }, "slots": { - "@type": "@id" + "@type": "@id", + "@id": "slots" }, "slot_group": { "@type": "@id", "@id": "sh:group" }, "slot_names_unique": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "slot_names_unique" }, "slot_uri": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "slot_uri" }, "slot_usage": { - "@type": "@id" - }, - "source": { "@type": "@id", - "@id": "dcterms:source" + "@id": "slot_usage" + }, + "source_file": { + "@id": "source_file" }, "source_file_date": { - "@type": "xsd:dateTime" + "@type": "xsd:dateTime", + "@id": "source_file_date" }, "source_file_size": { - "@type": "xsd:integer" + "@type": "xsd:integer", + "@id": "source_file_size" }, "source_nodes": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "source_nodes" }, "source_ontology": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "source_ontology" }, "status": { - "@type": "@id", + "@type": "xsd:anyURI", "@id": "bibo:status" }, + "string_serialization": { + "@id": "string_serialization" + }, "structured_aliases": { "@type": "@id", "@id": "skosxl:altLabel" }, "structured_imports": { - "@type": "@id" + "@type": "@id", + "@id": "structured_imports" }, "structured_pattern": { - "@type": "@id" + "@type": "@id", + "@id": "structured_pattern" }, "subclass_of": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "subclass_of" }, "subproperty_of": { "@type": "@id", "@id": "rdfs:subPropertyOf" }, "subsets": { - "@type": "@id" + "@type": "@id", + "@id": "subsets" }, "symbol": { "@id": "qudt:symbol" }, "symmetric": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "symmetric" + }, + "syntax": { + "@id": "syntax" }, "text": "@id", "title": { "@id": "dcterms:title" }, + "todos": { + "@id": "todos" + }, "transitive": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "transitive" }, "transitive_form_of": { - "@type": "@id" + "@type": "@id", + "@id": "transitive_form_of" }, "traverse": { - "@type": "@id" + "@type": "@id", + "@id": "traverse" }, "traverse_up": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "traverse_up" }, "tree_root": { - "@type": "xsd:boolean" + "@type": "xsd:boolean", + "@id": "tree_root" + }, + "type_mappings": { + "@type": "@id", + "@id": "type_mappings" }, "uri": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "uri" }, "typeof": { - "@type": "@id" + "@type": "@id", + "@id": "typeof" }, "types": { - "@type": "@id" + "@type": "@id", + "@id": "types" }, "ucum_code": { "@id": "qudt:ucumCode" }, "union_of": { - "@type": "@id" + "@type": "@id", + "@id": "union_of" + }, + "unique_key_name": { + "@id": "unique_key_name" }, "unique_key_slots": { - "@type": "@id" + "@type": "@id", + "@id": "unique_key_slots" }, "unique_keys": { - "@type": "@id" + "@type": "@id", + "@id": "unique_keys" }, "unit": { "@type": "@id", "@id": "qudt:unit" }, + "usage_slot_name": { + "@id": "usage_slot_name" + }, "object": { - "@type": "@id" + "@type": "@id", + "@id": "object" }, "value_presence": { "@context": { - "@vocab": "@null", "text": "skos:notation", "description": "skos:prefLabel", "meaning": "@id" - } + }, + "@id": "value_presence" + }, + "value_specification_constant": { + "@id": "value_specification_constant" }, "values_from": { - "@type": "@id" + "@type": "xsd:anyURI", + "@id": "values_from" }, "version": { "@id": "pav:version" }, + "AltDescription": { + "@id": "AltDescription" + }, + "Annotatable": { + "@id": "Annotatable" + }, + "Annotation": { + "@id": "Annotation" + }, + "AnonymousClassExpression": { + "@id": "AnonymousClassExpression" + }, + "AnonymousEnumExpression": { + "@id": "AnonymousEnumExpression" + }, + "AnonymousExpression": { + "@id": "AnonymousExpression" + }, + "AnonymousSlotExpression": { + "@id": "AnonymousSlotExpression" + }, + "AnonymousTypeExpression": { + "@id": "AnonymousTypeExpression" + }, + "Anything": { + "@id": "Any" + }, + "AnyValue": { + "@id": "Any" + }, + "ArrayExpression": { + "@id": "ArrayExpression" + }, + "ClassDefinition": { + "@id": "ClassDefinition" + }, + "ClassExpression": { + "@id": "ClassExpression" + }, + "ClassLevelRule": { + "@id": "ClassLevelRule" + }, + "ClassRule": { + "@id": "ClassRule" + }, + "CommonMetadata": { + "@id": "CommonMetadata" + }, + "Definition": { + "@id": "Definition" + }, + "DimensionExpression": { + "@id": "DimensionExpression" + }, + "Element": { + "@id": "Element" + }, + "EnumBinding": { + "@id": "EnumBinding" + }, + "EnumDefinition": { + "@id": "EnumDefinition" + }, + "EnumExpression": { + "@id": "EnumExpression" + }, + "Example": { + "@id": "Example" + }, + "Expression": { + "@id": "Expression" + }, + "Extensible": { + "@id": "Extensible" + }, + "Extension": { + "@id": "Extension" + }, + "ExtraSlotsExpression": { + "@id": "ExtraSlotsExpression" + }, + "ImportExpression": { + "@id": "ImportExpression" + }, + "LocalName": { + "@id": "LocalName" + }, + "MatchQuery": { + "@id": "MatchQuery" + }, + "PathExpression": { + "@id": "PathExpression" + }, + "PatternExpression": { + "@id": "PatternExpression" + }, + "PermissibleValue": { + "@id": "PermissibleValue" + }, + "Prefix": { + "@id": "Prefix" + }, + "ReachabilityQuery": { + "@id": "ReachabilityQuery" + }, + "SchemaDefinition": { + "@id": "SchemaDefinition" + }, + "Setting": { + "@id": "Setting" + }, + "SlotDefinition": { + "@id": "SlotDefinition" + }, + "SlotExpression": { + "@id": "SlotExpression" + }, "StructuredAlias": { "@id": "skosxl:Label" }, + "SubsetDefinition": { + "@id": "SubsetDefinition" + }, + "TypeDefinition": { + "@id": "TypeDefinition" + }, + "TypeExpression": { + "@id": "TypeExpression" + }, + "TypeMapping": { + "@id": "TypeMapping" + }, + "UniqueKey": { + "@id": "UniqueKey" + }, "UnitOfMeasure": { "@id": "qudt:Unit" } diff --git a/linkml_model/jsonld/meta.jsonld b/linkml_model/jsonld/meta.jsonld index fcdd35ee..cb05a870 100644 --- a/linkml_model/jsonld/meta.jsonld +++ b/linkml_model/jsonld/meta.jsonld @@ -585,6 +585,41 @@ "meaning": "skos:narrowerMatch" } ] + }, + { + "name": "obligation_level_enum", + "definition_uri": "https://w3id.org/linkml/ObligationLevelEnum", + "description": "The level of obligation or recommendation strength for a metadata element", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "rank": 10, + "permissible_values": [ + { + "text": "REQUIRED", + "description": "The metadata element is required to be present in the model" + }, + { + "text": "RECOMMENDED", + "description": "The metadata element is recommended to be present in the model", + "aliases": [ + "ENCOURAGED" + ] + }, + { + "text": "OPTIONAL", + "description": "The metadata element is optional to be present in the model" + }, + { + "text": "EXAMPLE", + "description": "The metadata element is an example of how to use the model" + }, + { + "text": "DISCOURAGED", + "description": "The metadata element is allowed but discouraged to be present in the model" + } + ] } ], "slots": [ @@ -681,12 +716,13 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Element", "slot_uri": "https://w3id.org/linkml/implements", - "multivalued": true, - "owner": "Element", + "owner": "PermissibleValue", "domain_of": [ - "Element" + "Element", + "PermissibleValue" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -696,12 +732,13 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Element", "slot_uri": "https://w3id.org/linkml/instantiates", - "multivalued": true, - "owner": "Element", + "owner": "PermissibleValue", "domain_of": [ - "Element" + "Element", + "PermissibleValue" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -720,13 +757,13 @@ ], "singular_name": "category", "slot_uri": "http://purl.org/dc/terms/subject", - "multivalued": true, "owner": "StructuredAlias", "domain_of": [ "CommonMetadata", "StructuredAlias" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -743,12 +780,12 @@ "singular_name": "keyword", "domain": "Element", "slot_uri": "http://schema.org/keywords", - "multivalued": true, "owner": "keywords", "domain_of": [ "CommonMetadata" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -792,12 +829,12 @@ ], "domain": "Element", "slot_uri": "https://w3id.org/linkml/id_prefixes", - "multivalued": true, "owner": "Element", "domain_of": [ "Element" ], "range": "ncname", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -859,12 +896,12 @@ "http://www.w3.org/2008/05/skos-xl#altLabel" ], "slot_uri": "http://www.w3.org/2008/05/skos-xl#altLabel", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "StructuredAlias", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -893,12 +930,12 @@ ], "domain": "Element", "slot_uri": "http://www.w3.org/2004/02/skos/core#altLabel", - "multivalued": true, "owner": "aliases", "domain_of": [ "CommonMetadata" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -934,12 +971,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Element", "slot_uri": "https://w3id.org/linkml/todos", - "multivalued": true, "owner": "todos", "domain_of": [ "CommonMetadata" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -955,12 +992,12 @@ ], "domain": "Element", "slot_uri": "http://www.w3.org/2004/02/skos/core#editorialNote", - "multivalued": true, "owner": "notes", "domain_of": [ "CommonMetadata" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -979,12 +1016,12 @@ ], "domain": "Element", "slot_uri": "http://www.w3.org/2004/02/skos/core#note", - "multivalued": true, "owner": "comments", "domain_of": [ "CommonMetadata" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1003,12 +1040,12 @@ ], "domain": "Element", "slot_uri": "http://www.geneontology.org/formats/oboInOwl#inSubset", - "multivalued": true, "owner": "in_subset", "domain_of": [ "CommonMetadata" ], "range": "SubsetDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1063,12 +1100,12 @@ ], "domain": "Element", "slot_uri": "http://www.w3.org/2000/01/rdf-schema#seeAlso", - "multivalued": true, "owner": "see_also", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1125,12 +1162,12 @@ ], "domain": "Element", "slot_uri": "http://purl.org/dc/terms/contributor", - "multivalued": true, "owner": "contributors", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1267,6 +1304,22 @@ "recommended": true, "@type": "SlotDefinition" }, + { + "name": "alias_contexts", + "definition_uri": "https://w3id.org/linkml/alias_contexts", + "description": "The context in which an alias should be applied", + "from_schema": "https://w3id.org/linkml/meta", + "domain": "StructuredAlias", + "slot_uri": "https://w3id.org/linkml/contexts", + "alias": "contexts", + "owner": "StructuredAlias", + "domain_of": [ + "StructuredAlias" + ], + "range": "uri", + "multivalued": true, + "@type": "SlotDefinition" + }, { "name": "in_language", "definition_uri": "https://w3id.org/linkml/in_language", @@ -1348,12 +1401,12 @@ "from_schema": "https://w3id.org/linkml/meta", "rank": 11, "abstract": true, - "domain": "Definition", "slot_uri": "https://w3id.org/linkml/is_a", - "owner": "AnonymousClassExpression", + "owner": "PermissibleValue", "domain_of": [ "Definition", - "AnonymousClassExpression" + "AnonymousClassExpression", + "PermissibleValue" ], "range": "Definition", "@type": "SlotDefinition" @@ -1423,14 +1476,14 @@ "traits" ], "rank": 13, - "domain": "Definition", "slot_uri": "https://w3id.org/linkml/mixins", - "multivalued": true, - "owner": "Definition", + "owner": "PermissibleValue", "domain_of": [ - "Definition" + "Definition", + "PermissibleValue" ], "range": "Definition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1441,12 +1494,12 @@ "status": "testing", "domain": "Definition", "slot_uri": "https://w3id.org/linkml/apply_to", - "multivalued": true, "owner": "Definition", "domain_of": [ "Definition" ], "range": "Definition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1457,12 +1510,12 @@ "status": "testing", "domain": "Definition", "slot_uri": "https://w3id.org/linkml/values_from", - "multivalued": true, "owner": "Definition", "domain_of": [ "Definition" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1536,11 +1589,11 @@ "BasicSubset" ], "from_schema": "https://w3id.org/linkml/meta", - "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/pv_formula", - "owner": "EnumExpression", + "owner": "EnumBinding", "domain_of": [ - "EnumExpression" + "EnumExpression", + "EnumBinding" ], "range": "pv_formula_options", "@type": "SlotDefinition" @@ -1562,12 +1615,12 @@ ], "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/permissible_values", - "multivalued": true, "owner": "EnumExpression", "domain_of": [ "EnumExpression" ], "range": "PermissibleValue", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -1603,12 +1656,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/include", - "multivalued": true, "owner": "EnumExpression", "domain_of": [ "EnumExpression" ], "range": "AnonymousEnumExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -1622,12 +1675,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/minus", - "multivalued": true, "owner": "EnumExpression", "domain_of": [ "EnumExpression" ], "range": "AnonymousEnumExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -1644,12 +1697,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/inherits", - "multivalued": true, "owner": "EnumExpression", "domain_of": [ "EnumExpression" ], "range": "EnumDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1697,12 +1750,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "EnumExpression", "slot_uri": "https://w3id.org/linkml/concepts", - "multivalued": true, "owner": "EnumExpression", "domain_of": [ "EnumExpression" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1822,12 +1875,12 @@ ], "domain": "ReachabilityQuery", "slot_uri": "https://w3id.org/linkml/relationship_types", - "multivalued": true, "owner": "ReachabilityQuery", "domain_of": [ "ReachabilityQuery" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1840,12 +1893,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "ReachabilityQuery", "slot_uri": "https://w3id.org/linkml/source_nodes", - "multivalued": true, "owner": "ReachabilityQuery", "domain_of": [ "ReachabilityQuery" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1935,12 +1988,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/emit_prefixes", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "ncname", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1979,12 +2032,12 @@ "rank": 21, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/imports", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -1995,9 +2048,9 @@ "status": "testing", "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/structured_imports", - "multivalued": true, "owner": "structured_imports", "range": "ImportExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2032,12 +2085,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/default_curi_maps", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -2096,12 +2149,12 @@ "rank": 8, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/subsets", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "SubsetDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2118,12 +2171,12 @@ "rank": 6, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/types", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "TypeDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2141,12 +2194,12 @@ "rank": 5, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/enums", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "EnumDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2166,13 +2219,13 @@ "rank": 4, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/slots", - "multivalued": true, "alias": "slots", "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "SlotDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2192,12 +2245,12 @@ "rank": 3, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/classes", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "ClassDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2307,12 +2360,12 @@ "rank": 19, "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/slots", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -2330,12 +2383,12 @@ "rank": 23, "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/slot_usage", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "SlotDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2371,10 +2424,11 @@ "status": "testing", "domain": "SlotExpression", "slot_uri": "https://w3id.org/linkml/range_expression", - "owner": "SlotExpression", + "owner": "ExtraSlotsExpression", "domain_of": [ "PathExpression", - "SlotExpression" + "SlotExpression", + "ExtraSlotsExpression" ], "range": "AnonymousClassExpression", "inlined": true, @@ -2387,8 +2441,8 @@ "from_schema": "https://w3id.org/linkml/meta", "abstract": true, "slot_uri": "https://w3id.org/linkml/boolean_slot", - "multivalued": true, "range": "Expression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2409,7 +2463,6 @@ "rank": 101, "is_a": "boolean_slot", "slot_uri": "https://w3id.org/linkml/any_of", - "multivalued": true, "owner": "ClassExpression", "domain_of": [ "TypeExpression", @@ -2418,6 +2471,7 @@ "ClassExpression" ], "range": "Expression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2438,7 +2492,6 @@ "rank": 103, "is_a": "boolean_slot", "slot_uri": "https://w3id.org/linkml/exactly_one_of", - "multivalued": true, "owner": "ClassExpression", "domain_of": [ "TypeExpression", @@ -2447,6 +2500,7 @@ "ClassExpression" ], "range": "Expression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2467,7 +2521,6 @@ "rank": 105, "is_a": "boolean_slot", "slot_uri": "https://w3id.org/linkml/none_of", - "multivalued": true, "owner": "ClassExpression", "domain_of": [ "TypeExpression", @@ -2476,6 +2529,7 @@ "ClassExpression" ], "range": "Expression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2496,7 +2550,6 @@ "rank": 107, "is_a": "boolean_slot", "slot_uri": "https://w3id.org/linkml/all_of", - "multivalued": true, "owner": "ClassExpression", "domain_of": [ "TypeExpression", @@ -2505,6 +2558,7 @@ "ClassExpression" ], "range": "Expression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2692,12 +2746,12 @@ ], "domain": "ClassDefinition", "slot_uri": "http://www.w3.org/ns/shacl#rule", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "ClassRule", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2711,12 +2765,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/classification_rules", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "AnonymousClassExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2730,12 +2784,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "ClassExpression", "slot_uri": "https://w3id.org/linkml/slot_conditions", - "multivalued": true, "owner": "ClassExpression", "domain_of": [ "ClassExpression" ], "range": "SlotDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2758,12 +2812,12 @@ "rank": 29, "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/attributes", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "SlotDefinition", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2822,13 +2876,13 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/defining_slots", - "multivalued": true, "inherited": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -2845,7 +2899,6 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Element", "slot_uri": "https://w3id.org/linkml/union_of", - "multivalued": true, "owner": "union_of", "domain_of": [ "TypeDefinition", @@ -2853,6 +2906,7 @@ "ClassDefinition" ], "range": "Element", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -2898,12 +2952,12 @@ ], "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/unique_keys", - "multivalued": true, "owner": "ClassDefinition", "domain_of": [ "ClassDefinition" ], "range": "UniqueKey", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -2954,13 +3008,13 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "UniqueKey", "slot_uri": "https://w3id.org/linkml/unique_key_slots", - "multivalued": true, "owner": "UniqueKey", "domain_of": [ "UniqueKey" ], "range": "SlotDefinition", "required": true, + "multivalued": true, "@type": "SlotDefinition" }, { @@ -2979,6 +3033,84 @@ "range": "boolean", "@type": "SlotDefinition" }, + { + "name": "extra_slots", + "definition_uri": "https://w3id.org/linkml/extra_slots", + "description": "How a class instance handles extra data not specified in the class definition.\nNote that this does *not* define the constraints that are placed on additional slots defined by inheriting classes.\n\nPossible values:\n- `allowed: true` - allow all additional data\n- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - \n forbid all additional data (default) \n- `range_expression: ...` - allow additional data if it matches the slot expression (see examples)\n", + "examples": [ + { + "value": "JsonObj(allowed=True)", + "description": "Allow all additional data", + "@type": "Example" + }, + { + "value": "JsonObj(allowed=False)", + "description": "Forbid any additional data", + "@type": "Example" + }, + { + "value": "JsonObj(range_expression=JsonObj(range='string'))", + "description": "Allow additional data that are strings", + "@type": "Example" + }, + { + "value": "JsonObj(range_expression=JsonObj(range='AClassDefinition'))", + "description": "Allow additional data if they are instances of the class definition \"AClassDefinition\"", + "@type": "Example" + }, + { + "value": "JsonObj(range_expression=JsonObj(any_of=[{'range': 'string'}, {'range': 'integer'}]))", + "description": "allow additional data if they are either strings or integers", + "@type": "Example" + }, + { + "value": "JsonObj(range_expression=JsonObj(range='integer', multivalued=True, maximum_cardinality=5))", + "description": "Allow additional data if they are lists of integers of at most length 5.\nNote that this does *not* mean that a maximum of 5 extra slots are allowed.\n", + "@type": "Example" + }, + { + "value": "JsonObj(range_expression=JsonObj(range='integer', required=True))", + "description": "Allow additional data if they are integers. \n`required` is meaningless in this context and ignored, since by definition all \"extra\" slots are optional.\n", + "@type": "Example" + }, + { + "value": "JsonObj(allowed=False, range_expression=JsonObj(range='string'))", + "description": "A semantically *invalid* use of `extra_slots`, as extra slots will be forbidden and the \n`anonymous_slot_expression` will be ignored.\n", + "@type": "Example" + } + ], + "in_subset": [ + "SpecificationSubset", + "BasicSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "domain": "ClassDefinition", + "slot_uri": "https://w3id.org/linkml/extra_slots", + "owner": "ClassDefinition", + "domain_of": [ + "ClassDefinition" + ], + "range": "ExtraSlotsExpression", + "inlined": true, + "@type": "SlotDefinition" + }, + { + "name": "allowed", + "definition_uri": "https://w3id.org/linkml/allowed", + "description": "Whether or not something is allowed. Usage defined by context.", + "in_subset": [ + "SpecificationSubset", + "BasicSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "slot_uri": "https://w3id.org/linkml/allowed", + "owner": "ExtraSlotsExpression", + "domain_of": [ + "ExtraSlotsExpression" + ], + "range": "boolean", + "@type": "SlotDefinition" + }, { "name": "domain", "definition_uri": "https://w3id.org/linkml/domain", @@ -3002,7 +3134,8 @@ "definition_uri": "https://w3id.org/linkml/range", "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", "comments": [ - "range is underspecified, as not all elements can appear as the range of a slot." + "range is underspecified, as not all elements can appear as the range of a slot.", + "to use a URI or CURIE as the range, create a class with the URI or curie as the class_uri" ], "in_subset": [ "SpecificationSubset", @@ -3018,9 +3151,9 @@ "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/range", "inherited": true, - "ifabsent": "default_range", "owner": "range", "domain_of": [ + "EnumBinding", "SlotExpression" ], "range": "Element", @@ -3031,7 +3164,8 @@ "definition_uri": "https://w3id.org/linkml/slot_uri", "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.", "comments": [ - "Assigning slot_uris can provide additional hooks for interoperation, indicating a common conceptual model" + "Assigning slot_uris can provide additional hooks for interoperation, indicating a common conceptual model", + "To use a URI or CURIE as a range, create a class with the URI or CURIE as the class_uri" ], "in_subset": [ "SpecificationSubset", @@ -3048,7 +3182,6 @@ "rank": 2, "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/slot_uri", - "ifabsent": "slot_curie", "owner": "SlotDefinition", "domain_of": [ "SlotDefinition" @@ -3071,9 +3204,9 @@ "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/multivalued", "inherited": true, - "owner": "SlotDefinition", + "owner": "multivalued", "domain_of": [ - "SlotDefinition" + "SlotExpression" ], "range": "boolean", "@type": "SlotDefinition" @@ -3087,9 +3220,9 @@ "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/array", "inherited": true, - "owner": "SlotDefinition", + "owner": "array", "domain_of": [ - "SlotDefinition" + "SlotExpression" ], "range": "ArrayExpression", "inlined": true, @@ -3106,13 +3239,13 @@ "status": "testing", "domain": "ArrayExpression", "slot_uri": "https://w3id.org/linkml/dimensions", - "multivalued": true, "list_elements_ordered": true, "owner": "ArrayExpression", "domain_of": [ "ArrayExpression" ], "range": "DimensionExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -3181,21 +3314,6 @@ "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", @@ -3239,7 +3357,7 @@ { "name": "ifabsent", "definition_uri": "https://w3id.org/linkml/ifabsent", - "description": "function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library:\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value", + "description": "function that provides a default value for the slot.\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value\n * EnumName(PermissibleValue) -- enum value", "in_subset": [ "SpecificationSubset" ], @@ -3304,7 +3422,7 @@ { "name": "value_presence", "definition_uri": "https://w3id.org/linkml/value_presence", - "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)", + "description": "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)", "comments": [ "if set to true this has the same effect as required=true. In contrast, required=false allows a value to be present" ], @@ -3459,7 +3577,6 @@ "status": "testing", "is_a": "list_value_specification_constant", "slot_uri": "https://w3id.org/linkml/equals_string_in", - "multivalued": true, "inherited": true, "owner": "SlotExpression", "domain_of": [ @@ -3467,6 +3584,7 @@ "SlotExpression" ], "range": "string", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -3480,9 +3598,9 @@ "status": "testing", "is_a": "list_value_specification_constant", "slot_uri": "https://w3id.org/linkml/equals_number_in", - "multivalued": true, "inherited": true, "range": "integer", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -3899,13 +4017,13 @@ ], "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/domain_of", - "multivalued": true, "readonly": "filled in by the loader", "owner": "SlotDefinition", "domain_of": [ "SlotDefinition" ], "range": "ClassDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -3973,13 +4091,13 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Definition", "slot_uri": "https://w3id.org/linkml/disjoint_with", - "multivalued": true, "owner": "disjoint_with", "domain_of": [ "SlotDefinition", "ClassDefinition" ], "range": "Definition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -4372,28 +4490,127 @@ "TypeExpression", "SlotExpression" ], - "range": "PatternExpression", - "inlined": true, + "range": "PatternExpression", + "inlined": true, + "@type": "SlotDefinition" + }, + { + "name": "string_serialization", + "definition_uri": "https://w3id.org/linkml/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", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "see_also": [ + "https://github.com/linkml/issues/128" + ], + "domain": "Definition", + "slot_uri": "https://w3id.org/linkml/string_serialization", + "owner": "TypeMapping", + "domain_of": [ + "Definition", + "TypeMapping" + ], + "range": "string", + "@type": "SlotDefinition" + }, + { + "name": "bindings", + "definition_uri": "https://w3id.org/linkml/bindings", + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "status": "testing", + "domain": "Element", + "slot_uri": "https://w3id.org/linkml/bindings", + "owner": "bindings", + "domain_of": [ + "SchemaDefinition", + "SlotExpression" + ], + "range": "EnumBinding", + "multivalued": true, + "inlined": true, + "@type": "SlotDefinition" + }, + { + "name": "binds_value_of", + "definition_uri": "https://w3id.org/linkml/binds_value_of", + "description": "A path to a slot that is being bound to a permissible value from an enumeration.", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "domain": "EnumBinding", + "slot_uri": "https://w3id.org/linkml/binds_value_of", + "owner": "EnumBinding", + "domain_of": [ + "EnumBinding" + ], + "range": "string", + "@type": "SlotDefinition" + }, + { + "name": "obligation_level", + "definition_uri": "https://w3id.org/linkml/obligation_level", + "description": "The level of obligation or recommendation strength for a metadata element", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "slot_uri": "https://w3id.org/linkml/obligation_level", + "owner": "EnumBinding", + "domain_of": [ + "EnumBinding" + ], + "range": "obligation_level_enum", + "@type": "SlotDefinition" + }, + { + "name": "type_mappings", + "definition_uri": "https://w3id.org/linkml/type_mappings", + "description": "A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks", + "from_schema": "https://w3id.org/linkml/meta", + "slot_uri": "https://w3id.org/linkml/type_mappings", + "owner": "SlotDefinition", + "domain_of": [ + "SlotDefinition" + ], + "range": "TypeMapping", + "multivalued": true, "@type": "SlotDefinition" }, { - "name": "string_serialization", - "definition_uri": "https://w3id.org/linkml/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", - "in_subset": [ - "SpecificationSubset" - ], + "name": "framework_key", + "definition_uri": "https://w3id.org/linkml/framework_key", + "description": "The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced", "from_schema": "https://w3id.org/linkml/meta", - "see_also": [ - "https://github.com/linkml/issues/128" - ], - "domain": "Definition", - "slot_uri": "https://w3id.org/linkml/string_serialization", - "owner": "Definition", + "slot_uri": "https://w3id.org/linkml/framework", + "key": true, + "alias": "framework", + "owner": "TypeMapping", "domain_of": [ - "Definition" + "TypeMapping" ], "range": "string", + "required": true, + "@type": "SlotDefinition" + }, + { + "name": "mapped_type", + "definition_uri": "https://w3id.org/linkml/mapped_type", + "description": "type to coerce to", + "from_schema": "https://w3id.org/linkml/meta", + "slot_uri": "https://w3id.org/linkml/type", + "alias": "type", + "owner": "TypeMapping", + "domain_of": [ + "TypeMapping" + ], + "range": "TypeDefinition", "@type": "SlotDefinition" }, { @@ -4541,12 +4758,12 @@ ], "domain": "Element", "slot_uri": "https://w3id.org/linkml/alt_descriptions", - "multivalued": true, "owner": "alt_descriptions", "domain_of": [ "CommonMetadata" ], "range": "AltDescription", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -4621,12 +4838,12 @@ "singular_name": "example", "domain": "Element", "slot_uri": "https://w3id.org/linkml/examples", - "multivalued": true, "owner": "examples", "domain_of": [ "CommonMetadata" ], "range": "Example", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -4692,12 +4909,12 @@ "rank": 10, "domain": "SchemaDefinition", "slot_uri": "http://www.w3.org/ns/shacl#declare", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "Prefix", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -4755,12 +4972,12 @@ "rank": 20, "domain": "SchemaDefinition", "slot_uri": "https://w3id.org/linkml/settings", - "multivalued": true, "owner": "SchemaDefinition", "domain_of": [ "SchemaDefinition" ], "range": "Setting", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -4800,12 +5017,12 @@ "status": "testing", "domain": "ImportExpression", "slot_uri": "https://w3id.org/linkml/import_map", - "multivalued": true, "owner": "ImportExpression", "domain_of": [ "ImportExpression" ], "range": "Setting", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -4849,12 +5066,12 @@ "from_schema": "https://w3id.org/linkml/meta", "domain": "Element", "slot_uri": "https://w3id.org/linkml/local_names", - "multivalued": true, "owner": "Element", "domain_of": [ "Element" ], "range": "LocalName", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5036,12 +5253,12 @@ "http://www.w3.org/2004/02/skos/core#mappingRelation" ], "slot_uri": "http://www.w3.org/2004/02/skos/core#mappingRelation", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5055,13 +5272,13 @@ ], "is_a": "mappings", "slot_uri": "http://www.w3.org/2004/02/skos/core#exactMatch", - "multivalued": true, "owner": "UnitOfMeasure", "domain_of": [ "CommonMetadata", "UnitOfMeasure" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5075,12 +5292,12 @@ ], "is_a": "mappings", "slot_uri": "http://www.w3.org/2004/02/skos/core#closeMatch", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5094,12 +5311,12 @@ ], "is_a": "mappings", "slot_uri": "http://www.w3.org/2004/02/skos/core#relatedMatch", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5113,12 +5330,12 @@ ], "is_a": "mappings", "slot_uri": "http://www.w3.org/2004/02/skos/core#narrowMatch", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5132,12 +5349,12 @@ ], "is_a": "mappings", "slot_uri": "http://www.w3.org/2004/02/skos/core#broadMatch", - "multivalued": true, "owner": "CommonMetadata", "domain_of": [ "CommonMetadata" ], "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5182,13 +5399,13 @@ "imported_from": "linkml:extensions", "domain": "Extensible", "slot_uri": "https://w3id.org/linkml/extensions", - "multivalued": true, "owner": "Extensible", "domain_of": [ "Extension", "Extensible" ], "range": "Extension", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5213,6 +5430,13 @@ { "name": "extension_value", "definition_uri": "https://w3id.org/linkml/extension_value", + "annotations": [ + { + "tag": "simple_dict_value", + "value": true, + "@type": "Annotation" + } + ], "description": "the actual annotation", "from_schema": "https://w3id.org/linkml/extensions", "imported_from": "linkml:extensions", @@ -5237,13 +5461,13 @@ "is_a": "extensions", "domain": "Annotatable", "slot_uri": "https://w3id.org/linkml/annotations", - "multivalued": true, "owner": "Annotation", "domain_of": [ "Annotatable", "Annotation" ], "range": "Annotation", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5448,7 +5672,6 @@ "is_a": "any_of", "domain": "TypeExpression", "slot_uri": "https://w3id.org/linkml/any_of", - "multivalued": true, "alias": "any_of", "owner": "TypeExpression", "domain_of": [ @@ -5457,6 +5680,7 @@ "is_usage_slot": true, "usage_slot_name": "any_of", "range": "AnonymousTypeExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5478,7 +5702,6 @@ "is_a": "all_of", "domain": "TypeExpression", "slot_uri": "https://w3id.org/linkml/all_of", - "multivalued": true, "alias": "all_of", "owner": "TypeExpression", "domain_of": [ @@ -5487,6 +5710,7 @@ "is_usage_slot": true, "usage_slot_name": "all_of", "range": "AnonymousTypeExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5508,7 +5732,6 @@ "is_a": "exactly_one_of", "domain": "TypeExpression", "slot_uri": "https://w3id.org/linkml/exactly_one_of", - "multivalued": true, "alias": "exactly_one_of", "owner": "TypeExpression", "domain_of": [ @@ -5517,6 +5740,7 @@ "is_usage_slot": true, "usage_slot_name": "exactly_one_of", "range": "AnonymousTypeExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5538,7 +5762,6 @@ "is_a": "none_of", "domain": "TypeExpression", "slot_uri": "https://w3id.org/linkml/none_of", - "multivalued": true, "alias": "none_of", "owner": "TypeExpression", "domain_of": [ @@ -5547,6 +5770,7 @@ "is_usage_slot": true, "usage_slot_name": "none_of", "range": "AnonymousTypeExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5565,7 +5789,6 @@ "is_a": "union_of", "domain": "TypeDefinition", "slot_uri": "https://w3id.org/linkml/union_of", - "multivalued": true, "alias": "union_of", "owner": "TypeDefinition", "domain_of": [ @@ -5574,6 +5797,40 @@ "is_usage_slot": true, "usage_slot_name": "union_of", "range": "TypeDefinition", + "multivalued": true, + "@type": "SlotDefinition" + }, + { + "name": "enum_binding_range", + "definition_uri": "https://w3id.org/linkml/range", + "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", + "comments": [ + "range is underspecified, as not all elements can appear as the range of a slot.", + "to use a URI or CURIE as the range, create a class with the URI or curie as the class_uri" + ], + "in_subset": [ + "SpecificationSubset", + "MinimalSubset", + "BasicSubset", + "RelationalModelProfile", + "ObjectOrientedProfile" + ], + "from_schema": "https://w3id.org/linkml/meta", + "aliases": [ + "value domain" + ], + "is_a": "range", + "domain": "EnumBinding", + "slot_uri": "https://w3id.org/linkml/range", + "inherited": true, + "alias": "range", + "owner": "EnumBinding", + "domain_of": [ + "EnumBinding" + ], + "is_usage_slot": true, + "usage_slot_name": "range", + "range": "EnumDefinition", "@type": "SlotDefinition" }, { @@ -5601,7 +5858,6 @@ "singular_name": "category", "domain": "StructuredAlias", "slot_uri": "http://purl.org/dc/terms/subject", - "multivalued": true, "alias": "categories", "owner": "StructuredAlias", "domain_of": [ @@ -5610,6 +5866,7 @@ "is_usage_slot": true, "usage_slot_name": "categories", "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5649,7 +5906,6 @@ "is_a": "any_of", "domain": "PathExpression", "slot_uri": "https://w3id.org/linkml/any_of", - "multivalued": true, "alias": "any_of", "owner": "PathExpression", "domain_of": [ @@ -5658,6 +5914,7 @@ "is_usage_slot": true, "usage_slot_name": "any_of", "range": "PathExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5679,7 +5936,6 @@ "is_a": "exactly_one_of", "domain": "PathExpression", "slot_uri": "https://w3id.org/linkml/exactly_one_of", - "multivalued": true, "alias": "exactly_one_of", "owner": "PathExpression", "domain_of": [ @@ -5688,6 +5944,7 @@ "is_usage_slot": true, "usage_slot_name": "exactly_one_of", "range": "PathExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5709,7 +5966,6 @@ "is_a": "none_of", "domain": "PathExpression", "slot_uri": "https://w3id.org/linkml/none_of", - "multivalued": true, "alias": "none_of", "owner": "PathExpression", "domain_of": [ @@ -5718,6 +5974,7 @@ "is_usage_slot": true, "usage_slot_name": "none_of", "range": "PathExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5739,7 +5996,6 @@ "is_a": "all_of", "domain": "PathExpression", "slot_uri": "https://w3id.org/linkml/all_of", - "multivalued": true, "alias": "all_of", "owner": "PathExpression", "domain_of": [ @@ -5748,6 +6004,7 @@ "is_usage_slot": true, "usage_slot_name": "all_of", "range": "PathExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5769,7 +6026,6 @@ "is_a": "any_of", "domain": "SlotExpression", "slot_uri": "https://w3id.org/linkml/any_of", - "multivalued": true, "alias": "any_of", "owner": "SlotExpression", "domain_of": [ @@ -5778,6 +6034,7 @@ "is_usage_slot": true, "usage_slot_name": "any_of", "range": "AnonymousSlotExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5799,7 +6056,6 @@ "is_a": "all_of", "domain": "SlotExpression", "slot_uri": "https://w3id.org/linkml/all_of", - "multivalued": true, "alias": "all_of", "owner": "SlotExpression", "domain_of": [ @@ -5808,6 +6064,7 @@ "is_usage_slot": true, "usage_slot_name": "all_of", "range": "AnonymousSlotExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5829,7 +6086,6 @@ "is_a": "exactly_one_of", "domain": "SlotExpression", "slot_uri": "https://w3id.org/linkml/exactly_one_of", - "multivalued": true, "alias": "exactly_one_of", "owner": "SlotExpression", "domain_of": [ @@ -5838,6 +6094,7 @@ "is_usage_slot": true, "usage_slot_name": "exactly_one_of", "range": "AnonymousSlotExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5859,7 +6116,6 @@ "is_a": "none_of", "domain": "SlotExpression", "slot_uri": "https://w3id.org/linkml/none_of", - "multivalued": true, "alias": "none_of", "owner": "SlotExpression", "domain_of": [ @@ -5868,6 +6124,7 @@ "is_usage_slot": true, "usage_slot_name": "none_of", "range": "AnonymousSlotExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -5921,7 +6178,6 @@ "is_a": "mixins", "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/mixins", - "multivalued": true, "alias": "mixins", "owner": "SlotDefinition", "domain_of": [ @@ -5930,6 +6186,7 @@ "is_usage_slot": true, "usage_slot_name": "mixins", "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5941,7 +6198,6 @@ "is_a": "apply_to", "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/apply_to", - "multivalued": true, "alias": "apply_to", "owner": "SlotDefinition", "domain_of": [ @@ -5950,6 +6206,7 @@ "is_usage_slot": true, "usage_slot_name": "apply_to", "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5963,7 +6220,6 @@ "is_a": "disjoint_with", "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/disjoint_with", - "multivalued": true, "alias": "disjoint_with", "owner": "SlotDefinition", "domain_of": [ @@ -5972,6 +6228,7 @@ "is_usage_slot": true, "usage_slot_name": "disjoint_with", "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -5989,7 +6246,6 @@ "is_a": "union_of", "domain": "SlotDefinition", "slot_uri": "https://w3id.org/linkml/union_of", - "multivalued": true, "alias": "union_of", "owner": "SlotDefinition", "domain_of": [ @@ -5998,6 +6254,7 @@ "is_usage_slot": true, "usage_slot_name": "union_of", "range": "SlotDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6018,7 +6275,6 @@ "is_a": "any_of", "domain": "ClassExpression", "slot_uri": "https://w3id.org/linkml/any_of", - "multivalued": true, "alias": "any_of", "owner": "ClassExpression", "domain_of": [ @@ -6027,6 +6283,7 @@ "is_usage_slot": true, "usage_slot_name": "any_of", "range": "AnonymousClassExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -6048,7 +6305,6 @@ "is_a": "all_of", "domain": "ClassExpression", "slot_uri": "https://w3id.org/linkml/all_of", - "multivalued": true, "alias": "all_of", "owner": "ClassExpression", "domain_of": [ @@ -6057,6 +6313,7 @@ "is_usage_slot": true, "usage_slot_name": "all_of", "range": "AnonymousClassExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -6078,7 +6335,6 @@ "is_a": "exactly_one_of", "domain": "ClassExpression", "slot_uri": "https://w3id.org/linkml/exactly_one_of", - "multivalued": true, "alias": "exactly_one_of", "owner": "ClassExpression", "domain_of": [ @@ -6087,6 +6343,7 @@ "is_usage_slot": true, "usage_slot_name": "exactly_one_of", "range": "AnonymousClassExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -6108,7 +6365,6 @@ "is_a": "none_of", "domain": "ClassExpression", "slot_uri": "https://w3id.org/linkml/none_of", - "multivalued": true, "alias": "none_of", "owner": "ClassExpression", "domain_of": [ @@ -6117,6 +6373,7 @@ "is_usage_slot": true, "usage_slot_name": "none_of", "range": "AnonymousClassExpression", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -6170,7 +6427,6 @@ "is_a": "mixins", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/mixins", - "multivalued": true, "alias": "mixins", "owner": "ClassDefinition", "domain_of": [ @@ -6179,6 +6435,7 @@ "is_usage_slot": true, "usage_slot_name": "mixins", "range": "ClassDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6190,7 +6447,6 @@ "is_a": "apply_to", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/apply_to", - "multivalued": true, "alias": "apply_to", "owner": "ClassDefinition", "domain_of": [ @@ -6199,6 +6455,7 @@ "is_usage_slot": true, "usage_slot_name": "apply_to", "range": "ClassDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6215,7 +6472,6 @@ "is_a": "rules", "domain": "ClassDefinition", "slot_uri": "http://www.w3.org/ns/shacl#rule", - "multivalued": true, "alias": "rules", "owner": "ClassDefinition", "domain_of": [ @@ -6224,6 +6480,7 @@ "is_usage_slot": true, "usage_slot_name": "rules", "range": "ClassRule", + "multivalued": true, "inlined": true, "@type": "SlotDefinition" }, @@ -6238,7 +6495,6 @@ "is_a": "disjoint_with", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/disjoint_with", - "multivalued": true, "alias": "disjoint_with", "owner": "ClassDefinition", "domain_of": [ @@ -6247,6 +6503,7 @@ "is_usage_slot": true, "usage_slot_name": "disjoint_with", "range": "ClassDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6264,7 +6521,6 @@ "is_a": "union_of", "domain": "ClassDefinition", "slot_uri": "https://w3id.org/linkml/union_of", - "multivalued": true, "alias": "union_of", "owner": "ClassDefinition", "domain_of": [ @@ -6273,6 +6529,7 @@ "is_usage_slot": true, "usage_slot_name": "union_of", "range": "ClassDefinition", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6325,7 +6582,6 @@ "is_a": "mixins", "domain": "PermissibleValue", "slot_uri": "https://w3id.org/linkml/mixins", - "multivalued": true, "alias": "mixins", "owner": "PermissibleValue", "domain_of": [ @@ -6334,6 +6590,7 @@ "is_usage_slot": true, "usage_slot_name": "mixins", "range": "PermissibleValue", + "multivalued": true, "@type": "SlotDefinition" }, { @@ -6351,7 +6608,6 @@ "is_a": "exact_mappings", "domain": "UnitOfMeasure", "slot_uri": "http://www.w3.org/2004/02/skos/core#exactMatch", - "multivalued": true, "alias": "exact mappings", "owner": "UnitOfMeasure", "domain_of": [ @@ -6360,6 +6616,7 @@ "is_usage_slot": true, "usage_slot_name": "exact mappings", "range": "uriorcurie", + "multivalued": true, "@type": "SlotDefinition" } ], @@ -6587,6 +6844,7 @@ "generation_date", "slot_names_unique", "settings", + "bindings", "schema_definition_name" ], "slot_usage": {}, @@ -7011,6 +7269,64 @@ "class_uri": "https://w3id.org/linkml/EnumDefinition", "@type": "ClassDefinition" }, + { + "name": "EnumBinding", + "definition_uri": "https://w3id.org/linkml/EnumBinding", + "description": "A binding of a slot or a class to a permissible value from an enumeration.", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "mixins": [ + "Extensible", + "Annotatable", + "CommonMetadata" + ], + "slots": [ + "enum_binding_range", + "obligation_level", + "binds_value_of", + "pv_formula", + "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/EnumBinding", + "@type": "ClassDefinition" + }, { "name": "MatchQuery", "definition_uri": "https://w3id.org/linkml/MatchQuery", @@ -7065,6 +7381,7 @@ "literal_form", "alias_predicate", "structured_alias_categories", + "alias_contexts", "extensions", "annotations", "description", @@ -7242,8 +7559,10 @@ "range", "range_expression", "enum_range", + "bindings", "required", "recommended", + "multivalued", "inlined", "inlined_as_list", "minimum_value", @@ -7265,7 +7584,8 @@ "slot_expression_none_of", "slot_expression_exactly_one_of", "slot_expression_any_of", - "slot_expression_all_of" + "slot_expression_all_of", + "array" ], "slot_usage": {}, "class_uri": "https://w3id.org/linkml/SlotExpression", @@ -7318,8 +7638,10 @@ "range", "range_expression", "enum_range", + "bindings", "required", "recommended", + "multivalued", "inlined", "inlined_as_list", "minimum_value", @@ -7341,7 +7663,8 @@ "slot_expression_none_of", "slot_expression_exactly_one_of", "slot_expression_any_of", - "slot_expression_all_of" + "slot_expression_all_of", + "array" ], "slot_usage": {}, "class_uri": "https://w3id.org/linkml/AnonymousSlotExpression", @@ -7426,8 +7749,6 @@ "singular_name", "domain", "slot_uri", - "multivalued", - "array", "inherited", "readonly", "ifabsent", @@ -7461,14 +7782,17 @@ "slot_definition_disjoint_with", "children_are_mutually_disjoint", "slot_definition_union_of", + "type_mappings", "slot_definition_is_a", "slot_definition_mixins", "slot_definition_apply_to", "range", "range_expression", "enum_range", + "bindings", "required", "recommended", + "multivalued", "inlined", "inlined_as_list", "minimum_value", @@ -7490,7 +7814,8 @@ "slot_expression_none_of", "slot_expression_exactly_one_of", "slot_expression_any_of", - "slot_expression_all_of" + "slot_expression_all_of", + "array" ], "slot_usage": {}, "class_uri": "https://w3id.org/linkml/SlotDefinition", @@ -7659,6 +7984,7 @@ "represents_relationship", "class_definition_disjoint_with", "children_are_mutually_disjoint", + "extra_slots", "class_definition_is_a", "class_definition_mixins", "class_definition_apply_to", @@ -7765,7 +8091,6 @@ "exact_number_dimensions", "minimum_number_dimensions", "maximum_number_dimensions", - "has_extra_dimensions", "dimensions", "extensions", "annotations", @@ -8081,6 +8406,8 @@ "description", "meaning", "unit", + "instantiates", + "implements", "permissible_value_is_a", "permissible_value_mixins", "extensions", @@ -8182,6 +8509,80 @@ "class_uri": "https://w3id.org/linkml/UniqueKey", "@type": "ClassDefinition" }, + { + "name": "TypeMapping", + "definition_uri": "https://w3id.org/linkml/TypeMapping", + "description": "Represents how a slot or type can be serialized to a format.", + "in_subset": [ + "SpecificationSubset" + ], + "from_schema": "https://w3id.org/linkml/meta", + "rank": 21, + "mixins": [ + "Extensible", + "Annotatable", + "CommonMetadata" + ], + "slots": [ + "framework_key", + "mapped_type", + "string_serialization", + "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/TypeMapping", + "@type": "ClassDefinition" + }, + { + "name": "ExtraSlotsExpression", + "definition_uri": "https://w3id.org/linkml/ExtraSlotsExpression", + "description": "An expression that defines how to handle additional data in an instance of class\nbeyond the slots/attributes defined for that class. \nSee `extra_slots` for usage examples.\n", + "from_schema": "https://w3id.org/linkml/meta", + "mixins": [ + "Expression" + ], + "slots": [ + "allowed", + "range_expression" + ], + "slot_usage": {}, + "class_uri": "https://w3id.org/linkml/ExtraSlotsExpression", + "@type": "ClassDefinition" + }, { "name": "AnyValue", "definition_uri": "https://w3id.org/linkml/AnyValue", @@ -8325,9 +8726,9 @@ ], "metamodel_version": "1.7.0", "source_file": "meta.yaml", - "source_file_date": "2024-02-07T17:29:17", - "source_file_size": 93289, - "generation_date": "2024-02-07T17:29:51", + "source_file_date": "2024-12-24T09:37:54", + "source_file_size": 99744, + "generation_date": "2024-12-24T09:44:56", "@type": "SchemaDefinition", "@context": [ "staging/jsonld/meta.context.jsonld", diff --git a/linkml_model/jsonschema/meta.schema.json b/linkml_model/jsonschema/meta.schema.json index 9d968840..722492a7 100644 --- a/linkml_model/jsonschema/meta.schema.json +++ b/linkml_model/jsonschema/meta.schema.json @@ -21,7 +21,10 @@ }, "source": { "description": "the source of an attributed description", - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -41,7 +44,10 @@ }, "source": { "description": "the source of an attributed description", - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ @@ -67,7 +73,10 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "extensions": { "additionalProperties": { @@ -82,7 +91,10 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "tag": { "description": "a tag associated with an extension", @@ -117,7 +129,10 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "extensions": { "additionalProperties": { @@ -132,7 +147,10 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "tag": { "description": "a tag associated with an extension", @@ -158,14 +176,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "all_of": { "description": "holds if all of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -180,7 +204,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -195,95 +222,143 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "any_of": { "description": "holds if at least one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exactly_one_of": { "description": "holds if only one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -298,92 +373,140 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "is_a": { "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", - "type": "string" + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "none_of": { "description": "holds if none of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "slot_conditions": { "additionalProperties": { @@ -397,33 +520,51 @@ ] }, "description": "expresses constraints on a group of slots for a class expression", - "type": "object" + "type": [ + "object", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "AnonymousClassExpression", @@ -435,39 +576,64 @@ "properties": { "code_set": { "description": "the identifier of an enumeration code set.", - "type": "string" + "type": [ + "string", + "null" + ] }, "code_set_tag": { "description": "the version tag of the enumeration code set", - "type": "string" + "type": [ + "string", + "null" + ] }, "code_set_version": { "description": "the version identifier of the enumeration code set", - "type": "string" + "type": [ + "string", + "null" + ] }, "concepts": { "description": "A list of identifiers that are used to construct a set of permissible values", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "include": { "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", "items": { "$ref": "#/$defs/AnonymousEnumExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inherits": { "description": "An enum definition that is used as the basis to create a new enum", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "matches": { - "$ref": "#/$defs/MatchQuery", + "anyOf": [ + { + "$ref": "#/$defs/MatchQuery" + }, + { + "type": "null" + } + ], "description": "Specifies a match query that is used to calculate the list of permissible values" }, "minus": { @@ -475,7 +641,10 @@ "items": { "$ref": "#/$defs/AnonymousEnumExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "permissible_values": { "additionalProperties": { @@ -489,14 +658,24 @@ ] }, "description": "A list of possible values for a slot range", - "type": "object" + "type": [ + "object", + "null" + ] }, "pv_formula": { "$ref": "#/$defs/PvFormulaOptions", "description": "Defines the specific formula to be used to generate the permissible values." }, "reachable_from": { - "$ref": "#/$defs/ReachabilityQuery", + "anyOf": [ + { + "$ref": "#/$defs/ReachabilityQuery" + }, + { + "type": "null" + } + ], "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" } }, @@ -512,10 +691,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "all_members": { - "$ref": "#/$defs/AnonymousSlotExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], "description": "the value of the slot is multivalued with all members satisfying the condition" }, "all_of": { @@ -523,7 +712,10 @@ "items": { "$ref": "#/$defs/AnonymousSlotExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -538,7 +730,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -553,122 +748,213 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "any_of": { "description": "holds if at least one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousSlotExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "array": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayExpression" + }, + { + "type": "null" + } + ], + "description": "coerces the value of the slot into an array and defines the dimensions of that array" + }, + "bindings": { + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", + "items": { + "$ref": "#/$defs/EnumBinding" + }, + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "enum_range": { - "$ref": "#/$defs/EnumExpression", + "anyOf": [ + { + "$ref": "#/$defs/EnumExpression" + }, + { + "type": "null" + } + ], "description": "An inlined enumeration" }, "equals_expression": { "description": "the value of the slot must equal the value of the evaluated expression", - "type": "string" + "type": [ + "string", + "null" + ] }, "equals_number": { "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "equals_string": { "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" + "type": [ + "string", + "null" + ] }, "equals_string_in": { "description": "the slot must have range string and the value of the slot must equal one of the specified values", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exact_cardinality": { "description": "the exact number of entries for a multivalued slot", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exactly_one_of": { "description": "holds if only one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousSlotExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -683,178 +969,314 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], "description": "the value of the slot is multivalued with at least one member satisfying the condition" }, "implicit_prefix": { "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "inlined": { "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.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "inlined_as_list": { "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.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "maximum_cardinality": { "description": "the maximum number of entries for a multivalued slot", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "maximum_value": { - "$ref": "#/$defs/Anything", + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], "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" + "type": [ + "integer", + "null" + ] }, "minimum_value": { - "$ref": "#/$defs/Anything", + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "multivalued": { + "description": "true means that slot can have more than one value and should be represented using a list or collection structure.", + "type": [ + "boolean", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "none_of": { "description": "holds if none of the expressions hold", "items": { "$ref": "#/$defs/AnonymousSlotExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "pattern": { "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" + "type": [ + "string", + "null" + ] }, "range": { "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", - "type": "string" + "type": [ + "string", + "null" + ] }, "range_expression": { - "$ref": "#/$defs/AnonymousClassExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], "description": "A range that is described as a boolean expression combining existing ranges" }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "recommended": { "description": "true means that the slot should be present in instances of the class definition, but this is not required", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "required": { "description": "true means that the slot must be present in instances of the class definition", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "structured_pattern": { - "$ref": "#/$defs/PatternExpression", + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], "description": "the string value of the slot must conform to the regular expression in the pattern expression" }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unit": { - "$ref": "#/$defs/UnitOfMeasure", + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], "description": "an encoding of a unit" }, "value_presence": { "$ref": "#/$defs/PresenceEnum", - "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)" + "description": "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" } }, "title": "AnonymousSlotExpression", @@ -869,47 +1291,82 @@ "items": { "$ref": "#/$defs/AnonymousTypeExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "any_of": { "description": "holds if at least one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousTypeExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "equals_number": { "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "equals_string": { "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" + "type": [ + "string", + "null" + ] }, "equals_string_in": { "description": "the slot must have range string and the value of the slot must equal one of the specified values", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exactly_one_of": { "description": "holds if only one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousTypeExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "implicit_prefix": { "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "type": [ + "string", + "null" + ] }, "maximum_value": { - "$ref": "#/$defs/Anything", + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], "description": "For ordinal ranges, the value must be equal to or lower than this" }, "minimum_value": { - "$ref": "#/$defs/Anything", + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], "description": "For ordinal ranges, the value must be equal to or higher than this" }, "none_of": { @@ -917,18 +1374,38 @@ "items": { "$ref": "#/$defs/AnonymousTypeExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "pattern": { "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_pattern": { - "$ref": "#/$defs/PatternExpression", + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], "description": "the string value of the slot must conform to the regular expression in the pattern expression" }, "unit": { - "$ref": "#/$defs/UnitOfMeasure", + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], "description": "an encoding of a unit" } }, @@ -968,7 +1445,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -983,7 +1463,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -998,92 +1481,140 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "dimensions": { "description": "definitions of each axis in the array", "items": { "$ref": "#/$defs/DimensionExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exact_number_dimensions": { "description": "exact number of dimensions in the array", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -1098,127 +1629,185 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" - }, - "has_extra_dimensions": { - "description": "If this is set to true", - "type": "boolean" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "maximum_number_dimensions": { - "$ref": "#/$defs/Anything", "anyOf": [ { "type": "integer" }, { "type": "boolean" + }, + { + "type": "null" } ], "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" + "type": [ + "integer", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "ArrayExpression", @@ -1230,21 +1819,30 @@ "properties": { "abstract": { "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "all_of": { "description": "holds if all of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -1259,7 +1857,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -1274,21 +1875,30 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "any_of": { "description": "holds if at least one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "attributes": { "additionalProperties": { @@ -1302,125 +1912,191 @@ ] }, "description": "Inline definition of slots", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "children_are_mutually_disjoint": { "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exactly_one_of": { "description": "holds if only one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -1435,67 +2111,114 @@ ] }, "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" + "type": [ + "object", + "null" + ] + }, + "extra_slots": { + "anyOf": [ + { + "$ref": "#/$defs/ExtraSlotsExpression" + }, + { + "type": "null" + } + ], + "description": "How a class instance handles extra data not specified in the class definition.\nNote that this does *not* define the constraints that are placed on additional slots defined by inheriting classes.\n\nPossible values:\n- `allowed: true` - allow all additional data\n- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - \n forbid all additional data (default) \n- `range_expression: ...` - allow additional data if it matches the slot expression (see examples)\n" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_a": { "description": "A primary parent class from which inheritable metaslots are propagated", - "type": "string" + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -1509,29 +2232,44 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "mixins": { "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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.", @@ -1542,50 +2280,74 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "none_of": { "description": "holds if none of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "represents_relationship": { "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "rules": { "description": "the collection of rules that apply to all members of this class", "items": { "$ref": "#/$defs/ClassRule" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "slot_conditions": { "additionalProperties": { @@ -1599,11 +2361,17 @@ ] }, "description": "expresses constraints on a group of slots for a class expression", - "type": "object" + "type": [ + "object", + "null" + ] }, "slot_names_unique": { "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "slot_usage": { "additionalProperties": { @@ -1617,59 +2385,92 @@ ] }, "description": "the refinement of a slot in the context of the containing class definition.", - "type": "object" + "type": [ + "object", + "null" + ] }, "slots": { "description": "collection of slot names that are applicable to a class", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "subclass_of": { "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tree_root": { "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "union_of": { "description": "indicates that the domain element consists exactly of the members of the element in the range.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unique_keys": { "additionalProperties": { @@ -1687,14 +2488,20 @@ ] }, "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] } }, "required": [ @@ -1709,21 +2516,30 @@ "properties": { "abstract": { "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "all_of": { "description": "holds if all of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -1738,7 +2554,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -1753,21 +2572,30 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "any_of": { "description": "holds if at least one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "attributes": { "additionalProperties": { @@ -1781,125 +2609,191 @@ ] }, "description": "Inline definition of slots", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "children_are_mutually_disjoint": { "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "exactly_one_of": { "description": "holds if only one of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -1914,67 +2808,114 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "extra_slots": { + "anyOf": [ + { + "$ref": "#/$defs/ExtraSlotsExpression" + }, + { + "type": "null" + } + ], + "description": "How a class instance handles extra data not specified in the class definition.\nNote that this does *not* define the constraints that are placed on additional slots defined by inheriting classes.\n\nPossible values:\n- `allowed: true` - allow all additional data\n- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - \n forbid all additional data (default) \n- `range_expression: ...` - allow additional data if it matches the slot expression (see examples)\n" }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_a": { "description": "A primary parent class from which inheritable metaslots are propagated", - "type": "string" + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -1988,29 +2929,44 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "mixins": { "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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.", @@ -2021,50 +2977,74 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "none_of": { "description": "holds if none of the expressions hold", "items": { "$ref": "#/$defs/AnonymousClassExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "represents_relationship": { "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "rules": { "description": "the collection of rules that apply to all members of this class", "items": { "$ref": "#/$defs/ClassRule" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "slot_conditions": { "additionalProperties": { @@ -2078,11 +3058,17 @@ ] }, "description": "expresses constraints on a group of slots for a class expression", - "type": "object" + "type": [ + "object", + "null" + ] }, "slot_names_unique": { "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "slot_usage": { "additionalProperties": { @@ -2096,59 +3082,92 @@ ] }, "description": "the refinement of a slot in the context of the containing class definition.", - "type": "object" + "type": [ + "object", + "null" + ] }, "slots": { "description": "collection of slot names that are applicable to a class", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "subclass_of": { "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "tree_root": { "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "union_of": { "description": "indicates that the domain element consists exactly of the members of the element in the range.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unique_keys": { "additionalProperties": { @@ -2166,14 +3185,20 @@ ] }, "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] } }, "required": [], @@ -2189,7 +3214,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -2204,7 +3232,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -2219,78 +3250,127 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "bidirectional": { "description": "in addition to preconditions entailing postconditions, the postconditions entail the preconditions", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deactivated": { "description": "a deactivated rule is not executed by the rules engine", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "elseconditions": { - "$ref": "#/$defs/AnonymousClassExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], "description": "an expression that must hold for an instance of the class, if the preconditions no not hold" }, "exact_mappings": { @@ -2298,14 +3378,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -2320,119 +3406,193 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "postconditions": { - "$ref": "#/$defs/AnonymousClassExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], "description": "an expression that must hold for an instance of the class, if the preconditions hold" }, "preconditions": { - "$ref": "#/$defs/AnonymousClassExpression", + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], "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" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "ClassRule", @@ -2444,14 +3604,20 @@ "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" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -2466,7 +3632,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -2481,85 +3650,130 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_cardinality": { "description": "the exact number of entries for a multivalued slot", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -2574,134 +3788,196 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "maximum_cardinality": { "description": "the maximum number of entries for a multivalued slot", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "minimum_cardinality": { "description": "the minimum number of entries for a multivalued slot", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, "title": "DimensionExpression", "type": "object" }, - "EnumDefinition": { + "EnumBinding": { "additionalProperties": false, - "description": "an element whose instances must be drawn from a specified set of permissible values", + "description": "A binding of a slot or a class to a permissible value from an enumeration.", "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -2716,7 +3992,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -2731,119 +4010,130 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" - }, - "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" + "type": [ + "object", + "null" + ] + }, + "binds_value_of": { + "description": "A path to a slot that is being bound to a permissible value from an enumeration.", + "type": [ + "string", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" - }, - "code_set": { - "description": "the identifier of an enumeration code set.", - "type": "string" - }, - "code_set_tag": { - "description": "the version tag of the enumeration code set", - "type": "string" - }, - "code_set_version": { - "description": "the version identifier of the enumeration code set", - "type": "string" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" - }, - "concepts": { - "description": "A list of identifiers that are used to construct a set of permissible values", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" - }, - "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" - }, - "enum_uri": { - "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", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -2858,245 +4148,204 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" - }, - "include": { - "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", - "items": { - "$ref": "#/$defs/AnonymousEnumExpression" - }, - "type": "array" - }, - "inherits": { - "description": "An enum definition that is used as the basis to create a new enum", - "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 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", - "type": "string" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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" - }, - "matches": { - "$ref": "#/$defs/MatchQuery", - "description": "Specifies a match query that is used to calculate the list of permissible values" - }, - "minus": { - "description": "An enum expression that yields a list of permissible values that are to be subtracted from the enum", - "items": { - "$ref": "#/$defs/AnonymousEnumExpression" - }, - "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 classes or slots from which inheritable metaslots are propagated from.", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "permissible_values": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/PermissibleValue__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "A list of possible values for a slot range", - "type": "object" + "obligation_level": { + "$ref": "#/$defs/ObligationLevelEnum", + "description": "The level of obligation or recommendation strength for a metadata element" }, "pv_formula": { "$ref": "#/$defs/PvFormulaOptions", "description": "Defines the specific formula to be used to generate the permissible values." }, + "range": { + "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", + "type": [ + "string", + "null" + ] + }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "reachable_from": { - "$ref": "#/$defs/ReachabilityQuery", - "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "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" + "type": [ + "array", + "null" + ] } }, - "required": [ - "name" - ], - "title": "EnumDefinition", + "title": "EnumBinding", "type": "object" }, - "EnumDefinition__identifier_optional": { + "EnumDefinition": { "additionalProperties": false, "description": "an element whose instances must be drawn from a specified set of permissible values", "properties": { "abstract": { "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -3111,7 +4360,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -3126,119 +4378,185 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "code_set": { "description": "the identifier of an enumeration code set.", - "type": "string" + "type": [ + "string", + "null" + ] }, "code_set_tag": { "description": "the version tag of the enumeration code set", - "type": "string" + "type": [ + "string", + "null" + ] }, "code_set_version": { "description": "the version identifier of the enumeration code set", - "type": "string" + "type": [ + "string", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "concepts": { "description": "A list of identifiers that are used to construct a set of permissible values", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "enum_uri": { "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", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -3253,81 +4571,123 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "include": { "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", "items": { "$ref": "#/$defs/AnonymousEnumExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "inherits": { "description": "An enum definition that is used as the basis to create a new enum", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "is_a": { "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", - "type": "string" + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -3341,17 +4701,30 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "matches": { - "$ref": "#/$defs/MatchQuery", + "anyOf": [ + { + "$ref": "#/$defs/MatchQuery" + }, + { + "type": "null" + } + ], "description": "Specifies a match query that is used to calculate the list of permissible values" }, "minus": { @@ -3359,22 +4732,34 @@ "items": { "$ref": "#/$defs/AnonymousEnumExpression" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "mixins": { "description": "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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.", @@ -3385,14 +4770,20 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "permissible_values": { "additionalProperties": { @@ -3406,7 +4797,10 @@ ] }, "description": "A list of possible values for a slot range", - "type": "object" + "type": [ + "object", + "null" + ] }, "pv_formula": { "$ref": "#/$defs/PvFormulaOptions", @@ -3414,10 +4808,20 @@ }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "reachable_from": { - "$ref": "#/$defs/ReachabilityQuery", + "anyOf": [ + { + "$ref": "#/$defs/ReachabilityQuery" + }, + { + "type": "null" + } + ], "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" }, "related_mappings": { @@ -3425,334 +4829,317 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] } }, - "required": [], + "required": [ + "name" + ], "title": "EnumDefinition", "type": "object" }, - "EnumExpression": { + "EnumDefinition__identifier_optional": { "additionalProperties": false, - "description": "An expression that constrains the range of a slot", + "description": "an element whose instances must be drawn from a specified set of permissible values", "properties": { - "code_set": { - "description": "the identifier of an enumeration code set.", - "type": "string" - }, - "code_set_tag": { - "description": "the version tag of the enumeration code set", - "type": "string" - }, - "code_set_version": { - "description": "the version identifier of the enumeration code set", - "type": "string" - }, - "concepts": { - "description": "A list of identifiers that are used to construct a set of permissible values", - "items": { - "type": "string" - }, - "type": "array" - }, - "include": { - "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", - "items": { - "$ref": "#/$defs/AnonymousEnumExpression" - }, - "type": "array" + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": [ + "boolean", + "null" + ] }, - "inherits": { - "description": "An enum definition that is used as the basis to create a new enum", + "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" + "type": [ + "array", + "null" + ] }, - "matches": { - "$ref": "#/$defs/MatchQuery", - "description": "Specifies a match query that is used to calculate the list of permissible values" - }, - "minus": { - "description": "An enum expression that yields a list of permissible values that are to be subtracted from the enum", - "items": { - "$ref": "#/$defs/AnonymousEnumExpression" + "alt_descriptions": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + { + "description": "text of an attributed description", + "type": "string" + } + ] }, - "type": "array" + "description": "A sourced alternative description for an element", + "type": [ + "object", + "null" + ] }, - "permissible_values": { + "annotations": { "additionalProperties": { "anyOf": [ { - "$ref": "#/$defs/PermissibleValue__identifier_optional" + "$ref": "#/$defs/Annotation__identifier_optional" }, { - "type": "null" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } ] }, - "description": "A list of possible values for a slot range", - "type": "object" + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": [ + "object", + "null" + ] }, - "pv_formula": { - "$ref": "#/$defs/PvFormulaOptions", - "description": "Defines the specific formula to be used to generate the permissible values." - }, - "reachable_from": { - "$ref": "#/$defs/ReachabilityQuery", - "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" - } - }, - "title": "EnumExpression", - "type": "object" - }, - "Example": { - "additionalProperties": false, - "description": "usage example and description", - "properties": { - "description": { - "description": "description of what the value is doing", - "type": "string" - }, - "object": { - "$ref": "#/$defs/Anything", - "description": "direct object representation of the example" - }, - "value": { - "description": "example value", - "type": "string" - } - }, - "title": "Example", - "type": "object" - }, - "Extension": { - "additionalProperties": false, - "description": "a tag/value pair used to add non-model information to an entry", - "properties": { - "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" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "$ref": "#/$defs/AnyValue", - "description": "the actual annotation" - } - }, - "required": [ - "tag", - "value" - ], - "title": "Extension", - "type": "object" - }, - "Extension__identifier_optional": { - "additionalProperties": false, - "description": "a tag/value pair used to add non-model information to an entry", - "properties": { - "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" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "$ref": "#/$defs/AnyValue", - "description": "the actual annotation" - } - }, - "required": [ - "value" - ], - "title": "Extension", - "type": "object" - }, - "ImportExpression": { - "additionalProperties": false, - "description": "an expression describing an import", - "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" + "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", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "code_set": { + "description": "the identifier of an enumeration code set.", + "type": [ + "string", + "null" + ] + }, + "code_set_tag": { + "description": "the version tag of the enumeration code set", + "type": [ + "string", + "null" + ] + }, + "code_set_version": { + "description": "the version identifier of the enumeration code set", + "type": [ + "string", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "concepts": { + "description": "A list of identifiers that are used to construct a set of permissible values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "enum_uri": { + "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", + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -3767,68 +5154,198 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, - "import_as": { - "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", + "null" + ] }, - "import_from": { - "type": "string" + "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", + "null" + ] }, - "import_map": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/Setting__identifier_optional" - }, - { - "description": "The value assigned for a setting", - "type": "string" - } - ] + "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": "object" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "include": { + "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", + "items": { + "$ref": "#/$defs/AnonymousEnumExpression" + }, + "type": [ + "array", + "null" + ] + }, + "inherits": { + "description": "An enum definition that is used as the basis to create a new enum", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "is_a": { + "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", + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "matches": { + "anyOf": [ + { + "$ref": "#/$defs/MatchQuery" + }, + { + "type": "null" + } + ], + "description": "Specifies a match query that is used to calculate the list of permissible values" + }, + "minus": { + "description": "An enum expression that yields a list of permissible values that are to be subtracted from the enum", + "items": { + "$ref": "#/$defs/AnonymousEnumExpression" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "mixins": { + "description": "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", + "type": [ + "string", + "null" + ] + }, + "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": { @@ -3836,138 +5353,402 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "permissible_values": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "A list of possible values for a slot range", + "type": [ + "object", + "null" + ] + }, + "pv_formula": { + "$ref": "#/$defs/PvFormulaOptions", + "description": "Defines the specific formula to be used to generate the permissible values." }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] + }, + "reachable_from": { + "anyOf": [ + { + "$ref": "#/$defs/ReachabilityQuery" + }, + { + "type": "null" + } + ], + "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] } }, - "required": [ - "import_from" - ], - "title": "ImportExpression", + "required": [], + "title": "EnumDefinition", "type": "object" }, - "LocalName": { + "EnumExpression": { "additionalProperties": false, - "description": "an attributed label", + "description": "An expression that constrains the range of a slot", "properties": { - "local_name_source": { - "description": "the ncname of the source of the name", - "type": "string" + "code_set": { + "description": "the identifier of an enumeration code set.", + "type": [ + "string", + "null" + ] }, - "local_name_value": { - "description": "a name assigned to an element in a given ontology", + "code_set_tag": { + "description": "the version tag of the enumeration code set", + "type": [ + "string", + "null" + ] + }, + "code_set_version": { + "description": "the version identifier of the enumeration code set", + "type": [ + "string", + "null" + ] + }, + "concepts": { + "description": "A list of identifiers that are used to construct a set of permissible values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "include": { + "description": "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set", + "items": { + "$ref": "#/$defs/AnonymousEnumExpression" + }, + "type": [ + "array", + "null" + ] + }, + "inherits": { + "description": "An enum definition that is used as the basis to create a new enum", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "matches": { + "anyOf": [ + { + "$ref": "#/$defs/MatchQuery" + }, + { + "type": "null" + } + ], + "description": "Specifies a match query that is used to calculate the list of permissible values" + }, + "minus": { + "description": "An enum expression that yields a list of permissible values that are to be subtracted from the enum", + "items": { + "$ref": "#/$defs/AnonymousEnumExpression" + }, + "type": [ + "array", + "null" + ] + }, + "permissible_values": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "A list of possible values for a slot range", + "type": [ + "object", + "null" + ] + }, + "pv_formula": { + "$ref": "#/$defs/PvFormulaOptions", + "description": "Defines the specific formula to be used to generate the permissible values." + }, + "reachable_from": { + "anyOf": [ + { + "$ref": "#/$defs/ReachabilityQuery" + }, + { + "type": "null" + } + ], + "description": "Specifies a query for obtaining a list of permissible values based on graph reachability" + } + }, + "title": "EnumExpression", + "type": "object" + }, + "Example": { + "additionalProperties": false, + "description": "usage example and description", + "properties": { + "description": { + "description": "description of what the value is doing", + "type": [ + "string", + "null" + ] + }, + "object": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "description": "direct object representation of the example" + }, + "value": { + "description": "example value", + "type": [ + "string", + "null" + ] + } + }, + "title": "Example", + "type": "object" + }, + "Extension": { + "additionalProperties": false, + "description": "a tag/value pair used to add non-model information to an entry", + "properties": { + "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", + "null" + ] + }, + "tag": { + "description": "a tag associated with an extension", "type": "string" + }, + "value": { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ - "local_name_source", - "local_name_value" + "tag", + "value" ], - "title": "LocalName", + "title": "Extension", "type": "object" }, - "LocalName__identifier_optional": { + "Extension__identifier_optional": { "additionalProperties": false, - "description": "an attributed label", + "description": "a tag/value pair used to add non-model information to an entry", "properties": { - "local_name_source": { - "description": "the ncname of the source of the name", - "type": "string" + "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", + "null" + ] }, - "local_name_value": { - "description": "a name assigned to an element in a given ontology", + "tag": { + "description": "a tag associated with an extension", "type": "string" + }, + "value": { + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } }, "required": [ - "local_name_value" + "value" ], - "title": "LocalName", + "title": "Extension", "type": "object" }, - "MatchQuery": { + "ExtraSlotsExpression": { "additionalProperties": false, - "description": "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.", + "description": "An expression that defines how to handle additional data in an instance of class\nbeyond the slots/attributes defined for that class. \nSee `extra_slots` for usage examples.", "properties": { - "identifier_pattern": { - "description": "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values", - "type": "string" + "allowed": { + "description": "Whether or not something is allowed. Usage defined by context.", + "type": [ + "boolean", + "null" + ] }, - "source_ontology": { - "description": "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values", - "type": "string" + "range_expression": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], + "description": "A range that is described as a boolean expression combining existing ranges" } }, - "title": "MatchQuery", + "title": "ExtraSlotsExpression", "type": "object" }, - "PathExpression": { + "ImportExpression": { "additionalProperties": false, - "description": "An expression that describes an abstract path from an object to another through a sequence of slot lookups", + "description": "an expression describing an import", "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" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/PathExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -3982,7 +5763,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -3997,95 +5781,123 @@ ] }, "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/PathExpression" - }, - "type": "array" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "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/PathExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -4100,145 +5912,300 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" - }, - "followed_by": { - "$ref": "#/$defs/PathExpression", - "description": "in a sequential list, this indicates the next member" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] + }, + "import_as": { + "type": [ + "string", + "null" + ] + }, + "import_from": { "type": "string" }, + "import_map": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Setting__identifier_optional" + }, + { + "description": "The value assigned for a setting", + "type": "string" + } + ] + }, + "type": [ + "object", + "null" + ] + }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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/PathExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "range_expression": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "A range that is described as a boolean expression combining existing ranges" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" - }, - "reversed": { - "description": "true if the slot is to be inversed", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + } + }, + "required": [ + "import_from" + ], + "title": "ImportExpression", + "type": "object" + }, + "LocalName": { + "additionalProperties": false, + "description": "an attributed label", + "properties": { + "local_name_source": { + "description": "the ncname of the source of the name", + "type": [ + "string", + "null" + ] }, - "traverse": { - "description": "the slot to traverse", + "local_name_value": { + "description": "a name assigned to an element in a given ontology", "type": "string" } }, - "title": "PathExpression", + "required": [ + "local_name_source", + "local_name_value" + ], + "title": "LocalName", "type": "object" }, - "PatternExpression": { + "LocalName__identifier_optional": { "additionalProperties": false, - "description": "a regular expression pattern used to evaluate conformance of a string", + "description": "an attributed label", + "properties": { + "local_name_source": { + "description": "the ncname of the source of the name", + "type": [ + "string", + "null" + ] + }, + "local_name_value": { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + }, + "required": [ + "local_name_value" + ], + "title": "LocalName", + "type": "object" + }, + "MatchQuery": { + "additionalProperties": false, + "description": "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.", + "properties": { + "identifier_pattern": { + "description": "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values", + "type": [ + "string", + "null" + ] + }, + "source_ontology": { + "description": "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values", + "type": [ + "string", + "null" + ] + } + }, + "title": "MatchQuery", + "type": "object" + }, + "ObligationLevelEnum": { + "description": "The level of obligation or recommendation strength for a metadata element", + "enum": [ + "REQUIRED", + "RECOMMENDED", + "OPTIONAL", + "EXAMPLE", + "DISCOURAGED" + ], + "title": "ObligationLevelEnum", + "type": "string" + }, + "PathExpression": { + "additionalProperties": false, + "description": "An expression that describes an abstract path from an object to another through a sequence of slot lookups", "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" + "type": [ + "array", + "null" + ] + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -4253,7 +6220,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -4268,81 +6238,143 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -4357,134 +6389,228 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "followed_by": { + "anyOf": [ + { + "$ref": "#/$defs/PathExpression" + }, + { + "type": "null" + } + ], + "description": "in a sequential list, this indicates the next member" }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" - }, - "interpolated": { - "description": "if true then the pattern is first string interpolated", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "partial_match": { - "description": "if not true then the pattern must match the whole string, as if enclosed in ^...$", - "type": "boolean" + "range_expression": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], + "description": "A range that is described as a boolean expression combining existing ranges" }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "reversed": { + "description": "true if the slot is to be inversed", + "type": [ + "boolean", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" - }, - "syntax": { - "description": "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated.", - "type": "string" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "traverse": { + "description": "the slot to traverse", + "type": [ + "string", + "null" + ] } }, - "title": "PatternExpression", + "title": "PathExpression", "type": "object" }, - "PermissibleValue": { + "PatternExpression": { "additionalProperties": false, - "description": "a permissible value, accompanied by intended text and an optional mapping to a concept URI", + "description": "a regular expression pattern used to evaluate conformance of a string", "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -4499,7 +6625,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -4514,81 +6643,123 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -4603,128 +6774,191 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "interpolated": { + "description": "if true then the pattern is first string interpolated", + "type": [ + "boolean", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" - }, - "meaning": { - "description": "the value meaning of a permissible value", - "type": "string" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "partial_match": { + "description": "if not true then the pattern must match the whole string, as if enclosed in ^...$", + "type": [ + "boolean", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "text": { - "description": "The actual permissible value itself", - "type": "string" + "syntax": { + "description": "the string value of the slot must conform to this regular expression expressed in the string. May be interpolated.", + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" + "type": [ + "array", + "null" + ] } }, - "required": [ - "text" - ], - "title": "PermissibleValue", + "title": "PatternExpression", "type": "object" }, - "PermissibleValue__identifier_optional": { + "PermissibleValue": { "additionalProperties": false, "description": "a permissible value, accompanied by intended text and an optional mapping to a concept URI", "properties": { @@ -4733,7 +6967,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -4748,7 +6985,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -4763,81 +7003,123 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -4852,246 +7134,247 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "is_a": { + "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", + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "meaning": { "description": "the value meaning of a permissible value", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "mixins": { + "description": "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "text": { "description": "The actual permissible value itself", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unit": { - "$ref": "#/$defs/UnitOfMeasure", + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], "description": "an encoding of a unit" } }, - "required": [], - "title": "PermissibleValue", - "type": "object" - }, - "Prefix": { - "additionalProperties": false, - "description": "prefix URI tuple", - "properties": { - "prefix_prefix": { - "description": "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE.", - "type": "string" - }, - "prefix_reference": { - "description": "The namespace to which a prefix expands to.", - "type": "string" - } - }, - "required": [ - "prefix_prefix", - "prefix_reference" - ], - "title": "Prefix", - "type": "object" - }, - "Prefix__identifier_optional": { - "additionalProperties": false, - "description": "prefix URI tuple", - "properties": { - "prefix_prefix": { - "description": "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE.", - "type": "string" - }, - "prefix_reference": { - "description": "The namespace to which a prefix expands to.", - "type": "string" - } - }, "required": [ - "prefix_reference" - ], - "title": "Prefix", - "type": "object" - }, - "PresenceEnum": { - "description": "enumeration of conditions by which a slot value should be set", - "enum": [ - "UNCOMMITTED", - "PRESENT", - "ABSENT" - ], - "title": "PresenceEnum", - "type": "string" - }, - "PvFormulaOptions": { - "description": "The formula used to generate the set of permissible values from the code_set values", - "enum": [ - "CODE", - "CURIE", - "URI", - "FHIR_CODING", - "LABEL" + "text" ], - "title": "PvFormulaOptions", - "type": "string" - }, - "ReachabilityQuery": { - "additionalProperties": false, - "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.", - "properties": { - "include_self": { - "description": "True if the query is reflexive", - "type": "boolean" - }, - "is_direct": { - "description": "True if the reachability query should only include directly related nodes, if False then include also transitively connected", - "type": "boolean" - }, - "relationship_types": { - "description": "A list of relationship types (properties) that are used in a reachability query", - "items": { - "type": "string" - }, - "type": "array" - }, - "source_nodes": { - "description": "A list of nodes that are used in the reachability query", - "items": { - "type": "string" - }, - "type": "array" - }, - "source_ontology": { - "description": "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values", - "type": "string" - }, - "traverse_up": { - "description": "True if the direction of the reachability query is reversed and ancestors are retrieved", - "type": "boolean" - } - }, - "title": "ReachabilityQuery", + "title": "PermissibleValue", "type": "object" }, - "RelationalRoleEnum": { - "description": "enumeration of roles a slot on a relationship class can play", - "enum": [ - "SUBJECT", - "OBJECT", - "PREDICATE", - "NODE", - "OTHER_ROLE" - ], - "title": "RelationalRoleEnum", - "type": "string" - }, - "SchemaDefinition": { + "PermissibleValue__identifier_optional": { "additionalProperties": false, - "description": "A collection of definitions that make up a schema or a data model.", + "description": "a permissible value, accompanied by intended text and an optional mapping to a concept URI", "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -5106,7 +7389,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -5121,141 +7407,125 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" - }, - "classes": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/ClassDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "An index to the collection of all class definitions in the schema", - "type": "object" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" - }, - "default_curi_maps": { - "description": "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables", - "items": { - "type": "string" - }, - "type": "array" - }, - "default_prefix": { - "description": "The prefix that is used for all elements within a schema", - "type": "string" - }, - "default_range": { - "description": "default slot range to be used if range element is omitted from a slot definition", - "type": "string" - }, - "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, - "emit_prefixes": { - "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.", + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "enums": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/EnumDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "An index to the collection of all enum definitions in the schema", - "type": "object" - }, - "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": { + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": [ + "array", + "null" + ] + }, + "extensions": { "additionalProperties": { "anyOf": [ { @@ -5268,344 +7538,380 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" - }, - "generation_date": { - "description": "date and time that the schema was loaded/generated", - "format": "date-time", - "type": "string" - }, - "id": { - "description": "The official schema URI", - "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" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "imports": { - "description": "A list of schemas that are to be included in this schema", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "is_a": { + "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", + "type": [ + "string", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" - }, - "license": { - "description": "license for the schema", - "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" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, - "metamodel_version": { - "description": "Version of the metamodel used to load the schema", - "type": "string" + "meaning": { + "description": "the value meaning of a permissible value", + "type": [ + "string", + "null" + ] + }, + "mixins": { + "description": "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" - }, - "name": { - "description": "a unique name for the schema that is both human-readable and consists of only characters from the NCName set", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "prefixes": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/Prefix__identifier_optional" - }, - { - "description": "The namespace to which a prefix expands to.", - "type": "string" - } - ] - }, - "description": "A collection of prefix expansions that specify how CURIEs can be expanded to URIs", - "type": "object" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" - }, - "settings": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/Setting__identifier_optional" - }, - { - "description": "The value assigned for a setting", - "type": "string" - } - ] - }, - "description": "A collection of global variable settings", - "type": "object" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slots": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "An index to the collection of all slot definitions in the schema", - "type": "object" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" - }, - "source_file": { - "description": "name, uri or description of the source of the schema", - "type": "string" - }, - "source_file_date": { - "description": "modification date of the source of the schema", - "format": "date-time", - "type": "string" - }, - "source_file_size": { - "description": "size in bytes of the source of the schema", - "type": "integer" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "subsets": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/SubsetDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "An index to the collection of all subset definitions in the schema", - "type": "object" + "text": { + "description": "The actual permissible value itself", + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "types": { - "additionalProperties": { - "anyOf": [ - { - "$ref": "#/$defs/TypeDefinition__identifier_optional" - }, - { - "type": "null" - } - ] - }, - "description": "An index to the collection of all type definitions in the schema", - "type": "object" + "type": [ + "array", + "null" + ] }, - "version": { - "description": "particular version of schema", - "type": "string" + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], + "description": "an encoding of a unit" } }, - "required": [ - "id", - "name" - ], - "title": "SchemaDefinition", + "required": [], + "title": "PermissibleValue", "type": "object" }, - "Setting": { + "Prefix": { "additionalProperties": false, - "description": "assignment of a key to a value", + "description": "prefix URI tuple", "properties": { - "setting_key": { - "description": "the variable name for a setting", - "type": "string" + "prefix_prefix": { + "description": "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE.", + "type": [ + "string", + "null" + ] }, - "setting_value": { - "description": "The value assigned for a setting", + "prefix_reference": { + "description": "The namespace to which a prefix expands to.", "type": "string" } }, "required": [ - "setting_key", - "setting_value" + "prefix_prefix", + "prefix_reference" ], - "title": "Setting", + "title": "Prefix", "type": "object" }, - "Setting__identifier_optional": { + "Prefix__identifier_optional": { "additionalProperties": false, - "description": "assignment of a key to a value", + "description": "prefix URI tuple", "properties": { - "setting_key": { - "description": "the variable name for a setting", - "type": "string" + "prefix_prefix": { + "description": "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE.", + "type": [ + "string", + "null" + ] }, - "setting_value": { - "description": "The value assigned for a setting", + "prefix_reference": { + "description": "The namespace to which a prefix expands to.", "type": "string" } }, "required": [ - "setting_value" + "prefix_reference" ], - "title": "Setting", + "title": "Prefix", "type": "object" }, - "SlotDefinition": { - "additionalProperties": false, - "description": "an element that describes how instances are related to other instances", - "properties": { - "abstract": { - "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" - }, - "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.", + "PresenceEnum": { + "description": "enumeration of conditions by which a slot value should be set", + "enum": [ + "UNCOMMITTED", + "PRESENT", + "ABSENT" + ], + "title": "PresenceEnum", + "type": "string" + }, + "PvFormulaOptions": { + "description": "The formula used to generate the set of permissible values from the code_set values", + "enum": [ + "CODE", + "CURIE", + "URI", + "FHIR_CODING", + "LABEL" + ], + "title": "PvFormulaOptions", + "type": "string" + }, + "ReachabilityQuery": { + "additionalProperties": false, + "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.", + "properties": { + "include_self": { + "description": "True if the query is reflexive", + "type": [ + "boolean", + "null" + ] + }, + "is_direct": { + "description": "True if the reachability query should only include directly related nodes, if False then include also transitively connected", + "type": [ + "boolean", + "null" + ] + }, + "relationship_types": { + "description": "A list of relationship types (properties) that are used in a reachability query", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "all_members": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the value of the slot is multivalued with all members satisfying the condition" + "source_nodes": { + "description": "A list of nodes that are used in the reachability query", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "all_of": { - "description": "holds if all of the expressions hold", + "source_ontology": { + "description": "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values", + "type": [ + "string", + "null" + ] + }, + "traverse_up": { + "description": "True if the direction of the reachability query is reversed and ancestors are retrieved", + "type": [ + "boolean", + "null" + ] + } + }, + "title": "ReachabilityQuery", + "type": "object" + }, + "RelationalRoleEnum": { + "description": "enumeration of roles a slot on a relationship class can play", + "enum": [ + "SUBJECT", + "OBJECT", + "PREDICATE", + "NODE", + "OTHER_ROLE" + ], + "title": "RelationalRoleEnum", + "type": "string" + }, + "SchemaDefinition": { + "additionalProperties": false, + "description": "A collection of definitions that make up a schema or a data model.", + "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": { - "$ref": "#/$defs/AnonymousSlotExpression" + "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -5620,7 +7926,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -5635,171 +7944,215 @@ ] }, "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/AnonymousSlotExpression" - }, - "type": "array" + "type": [ + "object", + "null" + ] }, - "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.", + "bindings": { + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", "items": { - "type": "string" + "$ref": "#/$defs/EnumBinding" }, - "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" + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "children_are_mutually_disjoint": { - "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" + "classes": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/ClassDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "An index to the collection of all class definitions in the schema", + "type": [ + "object", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "default_curi_maps": { + "description": "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "default_prefix": { + "description": "The prefix that is used for all elements within a schema", + "type": [ + "string", + "null" + ] + }, + "default_range": { + "description": "default slot range to be used if range element is omitted from a slot definition", + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" - }, - "designates_type": { - "description": "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition", - "type": "boolean" - }, - "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" - }, - "domain": { - "description": "defines the type of the subject of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts that X is an instance of C1\n", - "type": "string" + "type": [ + "string", + "null" + ] }, - "domain_of": { - "description": "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context", + "emit_prefixes": { + "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.", "items": { "type": "string" }, - "type": "array" - }, - "enum_range": { - "$ref": "#/$defs/EnumExpression", - "description": "An inlined enumeration" - }, - "equals_expression": { - "description": "the value of the slot must equal the value of the evaluated expression", - "type": "string" - }, - "equals_number": { - "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" - }, - "equals_string": { - "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" + "type": [ + "array", + "null" + ] }, - "equals_string_in": { - "description": "the slot must have range string and the value of the slot must equal one of the specified values", - "items": { - "type": "string" + "enums": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/EnumDefinition__identifier_optional" + }, + { + "type": "null" + } + ] }, - "type": "array" - }, - "exact_cardinality": { - "description": "the exact number of entries for a multivalued slot", - "type": "integer" + "description": "An index to the collection of all enum definitions in the schema", + "type": [ + "object", + "null" + ] }, "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/AnonymousSlotExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -5814,407 +8167,2833 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, - "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the value of the slot is multivalued with at least one member satisfying the condition" + "generation_date": { + "description": "date and time that the schema was loaded/generated", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "id": { + "description": "The official schema URI", + "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" + "type": [ + "array", + "null" + ] }, "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" - }, - "ifabsent": { - "description": "function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library:\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value", - "type": "string" + "type": [ + "boolean", + "null" + ] }, "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" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "imports": { + "description": "A list of schemas that are to be included in this schema", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" - }, - "inherited": { - "description": "true means that the *value* of a slot is inherited by subclasses", - "type": "boolean" - }, - "inlined": { - "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.", - "type": "boolean" - }, - "inlined_as_list": { - "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.", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" - }, - "inverse": { - "description": "indicates that any instance of d s r implies that there is also an instance of r s' d", - "type": "string" + "type": [ + "array", + "null" + ] }, - "irreflexive": { - "description": "If s is irreflexive, then there exists no i such i.s=i", - "type": "boolean" + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "is_a": { - "description": "A primary parent slot from which inheritable metaslots are propagated", - "type": "string" + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": [ + "string", + "null" + ] }, - "is_class_field": { - "description": "indicates that for any instance, i, the domain of this slot will include an assertion of i s range", - "type": "boolean" + "license": { + "description": "license for the schema", + "type": [ + "string", + "null" + ] }, - "is_grouping_slot": { + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": [ + "object", + "null" + ] + }, + "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", + "null" + ] + }, + "metamodel_version": { + "description": "Version of the metamodel used to load the schema", + "type": [ + "string", + "null" + ] + }, + "modified_by": { + "description": "agent that modified the element", + "type": [ + "string", + "null" + ] + }, + "name": { + "description": "a unique name for the schema that is both human-readable and consists of only characters from the NCName set", + "type": [ + "string", + "null" + ] + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "prefixes": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Prefix__identifier_optional" + }, + { + "description": "The namespace to which a prefix expands to.", + "type": "string" + } + ] + }, + "description": "A collection of prefix expansions that specify how CURIEs can be expanded to URIs", + "type": [ + "object", + "null" + ] + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": [ + "integer", + "null" + ] + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "settings": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/Setting__identifier_optional" + }, + { + "description": "The value assigned for a setting", + "type": "string" + } + ] + }, + "description": "A collection of global variable settings", + "type": [ + "object", + "null" + ] + }, + "slot_names_unique": { + "description": "if true then induced/mangled slot names are not created for class_usage and attributes", + "type": [ + "boolean", + "null" + ] + }, + "slots": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "An index to the collection of all slot definitions in the schema", + "type": [ + "object", + "null" + ] + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": [ + "string", + "null" + ] + }, + "source_file": { + "description": "name, uri or description of the source of the schema", + "type": [ + "string", + "null" + ] + }, + "source_file_date": { + "description": "modification date of the source of the schema", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "source_file_size": { + "description": "size in bytes of the source of the schema", + "type": [ + "integer", + "null" + ] + }, + "status": { + "description": "status of the element", + "type": [ + "string", + "null" + ] + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": [ + "array", + "null" + ] + }, + "subsets": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/SubsetDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "An index to the collection of all subset definitions in the schema", + "type": [ + "object", + "null" + ] + }, + "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", + "null" + ] + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "types": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/TypeDefinition__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "An index to the collection of all type definitions in the schema", + "type": [ + "object", + "null" + ] + }, + "version": { + "description": "particular version of schema", + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "id", + "name" + ], + "title": "SchemaDefinition", + "type": "object" + }, + "Setting": { + "additionalProperties": false, + "description": "assignment of a key to a value", + "properties": { + "setting_key": { + "description": "the variable name for a setting", + "type": [ + "string", + "null" + ] + }, + "setting_value": { + "description": "The value assigned for a setting", + "type": "string" + } + }, + "required": [ + "setting_key", + "setting_value" + ], + "title": "Setting", + "type": "object" + }, + "Setting__identifier_optional": { + "additionalProperties": false, + "description": "assignment of a key to a value", + "properties": { + "setting_key": { + "description": "the variable name for a setting", + "type": [ + "string", + "null" + ] + }, + "setting_value": { + "description": "The value assigned for a setting", + "type": "string" + } + }, + "required": [ + "setting_value" + ], + "title": "Setting", + "type": "object" + }, + "SlotDefinition": { + "additionalProperties": false, + "description": "an element that describes how instances are related to other instances", + "properties": { + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "all_members": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], + "description": "the value of the slot is multivalued with all members satisfying the condition" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "array": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayExpression" + }, + { + "type": "null" + } + ], + "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", + "null" + ] + }, + "bindings": { + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", + "items": { + "$ref": "#/$defs/EnumBinding" + }, + "type": [ + "array", + "null" + ] + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "children_are_mutually_disjoint": { + "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", + "type": [ + "boolean", + "null" + ] + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": [ + "string", + "null" + ] + }, + "contributors": { + "description": "agent that contributed to the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "created_by": { + "description": "agent that created the element", + "type": [ + "string", + "null" + ] + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": [ + "string", + "null" + ] + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": [ + "string", + "null" + ] + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": [ + "string", + "null" + ] + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": [ + "string", + "null" + ] + }, + "designates_type": { + "description": "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "domain": { + "description": "defines the type of the subject of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts that X is an instance of C1\n", + "type": [ + "string", + "null" + ] + }, + "domain_of": { + "description": "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "enum_range": { + "anyOf": [ + { + "$ref": "#/$defs/EnumExpression" + }, + { + "type": "null" + } + ], + "description": "An inlined enumeration" + }, + "equals_expression": { + "description": "the value of the slot must equal the value of the evaluated expression", + "type": [ + "string", + "null" + ] + }, + "equals_number": { + "description": "the slot must have range of a number and the value of the slot must equal the specified value", + "type": [ + "integer", + "null" + ] + }, + "equals_string": { + "description": "the slot must have range string and the value of the slot must equal the specified value", + "type": [ + "string", + "null" + ] + }, + "equals_string_in": { + "description": "the slot must have range string and the value of the slot must equal one of the specified values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": [ + "integer", + "null" + ] + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] + }, + "has_member": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], + "description": "the value of the slot is multivalued with at least one member satisfying the condition" + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "ifabsent": { + "description": "function that provides a default value for the slot.\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value\n * EnumName(PermissibleValue) -- enum value", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "implicit_prefix": { + "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", + "type": [ + "string", + "null" + ] + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": [ + "string", + "null" + ] + }, + "in_language": { + "description": "the primary language used in the sources", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "inherited": { + "description": "true means that the *value* of a slot is inherited by subclasses", + "type": [ + "boolean", + "null" + ] + }, + "inlined": { + "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.", + "type": [ + "boolean", + "null" + ] + }, + "inlined_as_list": { + "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.", + "type": [ + "boolean", + "null" + ] + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "inverse": { + "description": "indicates that any instance of d s r implies that there is also an instance of r s' d", + "type": [ + "string", + "null" + ] + }, + "irreflexive": { + "description": "If s is irreflexive, then there exists no i such i.s=i", + "type": [ + "boolean", + "null" + ] + }, + "is_a": { + "description": "A primary parent slot from which inheritable metaslots are propagated", + "type": [ + "string", + "null" + ] + }, + "is_class_field": { + "description": "indicates that for any instance, i, the domain of this slot will include an assertion of i s range", + "type": [ + "boolean", + "null" + ] + }, + "is_grouping_slot": { + "description": "true if this slot is a grouping slot", + "type": [ + "boolean", + "null" + ] + }, + "is_usage_slot": { + "description": "True means that this slot was defined in a slot_usage situation", + "type": [ + "boolean", + "null" + ] + }, + "key": { + "description": "True means that the key slot(s) uniquely identify the elements within a single container", + "type": [ + "boolean", + "null" + ] + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "list_elements_ordered": { + "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", + "type": [ + "boolean", + "null" + ] + }, + "list_elements_unique": { + "description": "If True, then there must be no duplicates in the elements of a multivalued slot", + "type": [ + "boolean", + "null" + ] + }, + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": [ + "object", + "null" + ] + }, + "locally_reflexive": { + "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", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "maximum_cardinality": { + "description": "the maximum number of entries for a multivalued slot", + "type": [ + "integer", + "null" + ] + }, + "maximum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "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", + "null" + ] + }, + "minimum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "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.", + "type": [ + "boolean", + "null" + ] + }, + "mixins": { + "description": "A collection of secondary parent mixin slots from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "modified_by": { + "description": "agent that modified the element", + "type": [ + "string", + "null" + ] + }, + "multivalued": { + "description": "true means that slot can have more than one value and should be represented using a list or collection structure.", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "owner": { + "description": "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot", + "type": [ + "string", + "null" + ] + }, + "path_rule": { + "anyOf": [ + { + "$ref": "#/$defs/PathExpression" + }, + { + "type": "null" + } + ], + "description": "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" + }, + "pattern": { + "description": "the string value of the slot must conform to this regular expression expressed in the string", + "type": [ + "string", + "null" + ] + }, + "range": { + "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", + "type": [ + "string", + "null" + ] + }, + "range_expression": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], + "description": "A range that is described as a boolean expression combining existing ranges" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": [ + "integer", + "null" + ] + }, + "readonly": { + "description": "If present, slot is read only. Text explains why", + "type": [ + "string", + "null" + ] + }, + "recommended": { + "description": "true means that the slot should be present in instances of the class definition, but this is not required", + "type": [ + "boolean", + "null" + ] + }, + "reflexive": { + "description": "If s is reflexive, then i.s=i for all instances i", + "type": [ + "boolean", + "null" + ] + }, + "reflexive_transitive_form_of": { + "description": "transitive_form_of including the reflexive case", + "type": [ + "string", + "null" + ] + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "relational_role": { + "$ref": "#/$defs/RelationalRoleEnum", + "description": "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" + }, + "required": { + "description": "true means that the slot must be present in instances of the class definition", + "type": [ + "boolean", + "null" + ] + }, + "role": { + "description": "a textual descriptor that indicates the role played by the slot range", + "type": [ + "string", + "null" + ] + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "shared": { + "description": "If True, then the relationship between the slot domain and range is many to one or many to many", + "type": [ + "boolean", + "null" + ] + }, + "singular_name": { + "description": "a name that is used in the singular form", + "type": [ + "string", + "null" + ] + }, + "slot_group": { + "description": "allows for grouping of related slots into a grouping slot that serves the role of a group", + "type": [ + "string", + "null" + ] + }, + "slot_uri": { + "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.", + "type": [ + "string", + "null" + ] + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "status of the element", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": [ + "array", + "null" + ] + }, + "structured_pattern": { + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], + "description": "the string value of the slot must conform to the regular expression in the pattern expression" + }, + "subproperty_of": { + "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.", + "type": [ + "string", + "null" + ] + }, + "symmetric": { + "description": "If s is symmetric, and i.s=v, then v.s=i", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "transitive": { + "description": "If s is transitive, and i.s=z, and s.s=j, then i.s=j", + "type": [ + "boolean", + "null" + ] + }, + "transitive_form_of": { + "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", + "type": [ + "string", + "null" + ] + }, + "type_mappings": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/TypeMapping__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks", + "type": [ + "object", + "null" + ] + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], + "description": "an encoding of a unit" + }, + "usage_slot_name": { + "description": "The name of the slot referenced in the slot_usage", + "type": [ + "string", + "null" + ] + }, + "value_presence": { + "$ref": "#/$defs/PresenceEnum", + "description": "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" + }, + "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", + "null" + ] + } + }, + "required": [ + "name" + ], + "title": "SlotDefinition", + "type": "object" + }, + "SlotDefinition__identifier_optional": { + "additionalProperties": false, + "description": "an element that describes how instances are related to other instances", + "properties": { + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "all_members": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], + "description": "the value of the slot is multivalued with all members satisfying the condition" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "array": { + "anyOf": [ + { + "$ref": "#/$defs/ArrayExpression" + }, + { + "type": "null" + } + ], + "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", + "null" + ] + }, + "bindings": { + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", + "items": { + "$ref": "#/$defs/EnumBinding" + }, + "type": [ + "array", + "null" + ] + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "children_are_mutually_disjoint": { + "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", + "type": [ + "boolean", + "null" + ] + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": [ + "string", + "null" + ] + }, + "contributors": { + "description": "agent that contributed to the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "created_by": { + "description": "agent that created the element", + "type": [ + "string", + "null" + ] + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": [ + "string", + "null" + ] + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": [ + "string", + "null" + ] + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": [ + "string", + "null" + ] + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": [ + "string", + "null" + ] + }, + "designates_type": { + "description": "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "domain": { + "description": "defines the type of the subject of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts that X is an instance of C1\n", + "type": [ + "string", + "null" + ] + }, + "domain_of": { + "description": "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "enum_range": { + "anyOf": [ + { + "$ref": "#/$defs/EnumExpression" + }, + { + "type": "null" + } + ], + "description": "An inlined enumeration" + }, + "equals_expression": { + "description": "the value of the slot must equal the value of the evaluated expression", + "type": [ + "string", + "null" + ] + }, + "equals_number": { + "description": "the slot must have range of a number and the value of the slot must equal the specified value", + "type": [ + "integer", + "null" + ] + }, + "equals_string": { + "description": "the slot must have range string and the value of the slot must equal the specified value", + "type": [ + "string", + "null" + ] + }, + "equals_string_in": { + "description": "the slot must have range string and the value of the slot must equal one of the specified values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "exact_cardinality": { + "description": "the exact number of entries for a multivalued slot", + "type": [ + "integer", + "null" + ] + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": [ + "array", + "null" + ] + }, + "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", + "null" + ] + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] + }, + "has_member": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + { + "type": "null" + } + ], + "description": "the value of the slot is multivalued with at least one member satisfying the condition" + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "ifabsent": { + "description": "function that provides a default value for the slot.\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value\n * EnumName(PermissibleValue) -- enum value", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "implicit_prefix": { + "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", + "type": [ + "string", + "null" + ] + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": [ + "string", + "null" + ] + }, + "in_language": { + "description": "the primary language used in the sources", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "inherited": { + "description": "true means that the *value* of a slot is inherited by subclasses", + "type": [ + "boolean", + "null" + ] + }, + "inlined": { + "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.", + "type": [ + "boolean", + "null" + ] + }, + "inlined_as_list": { + "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.", + "type": [ + "boolean", + "null" + ] + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "inverse": { + "description": "indicates that any instance of d s r implies that there is also an instance of r s' d", + "type": [ + "string", + "null" + ] + }, + "irreflexive": { + "description": "If s is irreflexive, then there exists no i such i.s=i", + "type": [ + "boolean", + "null" + ] + }, + "is_a": { + "description": "A primary parent slot from which inheritable metaslots are propagated", + "type": [ + "string", + "null" + ] + }, + "is_class_field": { + "description": "indicates that for any instance, i, the domain of this slot will include an assertion of i s range", + "type": [ + "boolean", + "null" + ] + }, + "is_grouping_slot": { "description": "true if this slot is a grouping slot", - "type": "boolean" + "type": [ + "boolean", + "null" + ] + }, + "is_usage_slot": { + "description": "True means that this slot was defined in a slot_usage situation", + "type": [ + "boolean", + "null" + ] + }, + "key": { + "description": "True means that the key slot(s) uniquely identify the elements within a single container", + "type": [ + "boolean", + "null" + ] + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": [ + "string", + "null" + ] + }, + "list_elements_ordered": { + "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", + "type": [ + "boolean", + "null" + ] + }, + "list_elements_unique": { + "description": "If True, then there must be no duplicates in the elements of a multivalued slot", + "type": [ + "boolean", + "null" + ] + }, + "local_names": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + ] + }, + "type": [ + "object", + "null" + ] + }, + "locally_reflexive": { + "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", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "maximum_cardinality": { + "description": "the maximum number of entries for a multivalued slot", + "type": [ + "integer", + "null" + ] + }, + "maximum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "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", + "null" + ] + }, + "minimum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "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.", + "type": [ + "boolean", + "null" + ] }, - "is_usage_slot": { - "description": "True means that this slot was defined in a slot_usage situation", - "type": "boolean" + "mixins": { + "description": "A collection of secondary parent mixin slots from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "modified_by": { + "description": "agent that modified the element", + "type": [ + "string", + "null" + ] + }, + "multivalued": { + "description": "true means that slot can have more than one value and should be represented using a list or collection structure.", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": [ + "array", + "null" + ] + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "owner": { + "description": "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot", + "type": [ + "string", + "null" + ] + }, + "path_rule": { + "anyOf": [ + { + "$ref": "#/$defs/PathExpression" + }, + { + "type": "null" + } + ], + "description": "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" + }, + "pattern": { + "description": "the string value of the slot must conform to this regular expression expressed in the string", + "type": [ + "string", + "null" + ] + }, + "range": { + "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", + "type": [ + "string", + "null" + ] + }, + "range_expression": { + "anyOf": [ + { + "$ref": "#/$defs/AnonymousClassExpression" + }, + { + "type": "null" + } + ], + "description": "A range that is described as a boolean expression combining existing ranges" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": [ + "integer", + "null" + ] + }, + "readonly": { + "description": "If present, slot is read only. Text explains why", + "type": [ + "string", + "null" + ] + }, + "recommended": { + "description": "true means that the slot should be present in instances of the class definition, but this is not required", + "type": [ + "boolean", + "null" + ] + }, + "reflexive": { + "description": "If s is reflexive, then i.s=i for all instances i", + "type": [ + "boolean", + "null" + ] + }, + "reflexive_transitive_form_of": { + "description": "transitive_form_of including the reflexive case", + "type": [ + "string", + "null" + ] + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "relational_role": { + "$ref": "#/$defs/RelationalRoleEnum", + "description": "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" + }, + "required": { + "description": "true means that the slot must be present in instances of the class definition", + "type": [ + "boolean", + "null" + ] + }, + "role": { + "description": "a textual descriptor that indicates the role played by the slot range", + "type": [ + "string", + "null" + ] + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "shared": { + "description": "If True, then the relationship between the slot domain and range is many to one or many to many", + "type": [ + "boolean", + "null" + ] + }, + "singular_name": { + "description": "a name that is used in the singular form", + "type": [ + "string", + "null" + ] + }, + "slot_group": { + "description": "allows for grouping of related slots into a grouping slot that serves the role of a group", + "type": [ + "string", + "null" + ] + }, + "slot_uri": { + "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.", + "type": [ + "string", + "null" + ] + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": [ + "string", + "null" + ] + }, + "status": { + "description": "status of the element", + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": [ + "array", + "null" + ] + }, + "structured_pattern": { + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], + "description": "the string value of the slot must conform to the regular expression in the pattern expression" + }, + "subproperty_of": { + "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.", + "type": [ + "string", + "null" + ] + }, + "symmetric": { + "description": "If s is symmetric, and i.s=v, then v.s=i", + "type": [ + "boolean", + "null" + ] + }, + "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", + "null" + ] + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "transitive": { + "description": "If s is transitive, and i.s=z, and s.s=j, then i.s=j", + "type": [ + "boolean", + "null" + ] + }, + "transitive_form_of": { + "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", + "type": [ + "string", + "null" + ] + }, + "type_mappings": { + "additionalProperties": { + "anyOf": [ + { + "$ref": "#/$defs/TypeMapping__identifier_optional" + }, + { + "type": "null" + } + ] + }, + "description": "A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks", + "type": [ + "object", + "null" + ] + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], + "description": "an encoding of a unit" + }, + "usage_slot_name": { + "description": "The name of the slot referenced in the slot_usage", + "type": [ + "string", + "null" + ] + }, + "value_presence": { + "$ref": "#/$defs/PresenceEnum", + "description": "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" + }, + "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", + "null" + ] + } + }, + "required": [], + "title": "SlotDefinition", + "type": "object" + }, + "StructuredAlias": { + "additionalProperties": false, + "description": "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)", + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "categories": { + "description": "The category or categories of an alias. This can be drawn from any relevant vocabulary", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "key": { - "description": "True means that the key slot(s) uniquely identify the elements within a single container", - "type": "boolean" + "contexts": { + "description": "The context in which an alias should be applied", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "keywords": { - "description": "Keywords or tags used to describe the element", + "contributors": { + "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "last_updated_on": { - "description": "time at which the element was last updated", + "created_by": { + "description": "agent that created the element", + "type": [ + "string", + "null" + ] + }, + "created_on": { + "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, - "list_elements_ordered": { - "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", - "type": "boolean" + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": [ + "string", + "null" + ] }, - "list_elements_unique": { - "description": "If True, then there must be no duplicates in the elements of a multivalued slot", - "type": "boolean" + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": [ + "string", + "null" + ] }, - "local_names": { + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": [ + "string", + "null" + ] + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": [ + "string", + "null" + ] + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": [ + "array", + "null" + ] + }, + "extensions": { "additionalProperties": { "anyOf": [ { - "$ref": "#/$defs/LocalName__identifier_optional" + "$ref": "#/$defs/Extension__identifier_optional" }, { - "description": "a name assigned to an element in a given ontology", - "type": "string" + "$ref": "#/$defs/AnyValue", + "description": "the actual annotation" } ] }, - "type": "object" + "description": "a tag/text tuple attached to an arbitrary element", + "type": [ + "object", + "null" + ] }, - "locally_reflexive": { - "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", - "type": "boolean" + "from_schema": { + "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] }, - "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.", + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": [ + "string", + "null" + ] + }, + "in_language": { + "description": "the primary language used in the sources", + "type": [ + "string", + "null" + ] + }, + "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" + "type": [ + "array", + "null" + ] }, - "maximum_cardinality": { - "description": "the maximum number of entries for a multivalued slot", - "type": "integer" - }, - "maximum_value": { - "$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" + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "minimum_value": { - "$ref": "#/$defs/Anything", - "description": "For ordinal ranges, the value must be equal to or higher than this" + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": [ + "string", + "null" + ] }, - "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" + "literal_form": { + "description": "The literal lexical form of a structured alias; i.e the actual alias value.", + "type": "string" }, - "mixins": { - "description": "A collection of secondary parent mixin slots from which inheritable metaslots are propagated", + "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" - }, - "multivalued": { - "description": "true means that slot can have more than one value and should be represented using a list or collection structure.", - "type": "boolean" - }, - "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" + "type": [ + "string", + "null" + ] }, "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/AnonymousSlotExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "owner": { - "description": "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot", - "type": "string" - }, - "path_rule": { - "$ref": "#/$defs/PathExpression", - "description": "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" - }, - "pattern": { - "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" + "type": [ + "array", + "null" + ] }, - "range": { - "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", - "type": "string" - }, - "range_expression": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "A range that is described as a boolean expression combining existing ranges" + "predicate": { + "$ref": "#/$defs/AliasPredicateEnum", + "description": "The relationship between an element and its alias." }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "readonly": { - "description": "If present, slot is read only. Text explains why", - "type": "string" - }, - "recommended": { - "description": "true means that the slot should be present in instances of the class definition, but this is not required", - "type": "boolean" - }, - "reflexive": { - "description": "If s is reflexive, then i.s=i for all instances i", - "type": "boolean" - }, - "reflexive_transitive_form_of": { - "description": "transitive_form_of including the reflexive case", - "type": "string" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" - }, - "relational_role": { - "$ref": "#/$defs/RelationalRoleEnum", - "description": "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" - }, - "required": { - "description": "true means that the slot must be present in instances of the class definition", - "type": "boolean" - }, - "role": { - "description": "a textual descriptor that indicates the role played by the slot range", - "type": "string" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" - }, - "shared": { - "description": "If True, then the relationship between the slot domain and range is many to one or many to many", - "type": "boolean" - }, - "singular_name": { - "description": "a name that is used in the singular form", - "type": "string" - }, - "slot_group": { - "description": "allows for grouping of related slots into a grouping slot that serves the role of a group", - "type": "string" - }, - "slot_uri": { - "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.", - "type": "string" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" - }, - "structured_pattern": { - "$ref": "#/$defs/PatternExpression", - "description": "the string value of the slot must conform to the regular expression in the pattern expression" - }, - "subproperty_of": { - "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.", - "type": "string" - }, - "symmetric": { - "description": "If s is symmetric, and i.s=v, then v.s=i", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "transitive": { - "description": "If s is transitive, and i.s=z, and s.s=j, then i.s=j", - "type": "boolean" - }, - "transitive_form_of": { - "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", - "type": "string" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" - }, - "usage_slot_name": { - "description": "The name of the slot referenced in the slot_usage", - "type": "string" - }, - "value_presence": { - "$ref": "#/$defs/PresenceEnum", - "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)" - }, - "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" + "type": [ + "array", + "null" + ] } }, "required": [ - "name" + "literal_form" ], - "title": "SlotDefinition", + "title": "StructuredAlias", "type": "object" }, - "SlotDefinition__identifier_optional": { + "SubsetDefinition": { "additionalProperties": false, - "description": "an element that describes how instances are related to other instances", + "description": "an element that can be used to group other metamodel elements", "properties": { - "abstract": { - "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", - "type": "boolean" - }, - "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": { - "type": "string" - }, - "type": "array" - }, - "all_members": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the value of the slot is multivalued with all members satisfying the condition" - }, - "all_of": { - "description": "holds if all of the expressions hold", + "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": { - "$ref": "#/$defs/AnonymousSlotExpression" + "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -6229,7 +11008,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -6244,171 +11026,137 @@ ] }, "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/AnonymousSlotExpression" - }, - "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" - }, - "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" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" - }, - "designates_type": { - "description": "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition", - "type": "boolean" - }, - "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" - }, - "domain": { - "description": "defines the type of the subject of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts that X is an instance of C1\n", - "type": "string" - }, - "domain_of": { - "description": "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context", - "items": { - "type": "string" - }, - "type": "array" - }, - "enum_range": { - "$ref": "#/$defs/EnumExpression", - "description": "An inlined enumeration" - }, - "equals_expression": { - "description": "the value of the slot must equal the value of the evaluated expression", - "type": "string" - }, - "equals_number": { - "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" - }, - "equals_string": { - "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" - }, - "equals_string_in": { - "description": "the slot must have range string and the value of the slot must equal one of the specified values", - "items": { - "type": "string" - }, - "type": "array" - }, - "exact_cardinality": { - "description": "the exact number of entries for a multivalued slot", - "type": "integer" + "type": [ + "string", + "null" + ] }, "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/AnonymousSlotExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -6423,127 +11171,96 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" - }, - "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the value of the slot is multivalued with at least one member satisfying the condition" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" - }, - "ifabsent": { - "description": "function that provides a default value for the slot. Possible values for this slot are defined in linkml.utils.ifabsent_functions.default_library:\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * bnode -- blank node identifier\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class\n * default_ns -- schema default namespace\n * default_range -- schema default range\n * int(value) -- integer value\n * slot_uri -- URI for the slot\n * slot_curie -- CURIE for the slot\n * string(value) -- string value", - "type": "string" + "type": [ + "boolean", + "null" + ] }, "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" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" - }, - "inherited": { - "description": "true means that the *value* of a slot is inherited by subclasses", - "type": "boolean" - }, - "inlined": { - "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.", - "type": "boolean" - }, - "inlined_as_list": { - "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.", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" - }, - "inverse": { - "description": "indicates that any instance of d s r implies that there is also an instance of r s' d", - "type": "string" - }, - "irreflexive": { - "description": "If s is irreflexive, then there exists no i such i.s=i", - "type": "boolean" - }, - "is_a": { - "description": "A primary parent slot from which inheritable metaslots are propagated", - "type": "string" - }, - "is_class_field": { - "description": "indicates that for any instance, i, the domain of this slot will include an assertion of i s range", - "type": "boolean" - }, - "is_grouping_slot": { - "description": "true if this slot is a grouping slot", - "type": "boolean" - }, - "is_usage_slot": { - "description": "True means that this slot was defined in a slot_usage situation", - "type": "boolean" - }, - "key": { - "description": "True means that the key slot(s) uniquely identify the elements within a single container", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" - }, - "list_elements_ordered": { - "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", - "type": "boolean" - }, - "list_elements_unique": { - "description": "If True, then there must be no duplicates in the elements of a multivalued slot", - "type": "boolean" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -6557,53 +11274,27 @@ } ] }, - "type": "object" - }, - "locally_reflexive": { - "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", - "type": "boolean" + "type": [ + "object", + "null" + ] }, "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" - }, - "maximum_cardinality": { - "description": "the maximum number of entries for a multivalued slot", - "type": "integer" - }, - "maximum_value": { - "$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": { - "$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.", - "type": "boolean" - }, - "mixins": { - "description": "A collection of secondary parent mixin slots from which inheritable metaslots are propagated", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" - }, - "multivalued": { - "description": "true means that slot can have more than one value and should be represented using a list or collection structure.", - "type": "boolean" + "type": [ + "string", + "null" + ] }, "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.", @@ -6614,195 +11305,109 @@ "items": { "type": "string" }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousSlotExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "owner": { - "description": "the \"owner\" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot", - "type": "string" - }, - "path_rule": { - "$ref": "#/$defs/PathExpression", - "description": "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments" - }, - "pattern": { - "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" - }, - "range": { - "description": "defines the type of the object of the slot. Given the following slot definition\n S1:\n domain: C1\n range: C2\nthe declaration\n X:\n S1: Y\n\nimplicitly asserts Y is an instance of C2\n", - "type": "string" - }, - "range_expression": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "A range that is described as a boolean expression combining existing ranges" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "readonly": { - "description": "If present, slot is read only. Text explains why", - "type": "string" - }, - "recommended": { - "description": "true means that the slot should be present in instances of the class definition, but this is not required", - "type": "boolean" - }, - "reflexive": { - "description": "If s is reflexive, then i.s=i for all instances i", - "type": "boolean" - }, - "reflexive_transitive_form_of": { - "description": "transitive_form_of including the reflexive case", - "type": "string" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" - }, - "relational_role": { - "$ref": "#/$defs/RelationalRoleEnum", - "description": "the role a slot on a relationship class plays, for example, the subject, object or predicate roles" - }, - "required": { - "description": "true means that the slot must be present in instances of the class definition", - "type": "boolean" - }, - "role": { - "description": "a textual descriptor that indicates the role played by the slot range", - "type": "string" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { - "type": "string" - }, - "type": "array" - }, - "shared": { - "description": "If True, then the relationship between the slot domain and range is many to one or many to many", - "type": "boolean" - }, - "singular_name": { - "description": "a name that is used in the singular form", - "type": "string" - }, - "slot_group": { - "description": "allows for grouping of related slots into a grouping slot that serves the role of a group", - "type": "string" - }, - "slot_uri": { - "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.", - "type": "string" + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" - }, - "structured_pattern": { - "$ref": "#/$defs/PatternExpression", - "description": "the string value of the slot must conform to the regular expression in the pattern expression" - }, - "subproperty_of": { - "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.", - "type": "string" - }, - "symmetric": { - "description": "If s is symmetric, and i.s=v, then v.s=i", - "type": "boolean" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "transitive": { - "description": "If s is transitive, and i.s=z, and s.s=j, then i.s=j", - "type": "boolean" - }, - "transitive_form_of": { - "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", - "type": "string" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" - }, - "usage_slot_name": { - "description": "The name of the slot referenced in the slot_usage", - "type": "string" - }, - "value_presence": { - "$ref": "#/$defs/PresenceEnum", - "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)" - }, - "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" + "type": [ + "array", + "null" + ] } }, - "required": [], - "title": "SlotDefinition", + "required": [ + "name" + ], + "title": "SubsetDefinition", "type": "object" }, - "StructuredAlias": { + "SubsetDefinition__identifier_optional": { "additionalProperties": false, - "description": "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)", + "description": "an element that can be used to group other metamodel elements", "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" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -6817,7 +11422,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -6832,81 +11440,137 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { - "description": "The category or categories of an alias. This can be drawn from any relevant vocabulary", + "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -6921,52 +11585,133 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] + }, + "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", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "instantiates": { + "description": "An element in another schema which this element instantiates.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, - "literal_form": { - "description": "The literal lexical form of a structured alias; i.e the actual alias value.", - "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", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", + "type": [ + "string", + "null" + ] + }, + "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": { @@ -6974,80 +11719,117 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "predicate": { - "$ref": "#/$defs/AliasPredicateEnum", - "description": "The relationship between an element and its alias." + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] } }, - "required": [ - "literal_form" - ], - "title": "StructuredAlias", + "required": [], + "title": "SubsetDefinition", "type": "object" }, - "SubsetDefinition": { + "TypeDefinition": { "additionalProperties": false, - "description": "an element that can be used to group other metamodel elements", + "description": "an element that whose instances are atomic scalar values that can be mapped to primitive types", "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" + "type": [ + "array", + "null" + ] + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -7062,7 +11844,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -7077,89 +11862,188 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] + }, + "base": { + "description": "python base type in the LinkML runtime that implements this type definition", + "type": [ + "string", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "equals_number": { + "description": "the slot must have range of a number and the value of the slot must equal the specified value", + "type": [ + "integer", + "null" + ] + }, + "equals_string": { + "description": "the slot must have range string and the value of the slot must equal the specified value", + "type": [ + "string", + "null" + ] + }, + "equals_string_in": { + "description": "the slot must have range string and the value of the slot must equal one of the specified values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -7174,63 +12058,103 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "implicit_prefix": { + "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -7244,18 +12168,49 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "maximum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "description": "For ordinal ranges, the value must be equal to or lower than this" + }, + "minimum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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.", @@ -7266,76 +12221,189 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "pattern": { + "description": "the string value of the slot must conform to this regular expression expressed in the string", + "type": [ + "string", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "repr": { + "description": "the name of the python object that implements this type definition", + "type": [ + "string", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "structured_pattern": { + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], + "description": "the string value of the slot must conform to the regular expression in the pattern expression" }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "typeof": { + "description": "A parent type from which type properties are inherited", + "type": [ + "string", + "null" + ] + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], + "description": "an encoding of a unit" + }, + "uri": { + "description": "The uri that defines the possible values for the type definition", + "type": [ + "string", + "null" + ] } }, "required": [ "name" ], - "title": "SubsetDefinition", + "title": "TypeDefinition", "type": "object" }, - "SubsetDefinition__identifier_optional": { + "TypeDefinition__identifier_optional": { "additionalProperties": false, - "description": "an element that can be used to group other metamodel elements", + "description": "an element that whose instances are atomic scalar values that can be mapped to primitive types", "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" + "type": [ + "array", + "null" + ] + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -7350,7 +12418,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -7365,89 +12436,188 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] + }, + "base": { + "description": "python base type in the LinkML runtime that implements this type definition", + "type": [ + "string", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "equals_number": { + "description": "the slot must have range of a number and the value of the slot must equal the specified value", + "type": [ + "integer", + "null" + ] + }, + "equals_string": { + "description": "the slot must have range string and the value of the slot must equal the specified value", + "type": [ + "string", + "null" + ] + }, + "equals_string_in": { + "description": "the slot must have range string and the value of the slot must equal one of the specified values", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -7462,63 +12632,103 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "implicit_prefix": { + "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -7532,18 +12742,49 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] + }, + "maximum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "description": "For ordinal ranges, the value must be equal to or lower than this" + }, + "minimum_value": { + "anyOf": [ + { + "$ref": "#/$defs/Anything" + }, + { + "type": "null" + } + ], + "description": "For ordinal ranges, the value must be equal to or higher than this" }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "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.", @@ -7554,81 +12795,177 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "pattern": { + "description": "the string value of the slot must conform to this regular expression expressed in the string", + "type": [ + "string", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "repr": { + "description": "the name of the python object that implements this type definition", + "type": [ + "string", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "structured_pattern": { + "anyOf": [ + { + "$ref": "#/$defs/PatternExpression" + }, + { + "type": "null" + } + ], + "description": "the string value of the slot must conform to the regular expression in the pattern expression" }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] + }, + "typeof": { + "description": "A parent type from which type properties are inherited", + "type": [ + "string", + "null" + ] + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": [ + "array", + "null" + ] + }, + "unit": { + "anyOf": [ + { + "$ref": "#/$defs/UnitOfMeasure" + }, + { + "type": "null" + } + ], + "description": "an encoding of a unit" + }, + "uri": { + "description": "The uri that defines the possible values for the type definition", + "type": [ + "string", + "null" + ] } }, "required": [], - "title": "SubsetDefinition", + "title": "TypeDefinition", "type": "object" }, - "TypeDefinition": { + "TypeMapping": { "additionalProperties": false, - "description": "an element that whose instances are atomic scalar values that can be mapped to primitive types", + "description": "Represents how a slot or type can be serialized to a format.", "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" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -7643,7 +12980,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -7658,122 +12998,123 @@ ] }, "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/AnonymousTypeExpression" - }, - "type": "array" - }, - "base": { - "description": "python base type in the LinkML runtime that implements this type definition", - "type": "string" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" - }, - "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" - }, - "equals_number": { - "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" - }, - "equals_string": { - "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" - }, - "equals_string_in": { - "description": "the slot must have range string and the value of the slot must equal one of the specified values", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "string", + "null" + ] }, "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/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -7788,225 +13129,206 @@ ] }, "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" + "type": [ + "object", + "null" + ] + }, + "framework": { + "description": "The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced", + "type": [ + "string", + "null" + ] }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "from_schema": { + "description": "id of the schema that defined the element", + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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" - }, - "maximum_value": { - "$ref": "#/$defs/Anything", - "description": "For ordinal ranges, the value must be equal to or lower than this" - }, - "minimum_value": { - "$ref": "#/$defs/Anything", - "description": "For ordinal ranges, the value must be equal to or higher than this" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "pattern": { - "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" - }, - "repr": { - "description": "the name of the python object that implements this type definition", - "type": "string" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" - }, - "structured_pattern": { - "$ref": "#/$defs/PatternExpression", - "description": "the string value of the slot must conform to the regular expression in the pattern expression" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" - }, - "typeof": { - "description": "A parent type from which type properties are inherited", - "type": "string" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" - }, - "uri": { - "description": "The uri that defines the possible values for the type definition", - "type": "string" + "type": { + "description": "type to coerce to", + "type": [ + "string", + "null" + ] } }, "required": [ - "name" + "framework" ], - "title": "TypeDefinition", + "title": "TypeMapping", "type": "object" }, - "TypeDefinition__identifier_optional": { + "TypeMapping__identifier_optional": { "additionalProperties": false, - "description": "an element that whose instances are atomic scalar values that can be mapped to primitive types", + "description": "Represents how a slot or type can be serialized to a format.", "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" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -8021,7 +13343,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -8036,122 +13361,123 @@ ] }, "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/AnonymousTypeExpression" - }, - "type": "array" - }, - "base": { - "description": "python base type in the LinkML runtime that implements this type definition", - "type": "string" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" - }, - "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" - }, - "equals_number": { - "description": "the slot must have range of a number and the value of the slot must equal the specified value", - "type": "integer" - }, - "equals_string": { - "description": "the slot must have range string and the value of the slot must equal the specified value", - "type": "string" - }, - "equals_string_in": { - "description": "the slot must have range string and the value of the slot must equal one of the specified values", - "items": { - "type": "string" - }, - "type": "array" + "type": [ + "string", + "null" + ] }, "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/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -8166,204 +13492,189 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "framework": { + "description": "The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced", + "type": [ + "string", + "null" + ] }, "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" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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" - }, - "maximum_value": { - "$ref": "#/$defs/Anything", - "description": "For ordinal ranges, the value must be equal to or lower than this" - }, - "minimum_value": { - "$ref": "#/$defs/Anything", - "description": "For ordinal ranges, the value must be equal to or higher than this" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "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/AnonymousTypeExpression" - }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" - }, - "pattern": { - "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" - }, - "repr": { - "description": "the name of the python object that implements this type definition", - "type": "string" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] + }, + "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", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" - }, - "structured_pattern": { - "$ref": "#/$defs/PatternExpression", - "description": "the string value of the slot must conform to the regular expression in the pattern expression" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { - "type": "string" - }, - "type": "array" - }, - "typeof": { - "description": "A parent type from which type properties are inherited", - "type": "string" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" + "type": "string" + }, + "type": [ + "array", + "null" + ] }, - "uri": { - "description": "The uri that defines the possible values for the type definition", - "type": "string" + "type": { + "description": "type to coerce to", + "type": [ + "string", + "null" + ] } }, "required": [], - "title": "TypeDefinition", + "title": "TypeMapping", "type": "object" }, "UniqueKey": { @@ -8375,7 +13686,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -8390,7 +13704,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -8405,85 +13722,130 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "consider_nulls_inequal": { "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.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -8498,107 +13860,164 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unique_key_name": { "description": "name of the unique key", @@ -8628,7 +14047,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -8643,7 +14065,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -8658,85 +14083,130 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "consider_nulls_inequal": { "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.", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -8751,107 +14221,164 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "unique_key_name": { "description": "name of the unique key", @@ -8877,37 +14404,61 @@ "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)", - "type": "string" + "type": [ + "string", + "null" + ] }, "derivation": { "description": "Expression for deriving this unit from other units", - "type": "string" + "type": [ + "string", + "null" + ] }, "descriptive_name": { "description": "the spelled out name of the unit, for example, meter", - "type": "string" + "type": [ + "string", + "null" + ] }, "exact_mappings": { "description": "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "has_quantity_kind": { "description": "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length", - "type": "string" + "type": [ + "string", + "null" + ] }, "iec61360code": { - "type": "string" + "type": [ + "string", + "null" + ] }, "symbol": { "description": "name of the unit encoded as a symbol", - "type": "string" + "type": [ + "string", + "null" + ] }, "ucum_code": { "description": "associates a QUDT unit with its UCUM code (case-sensitive).", - "type": "string" + "type": [ + "string", + "null" + ] } }, "title": "UnitOfMeasure", @@ -8925,7 +14476,10 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "alt_descriptions": { "additionalProperties": { @@ -8940,7 +14494,10 @@ ] }, "description": "A sourced alternative description for an element", - "type": "object" + "type": [ + "object", + "null" + ] }, "annotations": { "additionalProperties": { @@ -8955,21 +14512,40 @@ ] }, "description": "a collection of tag/text tuples with the semantics of OWL Annotation", - "type": "object" + "type": [ + "object", + "null" + ] + }, + "bindings": { + "description": "A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration.\nLinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically).\nEnum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.", + "items": { + "$ref": "#/$defs/EnumBinding" + }, + "type": [ + "array", + "null" + ] }, "broad_mappings": { "description": "A list of terms from different schemas or terminology systems that have broader meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "categories": { "description": "Controlled terms used to categorize an element.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "classes": { "additionalProperties": { @@ -8983,83 +14559,131 @@ ] }, "description": "An index to the collection of all class definitions in the schema", - "type": "object" + "type": [ + "object", + "null" + ] }, "close_mappings": { "description": "A list of terms from different schemas or terminology systems that have close meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "comments": { "description": "notes and comments about an element intended primarily for external consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "conforms_to": { "description": "An established standard to which the element conforms.", - "type": "string" + "type": [ + "string", + "null" + ] }, "contributors": { "description": "agent that contributed to the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "created_by": { "description": "agent that created the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "created_on": { "description": "time at which the element was created", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "default_curi_maps": { "description": "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "default_prefix": { "description": "The prefix that is used for all elements within a schema", - "type": "string" + "type": [ + "string", + "null" + ] }, "default_range": { "description": "default slot range to be used if range element is omitted from a slot definition", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "deprecated": { "description": "Description of why and when this element will no longer be used", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_exact_replacement": { "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "deprecated_element_has_possible_replacement": { "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" + "type": [ + "string", + "null" + ] }, "description": { "description": "a textual description of the element's purpose and use", - "type": "string" + "type": [ + "string", + "null" + ] }, "emit_prefixes": { "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.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "enums": { "additionalProperties": { @@ -9073,21 +14697,30 @@ ] }, "description": "An index to the collection of all enum definitions in the schema", - "type": "object" + "type": [ + "object", + "null" + ] }, "exact_mappings": { "description": "A list of terms from different schemas or terminology systems that have identical meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "examples": { "description": "example usages of an element", "items": { "$ref": "#/$defs/Example" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "extensions": { "additionalProperties": { @@ -9102,16 +14735,25 @@ ] }, "description": "a tag/text tuple attached to an arbitrary element", - "type": "object" + "type": [ + "object", + "null" + ] }, "from_schema": { "description": "id of the schema that defined the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "generation_date": { "description": "date and time that the schema was loaded/generated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "id": { "description": "The official schema URI", @@ -9122,63 +14764,96 @@ "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "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" + "type": [ + "boolean", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "imported_from": { "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" + "type": [ + "string", + "null" + ] }, "imports": { "description": "A list of schemas that are to be included in this schema", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "in_language": { "description": "the primary language used in the sources", - "type": "string" + "type": [ + "string", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "instantiates": { "description": "An element in another schema which this element instantiates.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "keywords": { "description": "Keywords or tags used to describe the element", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "last_updated_on": { "description": "time at which the element was last updated", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "license": { "description": "license for the schema", - "type": "string" + "type": [ + "string", + "null" + ] }, "local_names": { "additionalProperties": { @@ -9192,40 +14867,61 @@ } ] }, - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "array", + "null" + ] }, "metamodel_version": { "description": "Version of the metamodel used to load the schema", - "type": "string" + "type": [ + "string", + "null" + ] }, "modified_by": { "description": "agent that modified the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "name": { "description": "a unique name for the schema that is both human-readable and consists of only characters from the NCName set", - "type": "string" + "type": [ + "string", + "null" + ] }, "narrow_mappings": { "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "notes": { "description": "editorial notes about an element intended primarily for internal consumption", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "prefixes": { "additionalProperties": { @@ -9240,25 +14936,37 @@ ] }, "description": "A collection of prefix expansions that specify how CURIEs can be expanded to URIs", - "type": "object" + "type": [ + "object", + "null" + ] }, "rank": { "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "related_mappings": { "description": "A list of terms from different schemas or terminology systems that have related meaning.", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "see_also": { "description": "A list of related entities or URLs that may be of relevance", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "settings": { "additionalProperties": { @@ -9273,11 +14981,17 @@ ] }, "description": "A collection of global variable settings", - "type": "object" + "type": [ + "object", + "null" + ] }, "slot_names_unique": { "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" + "type": [ + "boolean", + "null" + ] }, "slots": { "additionalProperties": { @@ -9291,35 +15005,56 @@ ] }, "description": "An index to the collection of all slot definitions in the schema", - "type": "object" + "type": [ + "object", + "null" + ] }, "source": { "description": "A related resource from which the element is derived.", - "type": "string" + "type": [ + "string", + "null" + ] }, "source_file": { "description": "name, uri or description of the source of the schema", - "type": "string" + "type": [ + "string", + "null" + ] }, "source_file_date": { "description": "modification date of the source of the schema", "format": "date-time", - "type": "string" + "type": [ + "string", + "null" + ] }, "source_file_size": { "description": "size in bytes of the source of the schema", - "type": "integer" + "type": [ + "integer", + "null" + ] }, "status": { "description": "status of the element", - "type": "string" + "type": [ + "string", + "null" + ] }, "structured_aliases": { "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", "items": { "$ref": "#/$defs/StructuredAlias" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "subsets": { "additionalProperties": { @@ -9333,18 +15068,27 @@ ] }, "description": "An index to the collection of all subset definitions in the schema", - "type": "object" + "type": [ + "object", + "null" + ] }, "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" + "type": [ + "string", + "null" + ] }, "todos": { "description": "Outstanding issues that needs resolution", "items": { "type": "string" }, - "type": "array" + "type": [ + "array", + "null" + ] }, "types": { "additionalProperties": { @@ -9358,11 +15102,17 @@ ] }, "description": "An index to the collection of all type definitions in the schema", - "type": "object" + "type": [ + "object", + "null" + ] }, "version": { "description": "particular version of schema", - "type": "string" + "type": [ + "string", + "null" + ] } }, "required": [ diff --git a/linkml_model/mappings.py b/linkml_model/mappings.py index e8a146ca..b746f4c3 100644 --- a/linkml_model/mappings.py +++ b/linkml_model/mappings.py @@ -1,5 +1,5 @@ # Auto generated from mappings.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:35 +# Generation date: 2024-12-24T09:44:52 # Schema: mappings # # id: https://w3id.org/linkml/mappings @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .types import Uriorcurie from linkml_runtime.utils.metamodelcore import URIorCURIE diff --git a/linkml_model/meta.py b/linkml_model/meta.py index 9edd8d13..475a5fb9 100644 --- a/linkml_model/meta.py +++ b/linkml_model/meta.py @@ -1,5 +1,5 @@ # Auto generated from meta.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:36 +# Generation date: 2024-12-24T09:44:53 # Schema: meta # # id: https://w3id.org/linkml/meta @@ -32,18 +32,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .annotations import Annotation, AnnotationTag from .extensions import Extension, ExtensionTag from .types import Boolean, Datetime, Integer, Ncname, String, Uri, Uriorcurie @@ -142,9 +174,13 @@ class UniqueKeyUniqueKeyName(extended_str): pass +class TypeMappingFramework(extended_str): + pass + + Anything = Any -@dataclass +@dataclass(repr=False) class CommonMetadata(YAMLRoot): """ Generic metadata shared across definitions @@ -307,7 +343,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Element(YAMLRoot): """ A named element in the model @@ -512,7 +548,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class SchemaDefinition(Element): """ A collection of definitions that make up a schema or a data model. @@ -546,10 +582,9 @@ class SchemaDefinition(Element): generation_date: Optional[Union[str, XSDDateTime]] = None slot_names_unique: Optional[Union[bool, Bool]] = None settings: Optional[Union[Dict[Union[str, SettingSettingKey], Union[dict, "Setting"]], List[Union[dict, "Setting"]]]] = empty_dict() + bindings: Optional[Union[Union[dict, "EnumBinding"], List[Union[dict, "EnumBinding"]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): - if self.default_prefix is None: - self.default_prefix = sfx(str(self.id)) if self._is_empty(self.name): self.MissingRequiredField("name") if not isinstance(self.name, SchemaDefinitionName): @@ -616,10 +651,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self._normalize_inlined_as_dict(slot_name="settings", slot_type=Setting, key_name="setting_key", keyed=True) + if not isinstance(self.bindings, list): + self.bindings = [self.bindings] if self.bindings is not None else [] + self.bindings = [v if isinstance(v, EnumBinding) else EnumBinding(**as_dict(v)) for v in self.bindings] + super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AnonymousTypeExpression(YAMLRoot): """ A type expression that is not a top-level named type definition. Used for nesting. @@ -687,7 +726,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class TypeDefinition(Element): """ an element that whose instances are atomic scalar values that can be mapped to primitive types @@ -782,7 +821,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class SubsetDefinition(Element): """ an element that can be used to group other metamodel elements @@ -805,7 +844,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Definition(Element): """ abstract base class for core metaclasses @@ -854,7 +893,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AnonymousEnumExpression(YAMLRoot): """ An enum_expression that is not named @@ -918,7 +957,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class EnumDefinition(Definition): """ an element whose instances must be drawn from a specified set of permissible values @@ -992,7 +1031,192 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) +class EnumBinding(YAMLRoot): + """ + A binding of a slot or a class to a permissible value from an enumeration. + """ + _inherited_slots: ClassVar[List[str]] = ["range"] + + class_class_uri: ClassVar[URIRef] = LINKML["EnumBinding"] + class_class_curie: ClassVar[str] = "linkml:EnumBinding" + class_name: ClassVar[str] = "enum_binding" + class_model_uri: ClassVar[URIRef] = LINKML.EnumBinding + + range: Optional[Union[str, EnumDefinitionName]] = None + obligation_level: Optional[Union[str, "ObligationLevelEnum"]] = None + binds_value_of: Optional[str] = None + pv_formula: Optional[Union[str, "PvFormulaOptions"]] = 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.range is not None and not isinstance(self.range, EnumDefinitionName): + self.range = EnumDefinitionName(self.range) + + if self.obligation_level is not None and not isinstance(self.obligation_level, ObligationLevelEnum): + self.obligation_level = ObligationLevelEnum(self.obligation_level) + + if self.binds_value_of is not None and not isinstance(self.binds_value_of, str): + self.binds_value_of = str(self.binds_value_of) + + if self.pv_formula is not None and not isinstance(self.pv_formula, PvFormulaOptions): + self.pv_formula = PvFormulaOptions(self.pv_formula) + + 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(repr=False) class MatchQuery(YAMLRoot): """ A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that @@ -1018,7 +1242,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ReachabilityQuery(YAMLRoot): """ A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a @@ -1062,7 +1286,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class StructuredAlias(YAMLRoot): """ object that contains meta data about a synonym or alias including where it came from (source) and its scope @@ -1078,6 +1302,7 @@ class StructuredAlias(YAMLRoot): literal_form: str = None predicate: Optional[Union[str, "AliasPredicateEnum"]] = None categories: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + contexts: Optional[Union[Union[str, URI], List[Union[str, URI]]]] = 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 @@ -1126,6 +1351,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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.contexts, list): + self.contexts = [self.contexts] if self.contexts is not None else [] + self.contexts = [v if isinstance(v, URI) else URI(v) for v in self.contexts] + 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) @@ -1254,7 +1483,7 @@ class Expression(YAMLRoot): class_model_uri: ClassVar[URIRef] = LINKML.Expression -@dataclass +@dataclass(repr=False) class TypeExpression(Expression): """ An abstract class grouping named types and anonymous type expressions @@ -1275,10 +1504,10 @@ class TypeExpression(Expression): equals_number: 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() - all_of: Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]] = empty_list() + 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() + all_of: Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.pattern is not None and not isinstance(self.pattern, str): @@ -1322,7 +1551,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class EnumExpression(Expression): """ An expression that constrains the range of a slot @@ -1339,11 +1568,11 @@ class EnumExpression(Expression): code_set_version: Optional[str] = None pv_formula: Optional[Union[str, "PvFormulaOptions"]] = None permissible_values: Optional[Union[Dict[Union[str, PermissibleValueText], Union[dict, "PermissibleValue"]], List[Union[dict, "PermissibleValue"]]]] = empty_dict() - include: Optional[Union[Union[dict, "AnonymousEnumExpression"], List[Union[dict, "AnonymousEnumExpression"]]]] = empty_list() - minus: Optional[Union[Union[dict, "AnonymousEnumExpression"], List[Union[dict, "AnonymousEnumExpression"]]]] = empty_list() + include: Optional[Union[Union[dict, AnonymousEnumExpression], List[Union[dict, AnonymousEnumExpression]]]] = empty_list() + minus: Optional[Union[Union[dict, AnonymousEnumExpression], List[Union[dict, AnonymousEnumExpression]]]] = empty_list() inherits: Optional[Union[Union[str, EnumDefinitionName], List[Union[str, EnumDefinitionName]]]] = empty_list() - reachable_from: Optional[Union[dict, "ReachabilityQuery"]] = None - matches: Optional[Union[dict, "MatchQuery"]] = None + reachable_from: Optional[Union[dict, ReachabilityQuery]] = None + matches: Optional[Union[dict, MatchQuery]] = None concepts: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1386,7 +1615,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AnonymousExpression(YAMLRoot): """ An abstract parent class for any nested expression @@ -1555,7 +1784,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class PathExpression(YAMLRoot): """ An expression that describes an abstract path from an object to another through a sequence of slot lookups @@ -1760,12 +1989,12 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) 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", "exact_cardinality", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "multivalued", "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", "array"] class_class_uri: ClassVar[URIRef] = LINKML["SlotExpression"] class_class_curie: ClassVar[str] = "linkml:SlotExpression" @@ -1775,8 +2004,10 @@ class SlotExpression(Expression): range: Optional[Union[str, ElementName]] = None range_expression: Optional[Union[dict, "AnonymousClassExpression"]] = None enum_range: Optional[Union[dict, EnumExpression]] = None + bindings: Optional[Union[Union[dict, EnumBinding], List[Union[dict, EnumBinding]]]] = empty_list() required: Optional[Union[bool, Bool]] = None recommended: Optional[Union[bool, Bool]] = None + multivalued: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None minimum_value: Optional[Union[dict, Anything]] = None @@ -1799,6 +2030,7 @@ class SlotExpression(Expression): exactly_one_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() any_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() all_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() + array: Optional[Union[dict, "ArrayExpression"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.range is not None and not isinstance(self.range, ElementName): @@ -1810,12 +2042,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.enum_range is not None and not isinstance(self.enum_range, EnumExpression): self.enum_range = EnumExpression(**as_dict(self.enum_range)) + if not isinstance(self.bindings, list): + self.bindings = [self.bindings] if self.bindings is not None else [] + self.bindings = [v if isinstance(v, EnumBinding) else EnumBinding(**as_dict(v)) for v in self.bindings] + if self.required is not None and not isinstance(self.required, Bool): self.required = Bool(self.required) if self.recommended is not None and not isinstance(self.recommended, Bool): self.recommended = Bool(self.recommended) + if self.multivalued is not None and not isinstance(self.multivalued, Bool): + self.multivalued = Bool(self.multivalued) + if self.inlined is not None and not isinstance(self.inlined, Bool): self.inlined = Bool(self.inlined) @@ -1881,12 +2120,15 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.all_of = [self.all_of] if self.all_of is not None else [] self.all_of = [v if isinstance(v, AnonymousSlotExpression) else AnonymousSlotExpression(**as_dict(v)) for v in self.all_of] + if self.array is not None and not isinstance(self.array, ArrayExpression): + self.array = ArrayExpression(**as_dict(self.array)) + super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) 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", "exact_cardinality", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "multivalued", "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", "array"] class_class_uri: ClassVar[URIRef] = LINKML["AnonymousSlotExpression"] class_class_curie: ClassVar[str] = "linkml:AnonymousSlotExpression" @@ -1896,8 +2138,10 @@ class AnonymousSlotExpression(AnonymousExpression): range: Optional[Union[str, ElementName]] = None range_expression: Optional[Union[dict, "AnonymousClassExpression"]] = None enum_range: Optional[Union[dict, EnumExpression]] = None + bindings: Optional[Union[Union[dict, EnumBinding], List[Union[dict, EnumBinding]]]] = empty_list() required: Optional[Union[bool, Bool]] = None recommended: Optional[Union[bool, Bool]] = None + multivalued: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None minimum_value: Optional[Union[dict, Anything]] = None @@ -1920,6 +2164,7 @@ class AnonymousSlotExpression(AnonymousExpression): exactly_one_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() any_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() all_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() + array: Optional[Union[dict, "ArrayExpression"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.range is not None and not isinstance(self.range, ElementName): @@ -1931,12 +2176,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.enum_range is not None and not isinstance(self.enum_range, EnumExpression): self.enum_range = EnumExpression(**as_dict(self.enum_range)) + if not isinstance(self.bindings, list): + self.bindings = [self.bindings] if self.bindings is not None else [] + self.bindings = [v if isinstance(v, EnumBinding) else EnumBinding(**as_dict(v)) for v in self.bindings] + if self.required is not None and not isinstance(self.required, Bool): self.required = Bool(self.required) if self.recommended is not None and not isinstance(self.recommended, Bool): self.recommended = Bool(self.recommended) + if self.multivalued is not None and not isinstance(self.multivalued, Bool): + self.multivalued = Bool(self.multivalued) + if self.inlined is not None and not isinstance(self.inlined, Bool): self.inlined = Bool(self.inlined) @@ -2002,15 +2254,18 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.all_of = [self.all_of] if self.all_of is not None else [] self.all_of = [v if isinstance(v, AnonymousSlotExpression) else AnonymousSlotExpression(**as_dict(v)) for v in self.all_of] + if self.array is not None and not isinstance(self.array, ArrayExpression): + self.array = ArrayExpression(**as_dict(self.array)) + super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class SlotDefinition(Definition): """ an element that describes how instances are related to other instances """ - _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"] + _inherited_slots: ClassVar[List[str]] = ["domain", "inherited", "readonly", "ifabsent", "list_elements_unique", "list_elements_ordered", "shared", "key", "identifier", "designates_type", "role", "relational_role", "range", "required", "recommended", "multivalued", "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", "array"] class_class_uri: ClassVar[URIRef] = LINKML["SlotDefinition"] class_class_curie: ClassVar[str] = "linkml:SlotDefinition" @@ -2021,8 +2276,6 @@ class SlotDefinition(Definition): singular_name: Optional[str] = None 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 @@ -2056,14 +2309,17 @@ class SlotDefinition(Definition): disjoint_with: Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]] = empty_list() children_are_mutually_disjoint: Optional[Union[bool, Bool]] = None union_of: Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]] = empty_list() + type_mappings: Optional[Union[Union[str, TypeMappingFramework], List[Union[str, TypeMappingFramework]]]] = empty_list() is_a: Optional[Union[str, SlotDefinitionName]] = None mixins: Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]] = empty_list() apply_to: Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]] = empty_list() range: Optional[Union[str, ElementName]] = None range_expression: Optional[Union[dict, "AnonymousClassExpression"]] = None enum_range: Optional[Union[dict, EnumExpression]] = None + bindings: Optional[Union[Union[dict, EnumBinding], List[Union[dict, EnumBinding]]]] = empty_list() required: Optional[Union[bool, Bool]] = None recommended: Optional[Union[bool, Bool]] = None + multivalued: Optional[Union[bool, Bool]] = None inlined: Optional[Union[bool, Bool]] = None inlined_as_list: Optional[Union[bool, Bool]] = None minimum_value: Optional[Union[dict, Anything]] = None @@ -2086,6 +2342,7 @@ class SlotDefinition(Definition): exactly_one_of: Optional[Union[Union[dict, AnonymousSlotExpression], List[Union[dict, AnonymousSlotExpression]]]] = empty_list() any_of: Optional[Union[Union[dict, AnonymousSlotExpression], List[Union[dict, AnonymousSlotExpression]]]] = empty_list() all_of: Optional[Union[Union[dict, AnonymousSlotExpression], List[Union[dict, AnonymousSlotExpression]]]] = empty_list() + array: Optional[Union[dict, "ArrayExpression"]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self._is_empty(self.name): @@ -2102,12 +2359,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.slot_uri is not None and not isinstance(self.slot_uri, URIorCURIE): self.slot_uri = URIorCURIE(self.slot_uri) - 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) @@ -2210,6 +2461,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.union_of = [self.union_of] if self.union_of is not None else [] self.union_of = [v if isinstance(v, SlotDefinitionName) else SlotDefinitionName(v) for v in self.union_of] + if not isinstance(self.type_mappings, list): + self.type_mappings = [self.type_mappings] if self.type_mappings is not None else [] + self.type_mappings = [v if isinstance(v, TypeMappingFramework) else TypeMappingFramework(v) for v in self.type_mappings] + if self.is_a is not None and not isinstance(self.is_a, SlotDefinitionName): self.is_a = SlotDefinitionName(self.is_a) @@ -2230,12 +2485,19 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.enum_range is not None and not isinstance(self.enum_range, EnumExpression): self.enum_range = EnumExpression(**as_dict(self.enum_range)) + if not isinstance(self.bindings, list): + self.bindings = [self.bindings] if self.bindings is not None else [] + self.bindings = [v if isinstance(v, EnumBinding) else EnumBinding(**as_dict(v)) for v in self.bindings] + if self.required is not None and not isinstance(self.required, Bool): self.required = Bool(self.required) if self.recommended is not None and not isinstance(self.recommended, Bool): self.recommended = Bool(self.recommended) + if self.multivalued is not None and not isinstance(self.multivalued, Bool): + self.multivalued = Bool(self.multivalued) + if self.inlined is not None and not isinstance(self.inlined, Bool): self.inlined = Bool(self.inlined) @@ -2301,10 +2563,13 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.all_of = [self.all_of] if self.all_of is not None else [] self.all_of = [v if isinstance(v, AnonymousSlotExpression) else AnonymousSlotExpression(**as_dict(v)) for v in self.all_of] + if self.array is not None and not isinstance(self.array, ArrayExpression): + self.array = ArrayExpression(**as_dict(self.array)) + super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ClassExpression(YAMLRoot): """ A boolean expression that can be used to dynamically determine membership of a class @@ -2344,7 +2609,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AnonymousClassExpression(AnonymousExpression): _inherited_slots: ClassVar[List[str]] = [] @@ -2385,7 +2650,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ClassDefinition(Definition): """ an element whose instances are complex objects that may have slot-value assignments @@ -2413,6 +2678,7 @@ class ClassDefinition(Definition): represents_relationship: Optional[Union[bool, Bool]] = None disjoint_with: Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]] = empty_list() children_are_mutually_disjoint: Optional[Union[bool, Bool]] = None + extra_slots: Optional[Union[dict, "ExtraSlotsExpression"]] = None is_a: Optional[Union[str, ClassDefinitionName]] = None mixins: Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]] = empty_list() apply_to: Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]] = empty_list() @@ -2476,6 +2742,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.children_are_mutually_disjoint is not None and not isinstance(self.children_are_mutually_disjoint, Bool): self.children_are_mutually_disjoint = Bool(self.children_are_mutually_disjoint) + if self.extra_slots is not None and not isinstance(self.extra_slots, ExtraSlotsExpression): + self.extra_slots = ExtraSlotsExpression(**as_dict(self.extra_slots)) + if self.is_a is not None and not isinstance(self.is_a, ClassDefinitionName): self.is_a = ClassDefinitionName(self.is_a) @@ -2520,7 +2789,7 @@ class ClassLevelRule(YAMLRoot): class_model_uri: ClassVar[URIRef] = LINKML.ClassLevelRule -@dataclass +@dataclass(repr=False) class ClassRule(ClassLevelRule): """ A rule that applies to instances of a class @@ -2713,7 +2982,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ArrayExpression(YAMLRoot): """ defines the dimensions of an array @@ -2728,7 +2997,6 @@ class ArrayExpression(YAMLRoot): 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() @@ -2773,9 +3041,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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] @@ -2900,7 +3165,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class DimensionExpression(YAMLRoot): """ defines one of the dimensions of an array @@ -3085,7 +3350,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class PatternExpression(YAMLRoot): """ a regular expression pattern used to evaluate conformance of a string @@ -3266,7 +3531,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ImportExpression(YAMLRoot): """ an expression describing an import @@ -3448,7 +3713,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Setting(YAMLRoot): """ assignment of a key to a value @@ -3477,7 +3742,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Prefix(YAMLRoot): """ prefix URI tuple @@ -3506,7 +3771,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class LocalName(YAMLRoot): """ an attributed label @@ -3535,7 +3800,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class Example(YAMLRoot): """ usage example and description @@ -3561,7 +3826,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class AltDescription(YAMLRoot): """ an attributed description @@ -3590,7 +3855,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class PermissibleValue(YAMLRoot): """ a permissible value, accompanied by intended text and an optional mapping to a concept URI @@ -3606,6 +3871,8 @@ class PermissibleValue(YAMLRoot): description: Optional[str] = None meaning: Optional[Union[str, URIorCURIE]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None + instantiates: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() + implements: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() is_a: Optional[Union[str, PermissibleValueText]] = None mixins: Optional[Union[Union[str, PermissibleValueText], List[Union[str, PermissibleValueText]]]] = empty_list() extensions: Optional[Union[Dict[Union[str, ExtensionTag], Union[dict, Extension]], List[Union[dict, Extension]]]] = empty_dict() @@ -3658,6 +3925,14 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.unit is not None and not isinstance(self.unit, UnitOfMeasure): self.unit = UnitOfMeasure(**as_dict(self.unit)) + if not isinstance(self.instantiates, list): + self.instantiates = [self.instantiates] if self.instantiates is not None else [] + self.instantiates = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.instantiates] + + if not isinstance(self.implements, list): + self.implements = [self.implements] if self.implements is not None else [] + self.implements = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.implements] + if self.is_a is not None and not isinstance(self.is_a, PermissibleValueText): self.is_a = PermissibleValueText(self.is_a) @@ -3782,7 +4057,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class UniqueKey(YAMLRoot): """ a collection of slots whose values uniquely identify an instance of a class @@ -3968,6 +4243,216 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) +@dataclass(repr=False) +class TypeMapping(YAMLRoot): + """ + Represents how a slot or type can be serialized to a format. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = LINKML["TypeMapping"] + class_class_curie: ClassVar[str] = "linkml:TypeMapping" + class_name: ClassVar[str] = "type_mapping" + class_model_uri: ClassVar[URIRef] = LINKML.TypeMapping + + framework: Union[str, TypeMappingFramework] = None + type: Optional[Union[str, TypeDefinitionName]] = None + string_serialization: Optional[str] = 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._is_empty(self.framework): + self.MissingRequiredField("framework") + if not isinstance(self.framework, TypeMappingFramework): + self.framework = TypeMappingFramework(self.framework) + + if self.type is not None and not isinstance(self.type, TypeDefinitionName): + self.type = TypeDefinitionName(self.type) + + if self.string_serialization is not None and not isinstance(self.string_serialization, str): + self.string_serialization = str(self.string_serialization) + + 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(repr=False) +class ExtraSlotsExpression(YAMLRoot): + """ + An expression that defines how to handle additional data in an instance of class + beyond the slots/attributes defined for that class. + See `extra_slots` for usage examples. + """ + _inherited_slots: ClassVar[List[str]] = [] + + class_class_uri: ClassVar[URIRef] = LINKML["ExtraSlotsExpression"] + class_class_curie: ClassVar[str] = "linkml:ExtraSlotsExpression" + class_name: ClassVar[str] = "extra_slots_expression" + class_model_uri: ClassVar[URIRef] = LINKML.ExtraSlotsExpression + + allowed: Optional[Union[bool, Bool]] = None + range_expression: Optional[Union[dict, AnonymousClassExpression]] = None + + def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): + if self.allowed is not None and not isinstance(self.allowed, Bool): + self.allowed = Bool(self.allowed) + + if self.range_expression is not None and not isinstance(self.range_expression, AnonymousClassExpression): + self.range_expression = AnonymousClassExpression(**as_dict(self.range_expression)) + + super().__post_init__(**kwargs) + + # Enumerations class PvFormulaOptions(EnumDefinitionImpl): """ @@ -4057,6 +4542,31 @@ class AliasPredicateEnum(EnumDefinitionImpl): description="permissible values for the relationship between an element and an alias", ) +class ObligationLevelEnum(EnumDefinitionImpl): + """ + The level of obligation or recommendation strength for a metadata element + """ + REQUIRED = PermissibleValue( + text="REQUIRED", + description="The metadata element is required to be present in the model") + RECOMMENDED = PermissibleValue( + text="RECOMMENDED", + description="The metadata element is recommended to be present in the model") + OPTIONAL = PermissibleValue( + text="OPTIONAL", + description="The metadata element is optional to be present in the model") + EXAMPLE = PermissibleValue( + text="EXAMPLE", + description="The metadata element is an example of how to use the model") + DISCOURAGED = PermissibleValue( + text="DISCOURAGED", + description="The metadata element is allowed but discouraged to be present in the model") + + _defn = EnumDefinition( + name="ObligationLevelEnum", + description="The level of obligation or recommendation strength for a metadata element", + ) + # Slots class slots: pass @@ -4151,6 +4661,9 @@ class slots: slots.alias_predicate = Slot(uri=RDF.predicate, name="alias_predicate", curie=RDF.curie('predicate'), model_uri=LINKML.alias_predicate, domain=StructuredAlias, range=Optional[Union[str, "AliasPredicateEnum"]]) +slots.alias_contexts = Slot(uri=LINKML.contexts, name="alias_contexts", curie=LINKML.curie('contexts'), + model_uri=LINKML.alias_contexts, domain=StructuredAlias, range=Optional[Union[Union[str, URI], List[Union[str, URI]]]]) + slots.in_language = Slot(uri=SCHEMA.inLanguage, name="in_language", curie=SCHEMA.curie('inLanguage'), model_uri=LINKML.in_language, domain=None, range=Optional[str]) @@ -4161,7 +4674,7 @@ class slots: model_uri=LINKML.publisher, domain=Element, range=Optional[Union[str, URIorCURIE]]) slots.is_a = Slot(uri=LINKML.is_a, name="is_a", curie=LINKML.curie('is_a'), - model_uri=LINKML.is_a, domain=Definition, range=Optional[Union[str, DefinitionName]]) + model_uri=LINKML.is_a, domain=None, range=Optional[Union[str, DefinitionName]]) slots.abstract = Slot(uri=LINKML.abstract, name="abstract", curie=LINKML.curie('abstract'), model_uri=LINKML.abstract, domain=Definition, range=Optional[Union[bool, Bool]]) @@ -4170,7 +4683,7 @@ class slots: model_uri=LINKML.mixin, domain=Definition, range=Optional[Union[bool, Bool]]) slots.mixins = Slot(uri=LINKML.mixins, name="mixins", curie=LINKML.curie('mixins'), - model_uri=LINKML.mixins, domain=Definition, range=Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]]) + model_uri=LINKML.mixins, domain=None, range=Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]]) slots.apply_to = Slot(uri=LINKML.apply_to, name="apply_to", curie=LINKML.curie('apply_to'), model_uri=LINKML.apply_to, domain=Definition, range=Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]]) @@ -4188,7 +4701,7 @@ class slots: model_uri=LINKML.code_set_tag, domain=EnumExpression, range=Optional[str]) slots.pv_formula = Slot(uri=LINKML.pv_formula, name="pv_formula", curie=LINKML.curie('pv_formula'), - model_uri=LINKML.pv_formula, domain=EnumExpression, range=Optional[Union[str, "PvFormulaOptions"]]) + model_uri=LINKML.pv_formula, domain=None, range=Optional[Union[str, "PvFormulaOptions"]]) slots.permissible_values = Slot(uri=LINKML.permissible_values, name="permissible_values", curie=LINKML.curie('permissible_values'), model_uri=LINKML.permissible_values, domain=EnumExpression, range=Optional[Union[Dict[Union[str, PermissibleValueText], Union[dict, "PermissibleValue"]], List[Union[dict, "PermissibleValue"]]]]) @@ -4197,16 +4710,16 @@ class slots: model_uri=LINKML.enum_uri, domain=EnumDefinition, range=Optional[Union[str, URIorCURIE]]) slots.include = Slot(uri=LINKML.include, name="include", curie=LINKML.curie('include'), - model_uri=LINKML.include, domain=EnumExpression, range=Optional[Union[Union[dict, "AnonymousEnumExpression"], List[Union[dict, "AnonymousEnumExpression"]]]]) + model_uri=LINKML.include, domain=EnumExpression, range=Optional[Union[Union[dict, AnonymousEnumExpression], List[Union[dict, AnonymousEnumExpression]]]]) slots.minus = Slot(uri=LINKML.minus, name="minus", curie=LINKML.curie('minus'), - model_uri=LINKML.minus, domain=EnumExpression, range=Optional[Union[Union[dict, "AnonymousEnumExpression"], List[Union[dict, "AnonymousEnumExpression"]]]]) + model_uri=LINKML.minus, domain=EnumExpression, range=Optional[Union[Union[dict, AnonymousEnumExpression], List[Union[dict, AnonymousEnumExpression]]]]) slots.inherits = Slot(uri=LINKML.inherits, name="inherits", curie=LINKML.curie('inherits'), model_uri=LINKML.inherits, domain=EnumExpression, range=Optional[Union[Union[str, EnumDefinitionName], List[Union[str, EnumDefinitionName]]]]) slots.matches = Slot(uri=LINKML.matches, name="matches", curie=LINKML.curie('matches'), - model_uri=LINKML.matches, domain=EnumExpression, range=Optional[Union[dict, "MatchQuery"]]) + model_uri=LINKML.matches, domain=EnumExpression, range=Optional[Union[dict, MatchQuery]]) slots.identifier_pattern = Slot(uri=LINKML.identifier_pattern, name="identifier_pattern", curie=LINKML.curie('identifier_pattern'), model_uri=LINKML.identifier_pattern, domain=MatchQuery, range=Optional[str]) @@ -4215,7 +4728,7 @@ class slots: model_uri=LINKML.concepts, domain=EnumExpression, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) slots.reachable_from = Slot(uri=LINKML.reachable_from, name="reachable_from", curie=LINKML.curie('reachable_from'), - model_uri=LINKML.reachable_from, domain=EnumExpression, range=Optional[Union[dict, "ReachabilityQuery"]]) + model_uri=LINKML.reachable_from, domain=EnumExpression, range=Optional[Union[dict, ReachabilityQuery]]) slots.source_ontology = Slot(uri=LINKML.source_ontology, name="source_ontology", curie=LINKML.curie('source_ontology'), model_uri=LINKML.source_ontology, domain=None, range=Optional[Union[str, URIorCURIE]]) @@ -4388,6 +4901,12 @@ class slots: slots.slot_names_unique = Slot(uri=LINKML.slot_names_unique, name="slot_names_unique", curie=LINKML.curie('slot_names_unique'), model_uri=LINKML.slot_names_unique, domain=Definition, range=Optional[Union[bool, Bool]]) +slots.extra_slots = Slot(uri=LINKML.extra_slots, name="extra_slots", curie=LINKML.curie('extra_slots'), + model_uri=LINKML.extra_slots, domain=ClassDefinition, range=Optional[Union[dict, "ExtraSlotsExpression"]]) + +slots.allowed = Slot(uri=LINKML.allowed, name="allowed", curie=LINKML.curie('allowed'), + model_uri=LINKML.allowed, domain=None, range=Optional[Union[bool, Bool]]) + slots.domain = Slot(uri=LINKML.domain, name="domain", curie=LINKML.curie('domain'), model_uri=LINKML.domain, domain=SlotDefinition, range=Optional[Union[str, ClassDefinitionName]]) @@ -4415,9 +4934,6 @@ class slots: 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]]) @@ -4592,6 +5108,24 @@ class slots: slots.string_serialization = Slot(uri=LINKML.string_serialization, name="string_serialization", curie=LINKML.curie('string_serialization'), model_uri=LINKML.string_serialization, domain=Definition, range=Optional[str]) +slots.bindings = Slot(uri=LINKML.bindings, name="bindings", curie=LINKML.curie('bindings'), + model_uri=LINKML.bindings, domain=Element, range=Optional[Union[Union[dict, "EnumBinding"], List[Union[dict, "EnumBinding"]]]]) + +slots.binds_value_of = Slot(uri=LINKML.binds_value_of, name="binds_value_of", curie=LINKML.curie('binds_value_of'), + model_uri=LINKML.binds_value_of, domain=EnumBinding, range=Optional[str]) + +slots.obligation_level = Slot(uri=LINKML.obligation_level, name="obligation_level", curie=LINKML.curie('obligation_level'), + model_uri=LINKML.obligation_level, domain=None, range=Optional[Union[str, "ObligationLevelEnum"]]) + +slots.type_mappings = Slot(uri=LINKML.type_mappings, name="type_mappings", curie=LINKML.curie('type_mappings'), + model_uri=LINKML.type_mappings, domain=None, range=Optional[Union[Union[str, TypeMappingFramework], List[Union[str, TypeMappingFramework]]]]) + +slots.framework_key = Slot(uri=LINKML.framework, name="framework_key", curie=LINKML.curie('framework'), + model_uri=LINKML.framework_key, domain=None, range=URIRef) + +slots.mapped_type = Slot(uri=LINKML.type, name="mapped_type", curie=LINKML.curie('type'), + model_uri=LINKML.mapped_type, domain=None, range=Optional[Union[str, TypeDefinitionName]]) + slots.typeof = Slot(uri=LINKML.typeof, name="typeof", curie=LINKML.curie('typeof'), model_uri=LINKML.typeof, domain=TypeDefinition, range=Optional[Union[str, TypeDefinitionName]]) @@ -4689,20 +5223,23 @@ class slots: model_uri=LINKML.schema_definition_name, domain=SchemaDefinition, range=Union[str, SchemaDefinitionName]) slots.type_expression_any_of = Slot(uri=LINKML.any_of, name="type_expression_any_of", curie=LINKML.curie('any_of'), - model_uri=LINKML.type_expression_any_of, domain=None, range=Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]]) + model_uri=LINKML.type_expression_any_of, domain=None, range=Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]]) slots.type_expression_all_of = Slot(uri=LINKML.all_of, name="type_expression_all_of", curie=LINKML.curie('all_of'), - model_uri=LINKML.type_expression_all_of, domain=None, range=Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]]) + model_uri=LINKML.type_expression_all_of, domain=None, range=Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]]) slots.type_expression_exactly_one_of = Slot(uri=LINKML.exactly_one_of, name="type_expression_exactly_one_of", curie=LINKML.curie('exactly_one_of'), - model_uri=LINKML.type_expression_exactly_one_of, domain=None, range=Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]]) + model_uri=LINKML.type_expression_exactly_one_of, domain=None, range=Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]]) slots.type_expression_none_of = Slot(uri=LINKML.none_of, name="type_expression_none_of", curie=LINKML.curie('none_of'), - model_uri=LINKML.type_expression_none_of, domain=None, range=Optional[Union[Union[dict, "AnonymousTypeExpression"], List[Union[dict, "AnonymousTypeExpression"]]]]) + model_uri=LINKML.type_expression_none_of, domain=None, range=Optional[Union[Union[dict, AnonymousTypeExpression], List[Union[dict, AnonymousTypeExpression]]]]) slots.type_definition_union_of = Slot(uri=LINKML.union_of, name="type_definition_union_of", curie=LINKML.curie('union_of'), model_uri=LINKML.type_definition_union_of, domain=TypeDefinition, range=Optional[Union[Union[str, TypeDefinitionName], List[Union[str, TypeDefinitionName]]]]) +slots.enum_binding_range = Slot(uri=LINKML.range, name="enum_binding_range", curie=LINKML.curie('range'), + model_uri=LINKML.enum_binding_range, domain=EnumBinding, range=Optional[Union[str, EnumDefinitionName]]) + slots.structured_alias_categories = Slot(uri=DCTERMS.subject, name="structured_alias_categories", curie=DCTERMS.curie('subject'), model_uri=LINKML.structured_alias_categories, domain=StructuredAlias, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) diff --git a/linkml_model/model/schema/meta.yaml b/linkml_model/model/schema/meta.yaml index 01abb135..1b8d6e62 100644 --- a/linkml_model/model/schema/meta.yaml +++ b/linkml_model/model/schema/meta.yaml @@ -1363,7 +1363,6 @@ slots: forbid all additional data (default) - `range_expression: ...` - allow additional data if it matches the slot expression (see examples) domain: class_definition - ifabsent: false range: extra_slots_expression in_subset: - SpecificationSubset @@ -1444,7 +1443,6 @@ slots: - value domain domain: slot_definition range: element - ifabsent: default_range inherited: true comments: - range is underspecified, as not all elements can appear as the range of a slot. @@ -1472,7 +1470,6 @@ slots: - public ID domain: slot_definition range: uriorcurie - ifabsent: slot_curie 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. comments: diff --git a/linkml_model/owl/meta.owl.ttl b/linkml_model/owl/meta.owl.ttl index 7e7e1261..214a0f35 100644 --- a/linkml_model/owl/meta.owl.ttl +++ b/linkml_model/owl/meta.owl.ttl @@ -146,43 +146,52 @@ linkml:ClassRule a owl:Class, linkml:ClassDefinition ; rdfs:label "class_rule" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:bidirectional ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:preconditions ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; 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 ], + owl:onProperty linkml:bidirectional ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; 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 ], + owl:onProperty linkml:open_world ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:bidirectional ], + owl:minCardinality 0 ; + owl:onProperty linkml:deactivated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:postconditions ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:rank ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:deactivated ], + owl:onProperty linkml:postconditions ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:rank ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:open_world ], + owl:minCardinality 0 ; + owl:onProperty linkml:postconditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:postconditions ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:bidirectional ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty linkml:preconditions ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; @@ -190,23 +199,14 @@ linkml:ClassRule a owl:Class, [ 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 ], + owl:onProperty linkml:rank ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:bidirectional ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:rank ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:minCardinality 0 ; owl:onProperty linkml:preconditions ], linkml:Annotatable, linkml:ClassLevelRule, @@ -223,40 +223,40 @@ linkml:DimensionExpression a owl:Class, rdfs:label "dimension_expression" ; bibo:status ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:alias ], + [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:minimum_cardinality ], + owl:maxCardinality 1 ; + owl:onProperty linkml:exact_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 ], + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:exact_cardinality ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:alias ], + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:alias ], + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:minimum_cardinality ], + owl:minCardinality 0 ; + owl:onProperty linkml:alias ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:minimum_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:alias ], linkml:Annotatable, linkml:CommonMetadata, @@ -264,6 +264,59 @@ linkml:DimensionExpression a owl:Class, skos:definition "defines one of the dimensions of an array" ; skos:inScheme linkml:meta . +linkml:ExtraSlotsExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "extra_slots_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:allowed ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:allowed ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:allowed ], + linkml:Expression ; + skos:definition """An expression that defines how to handle additional data in an instance of class +beyond the slots/attributes defined for that class. +See `extra_slots` for usage examples. +""" ; + skos:inScheme linkml:meta . + + a owl:Class, + linkml:ObligationLevelEnum ; + rdfs:label "DISCOURAGED" ; + rdfs:subClassOf linkml:ObligationLevelEnum . + + a owl:Class, + linkml:ObligationLevelEnum ; + rdfs:label "EXAMPLE" ; + rdfs:subClassOf linkml:ObligationLevelEnum . + + a owl:Class, + linkml:ObligationLevelEnum ; + rdfs:label "OPTIONAL" ; + rdfs:subClassOf linkml:ObligationLevelEnum . + + a owl:Class, + linkml:ObligationLevelEnum ; + rdfs:label "RECOMMENDED" ; + rdfs:subClassOf linkml:ObligationLevelEnum . + + a owl:Class, + linkml:ObligationLevelEnum ; + rdfs:label "REQUIRED" ; + rdfs:subClassOf linkml:ObligationLevelEnum . + a owl:Class, linkml:PresenceEnum ; rdfs:label "ABSENT" ; @@ -319,122 +372,168 @@ linkml:TypeExpression a owl:Class, rdfs:label "type_expression" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Anything ; owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:exactly_one_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; - owl:allValuesFrom linkml:UnitOfMeasure ; + owl:maxCardinality 1 ; owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:pattern ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:pattern ], + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:maxCardinality 1 ; + owl:onProperty linkml:minimum_value ], [ 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 ], + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:pattern ], + owl:maxCardinality 1 ; + owl:onProperty linkml:none_of ], [ 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:allValuesFrom linkml:String ; + owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UnitOfMeasure ; + owl:onProperty linkml:unit ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:equals_string ], [ 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 ], + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:minimum_value ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Anything ; - owl:onProperty linkml:maximum_value ], + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:structured_pattern ], + owl:minCardinality 0 ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:none_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:allValuesFrom linkml:Anything ; owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:unit ], + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:equals_string_in ], + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:maximum_value ], + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:unit ], + owl:onProperty linkml:pattern ], linkml:Expression ; skos:definition "An abstract class grouping named types and anonymous type expressions" ; skos:inScheme linkml:meta . +linkml:TypeMapping a owl:Class, + linkml:ClassDefinition ; + rdfs:label "type_mapping" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:mapped_type ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:string_serialization ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:mapped_type ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:string_serialization ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:framework_key ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:framework_key ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty linkml:framework_key ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:mapped_type ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:string_serialization ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "Represents how a slot or type can be serialized to a format." ; + skos:inScheme linkml:meta ; + sh:order 21 . + +linkml:alias_contexts a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "alias_contexts" ; + rdfs:domain linkml:StructuredAlias ; + rdfs:range linkml:Uri ; + skos:definition "The context in which an alias should be applied" ; + skos:inScheme linkml:meta ; + skos:prefLabel "contexts" . + linkml:alt_descriptions a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "alt_descriptions" ; @@ -627,14 +726,6 @@ linkml:inherits a owl:ObjectProperty, 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:inScheme linkml:meta . - linkml:keywords a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "keywords" ; @@ -811,6 +902,13 @@ linkml:todos a owl:ObjectProperty, skos:definition "Outstanding issues that needs resolution" ; skos:inScheme linkml:meta . +linkml:type_mappings a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "type_mappings" ; + rdfs:range linkml:TypeMapping ; + skos:definition "A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks" ; + skos:inScheme linkml:meta . + linkml:types a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "types" ; @@ -856,46 +954,46 @@ linkml:ClassExpression a owl:Class, 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 ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:all_of ], + owl:onProperty linkml:slot_conditions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:all_of ], + 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:onProperty linkml:all_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], + owl:minCardinality 0 ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:any_of ] ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:exactly_one_of ] ; skos:definition "A boolean expression that can be used to dynamically determine membership of a class" ; skos:inScheme linkml:meta . @@ -903,23 +1001,23 @@ 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:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; 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 ] ; + 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." ; skos:inScheme linkml:meta . @@ -969,6 +1067,13 @@ linkml:all_members a owl:ObjectProperty, skos:definition "the value of the slot is multivalued with all members satisfying the condition" ; skos:inScheme linkml:meta . +linkml:allowed a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "allowed" ; + rdfs:range linkml:Boolean ; + skos:definition "Whether or not something is allowed. Usage defined by context." ; + skos:inScheme linkml:meta . + linkml:alt_description_source a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "alt_description_source" ; @@ -1024,6 +1129,14 @@ linkml:bidirectional a owl:ObjectProperty, skos:definition "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ; skos:inScheme linkml:meta . +linkml:binds_value_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "binds_value_of" ; + rdfs:domain linkml:EnumBinding ; + rdfs:range linkml:String ; + skos:definition "A path to a slot that is being bound to a permissible value from an enumeration." ; + skos:inScheme linkml:meta . + linkml:code_set a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "code_set" ; @@ -1226,7 +1339,24 @@ linkml:extension_value a owl:ObjectProperty, rdfs:range linkml:AnyValue ; skos:definition "the actual annotation" ; skos:inScheme linkml:extensions ; - skos:prefLabel "value" . + skos:prefLabel "value" ; + linkml:simple_dict_value true . + +linkml:extra_slots a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "extra_slots" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:ExtraSlotsExpression ; + skos:definition """How a class instance handles extra data not specified in the class definition. +Note that this does *not* define the constraints that are placed on additional slots defined by inheriting classes. + +Possible values: +- `allowed: true` - allow all additional data +- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - + forbid all additional data (default) +- `range_expression: ...` - allow additional data if it matches the slot expression (see examples) +""" ; + skos:inScheme linkml:meta . linkml:followed_by a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1235,6 +1365,14 @@ linkml:followed_by a owl:ObjectProperty, skos:definition "in a sequential list, this indicates the next member" ; skos:inScheme linkml:meta . +linkml:framework_key a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "framework_key" ; + rdfs:range linkml:String ; + skos:definition "The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced" ; + skos:inScheme linkml:meta ; + skos:prefLabel "framework" . + linkml:from_schema a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "from_schema" ; @@ -1252,15 +1390,6 @@ linkml:generation_date a owl:ObjectProperty, skos:definition "date and time that the schema was loaded/generated" ; skos:inScheme linkml:meta . -linkml:has_extra_dimensions a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "has_extra_dimensions" ; - bibo:status ; - rdfs:domain linkml:ArrayExpression ; - rdfs:range linkml:Boolean ; - skos:definition "If this is set to true" ; - skos:inScheme linkml:meta . - linkml:has_member a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "has_member" ; @@ -1329,7 +1458,7 @@ linkml:ifabsent a owl:ObjectProperty, 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: + skos:definition """function that provides a default value for the slot. * [Tt]rue -- boolean True * [Ff]alse -- boolean False * bnode -- blank node identifier @@ -1340,15 +1469,8 @@ linkml:ifabsent a owl:ObjectProperty, * 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:implements a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "implements" ; - 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." ; + * string(value) -- string value + * EnumName(PermissibleValue) -- enum value""" ; skos:inScheme linkml:meta . linkml:import_as a owl:ObjectProperty, @@ -1571,6 +1693,14 @@ linkml:locally_reflexive a owl:ObjectProperty, 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:mapped_type a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "mapped_type" ; + rdfs:range linkml:TypeDefinition ; + skos:definition "type to coerce to" ; + skos:inScheme linkml:meta ; + skos:prefLabel "type" . + linkml:matches a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "matches" ; @@ -1646,6 +1776,13 @@ linkml:multivalued a owl:ObjectProperty, skos:inScheme linkml:meta ; sh:order 7 . +linkml:obligation_level a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "obligation_level" ; + rdfs:range linkml:ObligationLevelEnum ; + skos:definition "The level of obligation or recommendation strength for a metadata element" ; + skos:inScheme linkml:meta . + linkml:open_world a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "open_world" ; @@ -1721,35 +1858,6 @@ linkml:prefix_reference a owl:ObjectProperty, 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" ; @@ -1948,18 +2056,6 @@ linkml:status a owl:ObjectProperty, 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" ; @@ -2119,7 +2215,7 @@ linkml:value_presence a owl:ObjectProperty, 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:definition "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT 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" . @@ -2135,23 +2231,23 @@ linkml:AltDescription a owl:Class, linkml:ClassDefinition ; rdfs:label "alt_description" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:alt_description_source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty linkml:alt_description_source ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:alt_description_text ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty linkml:alt_description_source ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:alt_description_text ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:alt_description_text ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty linkml:alt_description_source ] ; + owl:onProperty linkml:alt_description_text ] ; skos:altLabel "structured description" ; skos:definition "an attributed description" ; skos:inScheme linkml:meta . @@ -2170,31 +2266,76 @@ linkml:AnonymousTypeExpression a owl:Class, skos:definition "A type expression that is not a top-level named type definition. Used for nesting." ; skos:inScheme linkml:meta . +linkml:EnumBinding a owl:Class, + linkml:ClassDefinition ; + rdfs:label "enum_binding" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:binds_value_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:range ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:binds_value_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:pv_formula ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PvFormulaOptions ; + owl:onProperty linkml:pv_formula ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:obligation_level ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:binds_value_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ObligationLevelEnum ; + owl:onProperty linkml:obligation_level ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:range ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:pv_formula ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:range ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:obligation_level ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "A binding of a slot or a class to a permissible value from an enumeration." ; + 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:Setting ; owl:onProperty linkml:import_map ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:import_from ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:import_from ], [ a owl:Restriction ; owl:allValuesFrom linkml:Ncname ; owl:onProperty linkml:import_as ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:import_as ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:import_from ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:import_from ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:import_from ], + owl:minCardinality 0 ; + owl:onProperty linkml:import_as ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:import_map ], @@ -2209,10 +2350,13 @@ linkml:LocalName a owl:Class, rdfs:label "local_name" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:local_name_source ], + owl:onProperty linkml:local_name_value ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:local_name_value ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty linkml:local_name_source ], [ a owl:Restriction ; owl:allValuesFrom linkml:Ncname ; owl:onProperty linkml:local_name_source ], @@ -2221,9 +2365,6 @@ linkml:LocalName a owl:Class, owl:onProperty linkml:local_name_value ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:local_name_value ], - [ a owl:Restriction ; - owl:minCardinality 1 ; owl:onProperty linkml:local_name_source ] ; skos:definition "an attributed label" ; skos:inScheme linkml:meta . @@ -2232,23 +2373,23 @@ linkml:Prefix a owl:Class, linkml:ClassDefinition ; rdfs:label "prefix" ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 1 ; + owl:maxCardinality 1 ; owl:onProperty linkml:prefix_reference ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty linkml:prefix_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uri ; owl:onProperty linkml:prefix_reference ], [ a owl:Restriction ; owl:allValuesFrom linkml:Ncname ; owl:onProperty linkml:prefix_prefix ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:prefix_prefix ], [ a owl:Restriction ; owl:minCardinality 1 ; - owl:onProperty linkml:prefix_prefix ], + owl:onProperty linkml:prefix_reference ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uri ; - owl:onProperty linkml:prefix_reference ] ; + owl:minCardinality 1 ; + owl:onProperty linkml:prefix_prefix ] ; skos:definition "prefix URI tuple" ; skos:inScheme linkml:meta ; sh:order 12 . @@ -2257,282 +2398,271 @@ 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:minCardinality 0 ; - owl:onProperty linkml:implicit_prefix ], + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:minimum_cardinality ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:enum_range ], + owl:allValuesFrom linkml:EnumBinding ; + owl:onProperty linkml:bindings ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:pattern ], + owl:allValuesFrom linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:recommended ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:required ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:any_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:value_presence ], + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:equals_expression ], + owl:onProperty linkml:unit ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:pattern ], + owl:onProperty linkml:has_member ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty linkml:multivalued ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:recommended ], + owl:onProperty linkml:required ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:inlined_as_list ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:UnitOfMeasure ; - owl:onProperty linkml:unit ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:inlined_as_list ], + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_members ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:array ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; owl:onProperty linkml:exact_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:unit ], + owl:onProperty linkml:exact_cardinality ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:inlined ], + owl:maxCardinality 1 ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:minCardinality 0 ; + owl:onProperty linkml:inlined_as_list ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumExpression ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:all_of ], + owl:onProperty linkml:array ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:allValuesFrom linkml:PresenceEnum ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:range_expression ], + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:all_members ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:minimum_cardinality ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:inlined_as_list ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UnitOfMeasure ; owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:inlined ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; owl:allValuesFrom linkml:Anything ; owl:onProperty linkml:maximum_value ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:all_members ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:required ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:maximum_cardinality ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:range ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:equals_string_in ], + owl:maxCardinality 1 ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:range_expression ], + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:required ], + owl:allValuesFrom linkml:ArrayExpression ; + owl:onProperty linkml:array ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:range ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:minimum_value ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_members ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:maximum_value ], + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:enum_range ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:inlined ], + owl:onProperty linkml:unit ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:maxCardinality 1 ; + owl:onProperty linkml:required ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:structured_pattern ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumExpression ; - owl:onProperty linkml:enum_range ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:PresenceEnum ; - owl:onProperty linkml:value_presence ], + owl:minCardinality 0 ; + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:onProperty linkml:inlined ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:has_member ], + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Anything ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:all_of ], + owl:onProperty linkml:enum_range ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:equals_number ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; owl:allValuesFrom linkml:Element ; owl:onProperty linkml:range ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:minimum_value ], + owl:maxCardinality 1 ; + owl:onProperty linkml:structured_pattern ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:has_member ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:minimum_cardinality ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:range ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:multivalued ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:maximum_cardinality ], + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:equals_expression ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:exact_cardinality ], + owl:minCardinality 0 ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:maxCardinality 1 ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:recommended ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Anything ; - owl:onProperty linkml:minimum_value ], + owl:minCardinality 0 ; + owl:onProperty linkml:pattern ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:all_members ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:value_presence ], + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:structured_pattern ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:exact_cardinality ], [ a owl:Restriction ; owl:allValuesFrom linkml:Integer ; owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:maximum_value ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:bindings ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:required ], + owl:onProperty linkml:pattern ], [ 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:StructuredAlias a owl:Class, - linkml:ClassDefinition ; - rdfs:label "structured_alias" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:categories ], + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:alias_predicate ], + owl:onProperty linkml:multivalued ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:categories ], + owl:minCardinality 0 ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:literal_form ], + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:literal_form ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty linkml:literal_form ], + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AliasPredicateEnum ; - owl:onProperty linkml:alias_predicate ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; 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 ; + owl:onProperty linkml:minimum_cardinality ], + linkml:Expression ; + skos:definition "an expression that constrains the range of values a slot can take" ; skos:inScheme linkml:meta . linkml:SubsetDefinition a owl:Class, @@ -2543,6 +2673,17 @@ linkml:SubsetDefinition a owl:Class, skos:inScheme linkml:meta ; sh:order 6 . +linkml:bindings a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "bindings" ; + bibo:status ; + rdfs:domain linkml:Element ; + rdfs:range linkml:EnumBinding ; + skos:definition """A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration. +LinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically). +Enum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.""" ; + skos:inScheme linkml:meta . + linkml:boolean_slot a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "boolean_slot" ; @@ -2604,6 +2745,14 @@ linkml:iec61360code a owl:ObjectProperty, rdfs:label "iec61360code" ; skos:inScheme linkml:units . +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:inScheme linkml:meta . + linkml:slot_uri a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "slot_uri" ; @@ -2614,7 +2763,8 @@ linkml:slot_uri a owl:ObjectProperty, 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" ; + skos:note "Assigning slot_uris can provide additional hooks for interoperation, indicating a common conceptual model", + "To use a URI or CURIE as a range, create a class with the URI or CURIE as the class_uri" ; sh:order 2 . linkml:symbol a owl:ObjectProperty, @@ -2653,33 +2803,74 @@ linkml:Example a owl:Class, linkml:ClassDefinition ; rdfs:label "example" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:value_description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:maxCardinality 1 ; owl:onProperty linkml:value ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:value_description ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:value_object ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Anything ; - owl:onProperty linkml:value_object ], + owl:minCardinality 0 ; + owl:onProperty linkml:value ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty linkml:value_description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:value ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:value_description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Anything ; owl:onProperty linkml:value_object ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:value_object ] ; + skos:definition "usage example and description" ; + skos:inScheme linkml:meta . + +linkml:StructuredAlias a owl:Class, + linkml:ClassDefinition ; + rdfs:label "structured_alias" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:AliasPredicateEnum ; + owl:onProperty linkml:alias_predicate ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:value_description ], + owl:onProperty linkml:literal_form ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:literal_form ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:value ] ; - skos:definition "usage example and description" ; + owl:onProperty linkml:alias_predicate ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:categories ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:alias_predicate ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:alias_contexts ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty linkml:literal_form ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:alias_contexts ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:categories ], + 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:UniqueKey a owl:Class, @@ -2688,9 +2879,6 @@ linkml:UniqueKey a owl:Class, rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:consider_nulls_inequal ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:unique_key_name ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:unique_key_name ], @@ -2698,8 +2886,8 @@ linkml:UniqueKey a owl:Class, owl:minCardinality 0 ; owl:onProperty linkml:consider_nulls_inequal ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:unique_key_name ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:consider_nulls_inequal ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; owl:onProperty linkml:unique_key_slots ], @@ -2707,8 +2895,11 @@ linkml:UniqueKey a owl:Class, owl:minCardinality 1 ; owl:onProperty linkml:unique_key_slots ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:consider_nulls_inequal ], + owl:maxCardinality 1 ; + owl:onProperty linkml:unique_key_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:unique_key_name ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; @@ -2720,25 +2911,25 @@ 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:maxCardinality 1 ; owl:onProperty linkml:symbol ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:derivation ], + owl:minCardinality 0 ; + owl:onProperty linkml:exact_mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:symbol ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:abbreviation ], + owl:onProperty linkml:descriptive_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:ucum_code ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:has_quantity_kind ], + owl:onProperty linkml:exact_mappings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty linkml:abbreviation ], [ owl:unionOf ( [ a owl:Restriction ; owl:allValuesFrom linkml:String ; @@ -2749,54 +2940,54 @@ linkml:UnitOfMeasure a owl:Class, owl:onProperty linkml:symbol ] [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:exact_mappings ] ) ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:abbreviation ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:exact_mappings ], + owl:onProperty linkml:iec61360code ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:ucum_code ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:has_quantity_kind ], + owl:onProperty linkml:ucum_code ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:descriptive_name ], + owl:onProperty linkml:derivation ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:iec61360code ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:derivation ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty linkml:abbreviation ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:iec61360code ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:has_quantity_kind ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:descriptive_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:symbol ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:descriptive_name ], + owl:onProperty linkml:has_quantity_kind ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:derivation ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:descriptive_name ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:symbol ], + owl:maxCardinality 1 ; + owl:onProperty linkml:has_quantity_kind ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:iec61360code ], + owl:onProperty linkml:descriptive_name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:exact_mappings ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:ucum_code ] ; + owl:onProperty linkml:has_quantity_kind ] ; 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 . @@ -2820,18 +3011,64 @@ linkml:exact_mappings a owl:ObjectProperty, skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ; skos:inScheme linkml:mappings . -linkml:Extension a owl:Class, +linkml:implements a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "implements" ; + 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:inScheme linkml:meta . + +linkml:ArrayExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "extension" ; + rdfs:label "array_expression" ; + bibo:status ; rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:extension_value ], + owl:onProperty linkml:maximum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:maximum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml: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:maxCardinality 1 ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:exact_number_dimensions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exact_number_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:minimum_number_dimensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:exact_number_dimensions ], [ a owl:Restriction ; + owl:allValuesFrom linkml:DimensionExpression ; + owl:onProperty linkml:dimensions ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:definition "defines the dimensions of an array" ; + skos:inScheme linkml:meta . + +linkml:Extension a owl:Class, + linkml:ClassDefinition ; + rdfs:label "extension" ; + rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:extension_tag ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnyValue ; - owl:onProperty linkml:extension_value ], [ a owl:Restriction ; owl:allValuesFrom linkml:Extension ; owl:onProperty linkml:extensions ], @@ -2841,12 +3078,18 @@ linkml:Extension a owl:Class, [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:extension_tag ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnyValue ; + owl:onProperty linkml:extension_value ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:extension_value ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:extensions ] ; + owl:onProperty linkml:extensions ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:extension_value ] ; skos:definition "a tag/value pair used to add non-model information to an entry" ; skos:inScheme linkml:extensions . @@ -2854,32 +3097,32 @@ 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:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty linkml:partial_match ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:minCardinality 0 ; owl:onProperty linkml:partial_match ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:interpolated ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:syntax ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:interpolated ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:syntax ], + owl:onProperty linkml:interpolated ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:partial_match ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:syntax ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:partial_match ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:interpolated ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:syntax ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; @@ -2890,59 +3133,71 @@ linkml:PermissibleValue a owl:Class, linkml:ClassDefinition ; rdfs:label "permissible_value" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:description ], - [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:description ], + owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:meaning ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:instantiates ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:unit ], + owl:onProperty linkml:text ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; + owl:maxCardinality 1 ; owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:meaning ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:text ], + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:meaning ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:is_a ], + owl:onProperty linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:implements ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:is_a ], + owl:onProperty linkml:description ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:instantiates ], [ a owl:Restriction ; owl:minCardinality 1 ; owl:onProperty linkml:text ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:description ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:meaning ], + owl:minCardinality 0 ; + owl:onProperty linkml:implements ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:text ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; owl:onProperty linkml:unit ], [ a owl:Restriction ; owl:allValuesFrom linkml:UnitOfMeasure ; owl:onProperty linkml:unit ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:text ], [ a owl:Restriction ; owl:allValuesFrom linkml:PermissibleValue ; owl:onProperty linkml:mixins ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible ; + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:unit ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:meaning ], + 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" ; @@ -2954,15 +3209,15 @@ linkml:Setting a owl:Class, rdfs:label "setting" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:setting_value ], + owl:onProperty linkml:setting_key ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:setting_value ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:setting_key ], [ a owl:Restriction ; owl:maxCardinality 1 ; + owl:onProperty linkml:setting_value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Ncname ; owl:onProperty linkml:setting_key ], [ a owl:Restriction ; owl:minCardinality 1 ; @@ -3107,15 +3362,34 @@ linkml:pattern a owl:ObjectProperty, skos:inScheme linkml:meta ; sh:order 35 . -linkml:range_expression a owl:ObjectProperty, +linkml:pv_formula a owl:ObjectProperty, linkml:SlotDefinition ; - 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" ; + rdfs:label "pv_formula" ; + rdfs:range linkml:PvFormulaOptions ; + skos:definition "Defines the specific formula to be used to generate the permissible values." ; 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: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.", + "to use a URI or CURIE as the range, create a class with the URI or curie as the class_uri" . linkml:rank a owl:ObjectProperty, linkml:SlotDefinition ; @@ -3159,6 +3433,18 @@ linkml:source_ontology a owl:ObjectProperty, 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" . +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:structured_pattern a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "structured_pattern" ; @@ -3177,74 +3463,33 @@ linkml:union_of a owl:ObjectProperty, skos:editorialNote "this only applies in the OWL generation" ; skos:inScheme linkml:meta . -linkml:ArrayExpression a owl:Class, +linkml:PathExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "array_expression" ; - bibo:status ; + rdfs:label "path_expression" ; 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 ], + owl:onProperty linkml:followed_by ], [ 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 ], + owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:maximum_number_dimensions ], + owl:onProperty linkml:traverse ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:minimum_number_dimensions ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; - owl:allValuesFrom [ owl:intersectionOf ( [ a rdfs:Datatype ; - owl:unionOf ( linkml:Integer linkml:Boolean ) ] linkml:Anything ) ] ; - owl:onProperty linkml:maximum_number_dimensions ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:traverse ], [ 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 ], + owl:onProperty linkml:traverse ], [ a owl:Restriction ; owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:followed_by ], + 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:all_of ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:range_expression ], @@ -3253,58 +3498,46 @@ linkml:PathExpression a owl:Class, 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 ], + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:reversed ], + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:traverse ], + owl:onProperty linkml:all_of ], [ 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 ], + owl:onProperty linkml:range_expression ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:reversed ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:range_expression ], + owl:onProperty linkml:followed_by ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:all_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 ], + owl:onProperty linkml:followed_by ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:traverse ], + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:exactly_one_of ], linkml:Annotatable, linkml:CommonMetadata, linkml:Expression, @@ -3316,49 +3549,49 @@ 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 ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_direct ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:traverse_up ], + owl:maxCardinality 1 ; + owl:onProperty linkml:include_self ], [ 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:maxCardinality 1 ; owl:onProperty linkml:is_direct ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:traverse_up ], + owl:minCardinality 0 ; + owl:onProperty linkml:source_ontology ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:relationship_types ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:relationship_types ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:include_self ], + owl:onProperty linkml:traverse_up ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:source_ontology ], + owl:onProperty linkml:is_direct ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:include_self ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:include_self ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:is_direct ], + owl:onProperty linkml:source_nodes ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:source_ontology ], + owl:minCardinality 0 ; + owl:onProperty linkml:traverse_up ], [ 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 ; @@ -3392,7 +3625,6 @@ linkml:PresenceEnum a owl:Class, linkml:mixins a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "mixins" ; - rdfs:domain linkml:Definition ; rdfs:range linkml:Definition ; rdfs:seeAlso ; skos:altLabel "traits" ; @@ -3401,6 +3633,37 @@ linkml:mixins a owl:ObjectProperty, 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:range_expression a owl:ObjectProperty, + linkml:SlotDefinition ; + 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" . + +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:EnumDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "enum_definition" ; @@ -3408,10 +3671,10 @@ linkml:EnumDefinition a owl:Class, owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:enum_uri ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty linkml:enum_uri ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:enum_uri ], linkml:Definition, linkml:EnumExpression ; @@ -3433,96 +3696,140 @@ linkml:EnumDefinition a owl:Class, skos:inScheme linkml:meta ; sh:order 5 . -linkml:unit a owl:ObjectProperty, +linkml:extensions a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "unit" ; - rdfs:range linkml:UnitOfMeasure ; - skos:definition "an encoding of a unit" ; - skos:inScheme linkml:units . + 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: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 ; +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:ObligationLevelEnum 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 . + +linkml:exactly_one_of a owl:ObjectProperty, + linkml:SlotDefinition ; + 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: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: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:Uriorcurie ; - owl:onProperty linkml:created_by ], + owl:minCardinality 0 ; + owl:onProperty linkml:created_on ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:in_language ], + owl:onProperty linkml:modified_by ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:source ], + owl:minCardinality 0 ; + owl:onProperty linkml:last_updated_on ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:title ], + owl:onProperty linkml:categories ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:keywords ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uri ; - owl:onProperty linkml:from_schema ], + owl:minCardinality 0 ; + owl:onProperty linkml:in_subset ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:minCardinality 0 ; + owl:onProperty linkml:broad_mappings ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; 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 ], + owl:maxCardinality 1 ; + owl:onProperty linkml:rank ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onProperty linkml:source ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:aliases ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:title ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:see_also ], + owl:onProperty linkml:rank ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:contributors ], + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:narrow_mappings ], + owl:onProperty linkml:contributors ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:deprecated ], + owl:onProperty linkml:narrow_mappings ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:related_mappings ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:status ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:see_also ], + owl:onProperty linkml:aliases ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:created_on ], @@ -3530,197 +3837,215 @@ linkml:CommonMetadata a owl:Class, owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:modified_by ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:broad_mappings ], + owl:maxCardinality 1 ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:in_language ], + owl:onProperty linkml:see_also ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:keywords ], + owl:onProperty linkml:notes ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:title ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:in_language ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:categories ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:broad_mappings ], + owl:onProperty linkml:related_mappings ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:exact_mappings ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:narrow_mappings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:in_language ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:description ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:comments ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:modified_by ], + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:in_subset ], + owl:onProperty linkml:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:description ], + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:contributors ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:comments ], + owl:onProperty linkml:see_also ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:notes ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:status ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:from_schema ], + owl:onProperty linkml:in_language ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:todos ], + owl:onProperty linkml:contributors ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:rank ], + owl:minCardinality 0 ; + owl:onProperty linkml:structured_aliases ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:categories ], [ a owl:Restriction ; owl:allValuesFrom linkml:SubsetDefinition ; owl:onProperty linkml:in_subset ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:last_updated_on ], + owl:onProperty linkml:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Datetime ; - owl:onProperty linkml:last_updated_on ], + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:rank ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:modified_by ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:from_schema ], [ a owl:Restriction ; owl:allValuesFrom linkml:Datetime ; owl:onProperty linkml:created_on ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:broad_mappings ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:from_schema ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:description ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Datetime ; owl:onProperty linkml:last_updated_on ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:related_mappings ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:status ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:from_schema ], [ a owl:Restriction ; owl:allValuesFrom linkml:StructuredAlias ; owl:onProperty linkml:structured_aliases ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:exact_mappings ], + owl:onProperty linkml:created_by ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:close_mappings ], + owl:onProperty linkml:comments ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:status ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:comments ], + owl:minCardinality 0 ; + owl:onProperty linkml:in_language ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:mappings ], + owl:onProperty linkml:exact_mappings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:minCardinality 0 ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:title ], + owl:minCardinality 0 ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:created_by ], + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:deprecated ], + owl:maxCardinality 1 ; + owl:onProperty linkml:title ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:rank ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:close_mappings ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:description ], + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:notes ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:structured_aliases ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:narrow_mappings ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:created_on ], + owl:onProperty linkml:aliases ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:modified_by ], + owl:onProperty linkml:close_mappings ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:aliases ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:status ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:rank ], + owl:onProperty linkml:description ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:keywords ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:source ], + owl:onProperty linkml:notes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:source ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:from_schema ], + owl:maxCardinality 1 ; + owl:onProperty linkml:created_by ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:onProperty linkml:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:close_mappings ], + owl:onProperty linkml:created_by ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:created_by ] ; + owl:maxCardinality 1 ; + owl:onProperty linkml:last_updated_on ] ; skos:definition "Generic metadata shared across definitions" ; skos:inScheme linkml:meta . +linkml:Expression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "expression" ; + skos:definition "general mixin for any class that can represent some form of expression" ; + skos:inScheme linkml:meta . + +linkml:PvFormulaOptions a owl:Class, + linkml:EnumDefinition ; + owl:unionOf ( ) ; + linkml:permissible_values , + , + , + , + . + 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:maxCardinality 1 ; - owl:onProperty linkml:repr ], + owl:onProperty linkml:typeof ], [ a owl:Restriction ; 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:repr ], + owl:onProperty linkml:union_of ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:base ], @@ -3729,249 +4054,158 @@ linkml:TypeDefinition a owl:Class, owl:onProperty linkml:union_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:type_uri ], + owl:onProperty linkml:base ], [ a owl:Restriction ; - owl:allValuesFrom linkml:TypeDefinition ; - owl:onProperty linkml:typeof ], + owl:maxCardinality 1 ; + owl:onProperty linkml:repr ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:base ], + owl:maxCardinality 1 ; + owl:onProperty linkml:type_uri ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:type_uri ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:repr ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:typeof ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:base ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:TypeDefinition ; 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 ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:repr ], 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: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 "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 . - -linkml:exactly_one_of a owl:ObjectProperty, - linkml:SlotDefinition ; - 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: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 "annotatable" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ] ; - skos:definition "mixin for classes that support annotations" ; - skos:inScheme linkml:annotations . - -linkml:AnonymousClassExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "anonymous_class_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:is_a ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:is_a ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; - owl:onProperty linkml:is_a ], - linkml:AnonymousExpression, - linkml:ClassExpression ; - skos:inScheme linkml:meta . - linkml:EnumExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "enum_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:MatchQuery ; - owl:onProperty linkml:matches ], + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:minus ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:reachable_from ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:permissible_values ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:matches ], + owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:inherits ], + owl:minCardinality 0 ; + owl:onProperty linkml:concepts ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:permissible_values ], + owl:minCardinality 0 ; + owl:onProperty linkml:minus ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:include ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:code_set ], + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:code_set ], + owl:onProperty linkml:permissible_values ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:code_set_version ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:matches ], + owl:onProperty linkml:code_set ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:permissible_values ], + owl:onProperty linkml:include ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:reachable_from ], + owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:code_set_tag ], + owl:onProperty linkml:inherits ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:code_set_tag ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:pv_formula ], + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:code_set_version ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:MatchQuery ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:code_set ], + owl:onProperty linkml:concepts ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:include ], + owl:onProperty linkml:code_set_version ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:inherits ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; owl:allValuesFrom linkml:ReachabilityQuery ; owl:onProperty linkml:reachable_from ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:code_set_tag ], [ a owl:Restriction ; owl:allValuesFrom linkml:PvFormulaOptions ; owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:concepts ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:include ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousEnumExpression ; - owl:onProperty linkml:minus ], + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:inherits ], + owl:maxCardinality 1 ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:minus ], + owl:onProperty linkml:code_set ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:concepts ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:code_set_version ], + owl:onProperty linkml:code_set ], linkml:Expression ; skos:definition "An expression that constrains the range of a slot" ; 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:Annotatable a owl:Class, + linkml:ClassDefinition ; + rdfs:label "annotatable" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ] ; + skos:definition "mixin for classes that support annotations" ; + skos:inScheme linkml:annotations . + 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 ; @@ -3988,6 +4222,22 @@ linkml:mappings a owl:ObjectProperty, 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:AnonymousClassExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_class_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], + linkml:AnonymousExpression, + linkml:ClassExpression ; + skos:inScheme linkml:meta . + linkml:SchemaDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "schema_definition" ; @@ -3996,170 +4246,176 @@ linkml:SchemaDefinition a owl:Class, owl:allValuesFrom linkml:Datetime ; owl:onProperty linkml:generation_date ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:generation_date ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:classes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty linkml:subsets ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:license ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:slot_names_unique ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:slot_names_unique ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:default_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:types ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:settings ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:imports ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:default_prefix ], + owl:onProperty linkml:source_file ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:source_file_date ], + owl:onProperty linkml:types ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:slot_names_unique ], + owl:onProperty linkml:prefixes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uri ; - owl:onProperty linkml:id ], + owl:allValuesFrom linkml:Prefix ; + owl:onProperty linkml:prefixes ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:metamodel_version ], + owl:onProperty linkml:enums ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:slot_definitions ], + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:enums ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:source_file ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:source_file_size ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:classes ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:license ], + owl:minCardinality 0 ; + owl:onProperty linkml:default_curi_maps ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Integer ; + owl:onProperty linkml:source_file_size ], [ a owl:Restriction ; owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:emit_prefixes ], + owl:onProperty linkml:name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:imports ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty linkml:subsets ], + [ a owl:Restriction ; + owl:minCardinality 1 ; + owl:onProperty linkml:name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Setting ; + owl:onProperty linkml:settings ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:enums ], + owl:onProperty linkml:slot_definitions ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:metamodel_version ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:source_file ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:name ], + owl:onProperty linkml:bindings ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:version ], + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Integer ; - owl:onProperty linkml:source_file_size ], + owl:allValuesFrom linkml:Datetime ; + owl:onProperty linkml:source_file_date ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:emit_prefixes ], [ a owl:Restriction ; owl:allValuesFrom linkml:TypeDefinition ; owl:onProperty linkml:default_range ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:name ], + owl:onProperty linkml:id ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:prefixes ], + owl:onProperty linkml:subsets ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Setting ; - owl:onProperty linkml:settings ], + owl:minCardinality 1 ; + owl:onProperty linkml:id ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:metamodel_version ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:default_range ], + owl:onProperty linkml:default_curi_maps ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:emit_prefixes ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Datetime ; - owl:onProperty linkml:source_file_date ], + owl:onProperty linkml:imports ], [ a owl:Restriction ; - owl:allValuesFrom linkml:TypeDefinition ; - owl:onProperty linkml:types ], + owl:maxCardinality 1 ; + owl:onProperty linkml:version ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:settings ], + owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:types ], + owl:allValuesFrom linkml:EnumBinding ; + owl:onProperty linkml:bindings ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:version ], - [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty linkml:name ], + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:source_file ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:license ], + owl:onProperty linkml:generation_date ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:source_file_size ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:enums ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:classes ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:default_prefix ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:default_curi_maps ], + owl:onProperty linkml:source_file ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:default_curi_maps ], + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:source_file ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_definitions ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:default_prefix ], [ a owl:Restriction ; - owl:minCardinality 1 ; - owl:onProperty linkml:id ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:version ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:generation_date ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:default_range ], + owl:minCardinality 0 ; + owl:onProperty linkml:version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; + owl:minCardinality 0 ; owl:onProperty linkml:license ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:default_prefix ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:subsets ], + owl:onProperty linkml:default_range ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_definitions ], + owl:minCardinality 0 ; + owl:onProperty linkml:emit_prefixes ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:slot_names_unique ], + owl:onProperty linkml:license ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:version ], + owl:onProperty linkml:default_range ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Prefix ; - owl:onProperty linkml:prefixes ], + owl:allValuesFrom linkml:Uri ; + owl:onProperty linkml:id ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:classes ], linkml:Element ; skos:altLabel "data dictionary", "data model", @@ -4178,59 +4434,59 @@ linkml:Definition a owl:Class, rdfs:label "definition" ; rdfs:seeAlso ; rdfs:subClassOf [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:mixin ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:string_serialization ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; - owl:onProperty linkml:is_a ], - [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:mixin ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:string_serialization ], + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:values_from ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:string_serialization ], + [ a owl:Restriction ; + owl:minCardinality 0 ; owl:onProperty linkml:abstract ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:string_serialization ], + owl:minCardinality 0 ; + owl:onProperty linkml:mixin ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:mixin ], [ a owl:Restriction ; owl:allValuesFrom linkml:Definition ; owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:mixins ], + owl:onProperty linkml:string_serialization ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:mixin ], + owl:maxCardinality 1 ; + owl:onProperty linkml:string_serialization ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty linkml:abstract ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:values_from ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:is_a ], + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:apply_to ], + owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:values_from ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:Boolean ; 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" ; skos:inScheme linkml:meta . @@ -4240,65 +4496,65 @@ linkml:Element a owl:Class, rdfs:label "element" ; rdfs:seeAlso ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:definition_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:definition_uri ], + [ a owl:Restriction ; 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:minCardinality 1 ; + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:id_prefixes ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:instantiates ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; owl:onProperty linkml:conforms_to ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:local_names ], + owl:onProperty linkml:implements ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:instantiates ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:id_prefixes_are_closed ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:implements ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; + owl:maxCardinality 1 ; owl:onProperty linkml:id_prefixes_are_closed ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:id_prefixes_are_closed ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:definition_uri ], + owl:onProperty linkml:instantiates ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:conforms_to ], + owl:allValuesFrom linkml:LocalName ; + owl:onProperty linkml:local_names ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:definition_uri ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:instantiates ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:id_prefixes ], + owl:minCardinality 1 ; + owl:onProperty linkml:name ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:implements ], + owl:onProperty linkml:id_prefixes_are_closed ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:conforms_to ], [ 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 linkml:name ], + owl:onProperty linkml:conforms_to ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; @@ -4312,133 +4568,142 @@ linkml:ClassDefinition a owl:Class, rdfs:label "class_definition" ; rdfs:subClassOf [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:slot_names_unique ], + owl:onProperty linkml:slots ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:tree_root ], + owl:onProperty linkml:represents_relationship ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_usage ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:class_uri ], + owl:allValuesFrom linkml:ExtraSlotsExpression ; + owl:onProperty linkml:extra_slots ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassRule ; - owl:onProperty linkml:rules ], + owl:minCardinality 0 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:apply_to ], + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:allValuesFrom linkml:UniqueKey ; - owl:onProperty linkml:unique_keys ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:attributes ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_usage ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:attributes ], + owl:onProperty linkml:subclass_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:tree_root ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:classification_rules ], + owl:minCardinality 0 ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:apply_to ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_usage ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:classification_rules ], + owl:onProperty linkml:defining_slots ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:subclass_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:rules ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:defining_slots ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:represents_relationship ], + owl:onProperty linkml:subclass_of ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:allValuesFrom linkml:SlotDefinition ; owl:onProperty linkml:slots ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:is_a ], + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:class_uri ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:attributes ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:represents_relationship ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:tree_root ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:tree_root ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:classification_rules ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:slot_names_unique ], + owl:minCardinality 0 ; + owl:onProperty linkml:extra_slots ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:slot_usage ], + owl:onProperty linkml:classification_rules ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:is_a ], + owl:maxCardinality 1 ; + owl:onProperty linkml:extra_slots ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slots ], + owl:minCardinality 0 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:defining_slots ], + owl:maxCardinality 1 ; + owl:onProperty linkml:represents_relationship ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:subclass_of ], + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:tree_root ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:represents_relationship ], + owl:onProperty linkml:class_uri ], [ 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 ], + owl:onProperty linkml:class_uri ], [ a owl:Restriction ; owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:union_of ], + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:ClassRule ; + owl:onProperty linkml:rules ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:class_uri ], + owl:onProperty linkml:attributes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; + owl:minCardinality 0 ; owl:onProperty linkml:mixins ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:is_a ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:class_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UniqueKey ; + owl:onProperty linkml:unique_keys ], [ 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 linkml:subclass_of ], + owl:onProperty linkml:tree_root ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:union_of ], + owl:onProperty linkml:rules ], linkml:ClassExpression, linkml:Definition ; skos:altLabel "message", @@ -4485,359 +4750,347 @@ 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 ], + owl:onProperty linkml:symmetric ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:mixins ], [ 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 ], + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:domain_of ], + owl:minCardinality 0 ; + owl:onProperty linkml:reflexive ], [ 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 ], + owl:onProperty linkml:slot_group ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:is_a ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:singular_name ], + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:transitive ], + owl:maxCardinality 1 ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:role ], + owl:maxCardinality 1 ; + owl:onProperty linkml:list_elements_unique ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:locally_reflexive ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:apply_to ], + owl:onProperty linkml:transitive ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:mixins ], + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:reflexive ], + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:is_usage_slot ], + owl:minCardinality 0 ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:minCardinality 0 ; owl:onProperty linkml:shared ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:symmetric ], + owl:onProperty linkml:is_class_field ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:list_elements_ordered ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:designates_type ], + owl:minCardinality 0 ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:designates_type ], + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:asymmetric ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:is_a ], + owl:onProperty linkml:owner ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:inverse ], + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:identifier ], + owl:maxCardinality 1 ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:is_class_field ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:usage_slot_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:disjoint_with ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:readonly ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:is_usage_slot ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:asymmetric ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:irreflexive ], + [ a owl:Restriction ; + owl:maxCardinality 1 ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:union_of ], + owl:onProperty linkml:slot_group ], + [ a owl:Restriction ; + owl:minCardinality 0 ; + owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:domain ], + owl:onProperty linkml:transitive ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:readonly ], + owl:minCardinality 0 ; + owl:onProperty linkml:domain_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:alias ], + owl:minCardinality 0 ; + owl:onProperty linkml:role ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:transitive ], + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:minCardinality 0 ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:list_elements_unique ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:key ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:readonly ], + owl:onProperty linkml:shared ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:array ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:inherited ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_group ], + owl:onProperty linkml:is_class_field ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:path_rule ], + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:key ], + owl:allValuesFrom linkml:TypeMapping ; + owl:onProperty linkml:type_mappings ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:slot_group ], + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:owner ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:ifabsent ], + owl:onProperty linkml:shared ], [ a owl:Restriction ; owl:maxCardinality 1 ; owl:onProperty linkml:role ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:is_class_field ], + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:reflexive ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:locally_reflexive ], + owl:onProperty linkml:key ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:shared ], + owl:onProperty linkml:path_rule ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:designates_type ], + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:symmetric ], + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:path_rule ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:RelationalRoleEnum ; + owl:onProperty linkml:relational_role ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:asymmetric ], + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:maxCardinality 1 ; + owl:onProperty linkml:usage_slot_name ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:subproperty_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:is_grouping_slot ], + owl:onProperty linkml:list_elements_unique ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:usage_slot_name ], + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:list_elements_ordered ], + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:key ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:irreflexive ], + owl:maxCardinality 1 ; + owl:onProperty linkml:ifabsent ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:children_are_mutually_disjoint ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:domain ], + owl:onProperty linkml:mixins ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:slot_group ], + owl:onProperty linkml:relational_role ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:is_grouping_slot ], - [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:domain_of ], + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:path_rule ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:multivalued ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Boolean ; - owl:onProperty linkml:shared ], + owl:onProperty linkml:list_elements_unique ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:reflexive_transitive_form_of ], + owl:onProperty linkml:identifier ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:locally_reflexive ], + owl:onProperty linkml:inverse ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty linkml:alias ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:slot_uri ], + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; - owl:allValuesFrom linkml:RelationalRoleEnum ; - owl:onProperty linkml:relational_role ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:transitive ], + owl:minCardinality 0 ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:owner ], + owl:minCardinality 0 ; + owl:onProperty linkml:usage_slot_name ], [ a owl:Restriction ; owl:minCardinality 0 ; + owl:onProperty linkml:owner ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:reflexive_transitive_form_of ], + owl:onProperty linkml:role ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:transitive ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:relational_role ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:is_grouping_slot ], + owl:maxCardinality 1 ; + owl:onProperty linkml:asymmetric ], [ a owl:Restriction ; - owl:minCardinality 0 ; + owl:maxCardinality 1 ; owl:onProperty linkml:domain ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:designates_type ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:transitive_form_of ], + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:asymmetric ], + owl:maxCardinality 1 ; + owl:onProperty linkml:path_rule ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:owner ], + owl:maxCardinality 1 ; + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:reflexive ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:irreflexive ], + owl:onProperty linkml:ifabsent ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:reflexive_transitive_form_of ], + owl:onProperty linkml:identifier ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:list_elements_unique ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:list_elements_ordered ], + owl:onProperty linkml:type_mappings ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:identifier ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; - owl:onProperty linkml:owner ], + owl:minCardinality 0 ; + owl:onProperty linkml:asymmetric ], [ a owl:Restriction ; owl:minCardinality 0 ; owl:onProperty linkml:union_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:inherited ], + owl:onProperty linkml:transitive_form_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:inverse ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:subproperty_of ], + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:readonly ], + owl:onProperty linkml:is_class_field ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:domain_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:irreflexive ], + owl:onProperty linkml:slot_uri ], [ a owl:Restriction ; - owl:minCardinality 0 ; - owl:onProperty linkml:identifier ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:symmetric ], - [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:is_class_field ], + owl:onProperty linkml:alias ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:inherited ], + owl:onProperty linkml:readonly ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:is_a ], + owl:minCardinality 0 ; + owl:onProperty linkml:alias ], [ a owl:Restriction ; - owl:maxCardinality 1 ; - owl:onProperty linkml:array ], + owl:minCardinality 0 ; + owl:onProperty linkml:slot_group ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:children_are_mutually_disjoint ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:transitive_form_of ], + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:transitive_form_of ], + owl:onProperty linkml:readonly ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:key ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:subproperty_of ], + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:maxCardinality 1 ; + owl:allValuesFrom linkml:String ; owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ArrayExpression ; - owl:onProperty linkml:array ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:inverse ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:identifier ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:singular_name ], + owl:onProperty linkml:key ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:subproperty_of ], + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:multivalued ], + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:path_rule ], + owl:allValuesFrom linkml:Boolean ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:slot_uri ], + owl:maxCardinality 1 ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:alias ], + owl:minCardinality 0 ; + owl:onProperty linkml:list_elements_ordered ], + [ a owl:Restriction ; + owl:allValuesFrom owl:Thing ; + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:is_usage_slot ], + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:maxCardinality 1 ; - owl:onProperty linkml:inverse ], + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; owl:minCardinality 0 ; - owl:onProperty linkml:ifabsent ], + owl:onProperty linkml:inverse ], linkml:Definition, linkml:SlotExpression ; skos:altLabel "attribute", diff --git a/linkml_model/prefixmap/meta.yaml b/linkml_model/prefixmap/meta.yaml index fab7ffee..3a54aae2 100644 --- a/linkml_model/prefixmap/meta.yaml +++ b/linkml_model/prefixmap/meta.yaml @@ -28,4 +28,4 @@ "UnitOfMeasure": { "@id": "qudt:Unit" } -} +} \ No newline at end of file diff --git a/linkml_model/protobuf/meta.proto b/linkml_model/protobuf/meta.proto index 454e6ed5..2f7790cb 100644 --- a/linkml_model/protobuf/meta.proto +++ b/linkml_model/protobuf/meta.proto @@ -1,3 +1,6 @@ + syntax="proto3"; + package +// metamodel_version: 1.7.0 // an attributed description message AltDescription { @@ -111,8 +114,10 @@ message AnonymousSlotExpression element range = 0 anonymousClassExpression rangeExpression = 0 enumExpression enumRange = 0 + repeated enumBinding bindings = 0 boolean required = 8 boolean recommended = 9 + boolean multivalued = 7 boolean inlined = 25 boolean inlinedAsList = 27 anything minimumValue = 0 @@ -135,6 +140,7 @@ message AnonymousSlotExpression repeated anonymousSlotExpression exactlyOneOf = 103 repeated anonymousSlotExpression anyOf = 101 repeated anonymousSlotExpression allOf = 107 + arrayExpression array = 0 } // A type expression that is not a top-level named type definition. Used for nesting. message AnonymousTypeExpression @@ -159,7 +165,6 @@ 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 @@ -262,6 +267,7 @@ message ClassDefinition boolean representsRelationship = 0 repeated classDefinition disjointWith = 0 boolean childrenAreMutuallyDisjoint = 0 + extraSlotsExpression extraSlots = 0 classDefinition isA = 11 repeated classDefinition mixins = 13 repeated classDefinition applyTo = 0 @@ -359,6 +365,49 @@ message DimensionExpression repeated uriorcurie categories = 0 repeated string keywords = 0 } +// A binding of a slot or a class to a permissible value from an enumeration. +message EnumBinding + { + enumDefinition range = 0 + obligationLevelEnum obligationLevel = 0 + string bindsValueOf = 0 + pvFormulaOptions pvFormula = 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 { @@ -454,6 +503,15 @@ message Extension anyValue value = 0 repeated extension extensions = 0 } +// An expression that defines how to handle additional data in an instance of class +// beyond the slots/attributes defined for that class. +// See `extra_slots` for usage examples. +// +message ExtraSlotsExpression + { + boolean allowed = 0 + anonymousClassExpression rangeExpression = 0 + } // an expression describing an import message ImportExpression { @@ -604,6 +662,8 @@ message PermissibleValue string description = 5 uriorcurie meaning = 23 unitOfMeasure unit = 0 + repeated uriorcurie instantiates = 0 + repeated uriorcurie implements = 0 permissibleValue isA = 11 repeated permissibleValue mixins = 13 repeated extension extensions = 0 @@ -723,6 +783,7 @@ message SchemaDefinition datetime generationDate = 0 boolean slotNamesUnique = 0 repeated setting settings = 20 + repeated enumBinding bindings = 0 ncname name = 1 } // assignment of a key to a value @@ -784,8 +845,6 @@ message SlotDefinition string singularName = 0 classDefinition domain = 0 uriorcurie slotUri = 2 - boolean multivalued = 7 - arrayExpression array = 0 boolean inherited = 0 string readonly = 0 string ifabsent = 0 @@ -819,14 +878,17 @@ message SlotDefinition repeated slotDefinition disjointWith = 0 boolean childrenAreMutuallyDisjoint = 0 repeated slotDefinition unionOf = 0 + repeated typeMapping typeMappings = 0 slotDefinition isA = 11 repeated slotDefinition mixins = 13 repeated slotDefinition applyTo = 0 element range = 0 anonymousClassExpression rangeExpression = 0 enumExpression enumRange = 0 + repeated enumBinding bindings = 0 boolean required = 8 boolean recommended = 9 + boolean multivalued = 7 boolean inlined = 25 boolean inlinedAsList = 27 anything minimumValue = 0 @@ -849,6 +911,7 @@ message SlotDefinition repeated anonymousSlotExpression exactlyOneOf = 103 repeated anonymousSlotExpression anyOf = 101 repeated anonymousSlotExpression allOf = 107 + arrayExpression array = 0 } // object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.) message StructuredAlias @@ -856,6 +919,7 @@ message StructuredAlias string literalForm = 0 aliasPredicateEnum predicate = 0 repeated uriorcurie categories = 0 + repeated uri contexts = 0 repeated extension extensions = 0 repeated annotation annotations = 0 string description = 5 @@ -1003,6 +1067,48 @@ message TypeDefinition repeated anonymousTypeExpression anyOf = 101 repeated anonymousTypeExpression allOf = 107 } +// Represents how a slot or type can be serialized to a format. +message TypeMapping + { + string framework = 0 + typeDefinition type = 0 + string stringSerialization = 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 + } // a collection of slots whose values uniquely identify an instance of a class message UniqueKey { diff --git a/linkml_model/shacl/meta.shacl.ttl b/linkml_model/shacl/meta.shacl.ttl index 370a098e..1bc8270a 100644 --- a/linkml_model/shacl/meta.shacl.ttl +++ b/linkml_model/shacl/meta.shacl.ttl @@ -20,7 +20,7 @@ linkml:Annotatable a sh:NodeShape ; 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:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path linkml:annotations ] ; sh:targetClass linkml:Annotatable . @@ -28,153 +28,197 @@ linkml:Annotatable a sh:NodeShape ; 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:datatype xsd:string ; - sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 8 ; - sh:path skos:note ], + sh:ignoredProperties ( qudt:unit linkml:structured_pattern linkml:inlined linkml:equals_string_in linkml:equals_number linkml:all_members linkml:none_of rdf:type linkml:bindings linkml:equals_expression linkml:implicit_prefix linkml:range linkml:maximum_value linkml:multivalued linkml:maximum_cardinality linkml:any_of linkml:all_of linkml:minimum_value linkml:pattern linkml:slot_conditions linkml:enum_range linkml:exact_cardinality linkml:required linkml:equals_string linkml:value_presence linkml:minimum_cardinality linkml:has_member linkml:range_expression linkml:recommended linkml:is_a linkml:inlined_as_list linkml:array linkml:exactly_one_of ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:datatype xsd:anyURI ; - 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:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:broadMatch ], + [ 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:nodeKind sh:Literal ; + sh:order 18 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:todos ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 14 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path sh:order ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:examples ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path dcterms:source ], [ sh:datatype xsd:string ; - sh:description "the imports entry that this element was derived from. Empty means primary source" ; + 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 linkml:imported_from ], - [ sh:description "status of the element" ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + 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 10 ; + 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 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:nodeKind sh:Literal ; + sh:order 2 ; + sh:path skos:definition ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; 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:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path skos:closeMatch ], [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; sh:order 34 ; sh:path schema1:keywords ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; sh:order 7 ; sh:path skos:editorialNote ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path bibo:status ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 19 ; + sh:path skosxl:altLabel ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + 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:nodeKind sh:Literal ; 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:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 16 ; sh:path linkml:deprecated_element_has_exact_replacement ], - [ 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: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 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 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: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 "agent that modified the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 "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 13 ; - sh:path dcterms:source ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - 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:datatype xsd:string ; - sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - 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:path oslc:modifiedBy ] ; sh:targetClass linkml:AnonymousExpression . linkml:ClassExpression a sh:NodeShape ; @@ -182,184 +226,228 @@ linkml:ClassExpression a sh:NodeShape ; sh:description "A boolean expression that can be used to dynamically determine membership of a class" ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:none_of ], - [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 0 ; - sh:path linkml:any_of ], + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:all_of ], [ sh:class linkml:AnonymousClassExpression ; sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path linkml:exactly_one_of ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:none_of ], [ sh:class linkml:SlotDefinition ; sh:description "expresses constraints on a group of slots for a class expression" ; sh:nodeKind sh:IRI ; sh:order 4 ; sh:path linkml:slot_conditions ], [ sh:class linkml:AnonymousClassExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path linkml:all_of ] ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path linkml:any_of ] ; sh:targetClass linkml:ClassExpression . linkml:ClassLevelRule a sh:NodeShape ; sh:closed false ; sh:description "A rule that is applied to classes" ; - sh:ignoredProperties ( rdf:type ) ; + sh:ignoredProperties ( linkml:deprecated_element_has_possible_replacement schema1:keywords rdfs:seeAlso rdf:type dcterms:contributor skos:editorialNote skos:note skos:broadMatch skos:closeMatch linkml:bidirectional linkml:postconditions linkml:extensions dcterms:source oslc:modifiedBy linkml:open_world schema1:inLanguage linkml:alt_descriptions pav:createdBy skos:altLabel skos:narrowMatch OIO:inSubset linkml:examples linkml:elseconditions skos:exactMatch skos:inScheme linkml:deprecated_element_has_exact_replacement linkml:annotations skos:definition sh:condition skos:mappingRelation linkml:deprecated skos:relatedMatch linkml:todos dcterms:title pav:createdOn linkml:imported_from dcterms:subject pav:lastUpdatedOn bibo:status skosxl:altLabel sh:order sh:deactivated ) ; sh:targetClass linkml:ClassLevelRule . linkml:CommonMetadata a sh:NodeShape ; sh:closed false ; sh:description "Generic metadata shared across definitions" ; 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: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:property [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 18 ; + sh:path skos:mappingRelation ], [ sh:datatype xsd:string ; sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; 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:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path oslc:modifiedBy ], [ sh:datatype xsd:string ; sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 "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 "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:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path pav:createdBy ], [ sh:datatype xsd:string ; sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:nodeKind sh:Literal ; 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: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 15 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path skos:closeMatch ], [ 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:nodeKind sh:Literal ; sh:order 16 ; sh:path skos:altLabel ], - [ sh:description "A related resource from which the element is derived." ; + [ 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:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 11 ; - sh:path dcterms:source ], + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path rdfs:seeAlso ], [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 26 ; - sh:path pav:createdOn ], + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path skos:relatedMatch ], [ sh:datatype xsd:anyURI ; sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; 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:nodeKind sh:Literal ; + sh:order 30 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; 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:nodeKind sh:Literal ; + sh:order 11 ; + sh:path dcterms:source ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 17 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path schema1:keywords ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; sh:order 19 ; sh:path skos:exactMatch ], - [ 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 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:datatype xsd:string ; sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 10 ; sh:path linkml:imported_from ], [ sh:datatype xsd:string ; - sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 5 ; - sh:path skos:editorialNote ], + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:deprecated_element_has_exact_replacement ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; - sh:path linkml:examples ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - 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:path linkml:examples ] ; sh:targetClass linkml:CommonMetadata . linkml:Expression a sh:NodeShape ; sh:closed false ; sh:description "general mixin for any class that can represent some form of expression" ; - sh:ignoredProperties ( rdf:type ) ; + sh:ignoredProperties ( qudt:unit linkml:structured_pattern linkml:inlined linkml:equals_string_in linkml:equals_number linkml:all_members linkml:none_of linkml:permissible_values linkml:bindings rdf:type linkml:equals_expression linkml:implicit_prefix linkml:concepts linkml:code_set linkml:minus linkml:range linkml:code_set_tag linkml:maximum_value linkml:reachable_from linkml:multivalued linkml:maximum_cardinality linkml:any_of linkml:include linkml:code_set_version linkml:all_of linkml:minimum_value linkml:pattern linkml:inherits linkml:matches linkml:enum_range linkml:pv_formula linkml:exact_cardinality linkml:required linkml:equals_string linkml:value_presence linkml:minimum_cardinality linkml:has_member linkml:range_expression linkml:recommended linkml:inlined_as_list linkml:array linkml:exactly_one_of ) ; sh:targetClass linkml:Expression . linkml:Extensible a sh:NodeShape ; @@ -368,7 +456,7 @@ linkml:Extensible a sh:NodeShape ; sh:ignoredProperties ( rdf:type ) ; sh:property [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path linkml:extensions ] ; sh:targetClass linkml:Extensible . @@ -377,1222 +465,1320 @@ linkml:ImportExpression a sh:NodeShape ; sh:closed true ; sh:description "an expression describing an import" ; sh:ignoredProperties ( rdf:type ) ; - 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: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 17 ; - sh:path schema1:inLanguage ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:string ; - sh:description "the imports entry that this element was derived from. Empty means primary source" ; + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 15 ; - sh:path linkml:imported_from ], + sh:nodeKind sh:Literal ; + 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:dateTime ; - sh:description "time at which the element was last updated" ; + sh:description "the primary language used in the sources" ; 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: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: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 related resource from which the element is derived." ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:import_from ], [ 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 "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:nodeKind sh:Literal ; + sh:order 21 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:relatedMatch ], [ sh:datatype xsd:string ; sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 "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:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path oslc:modifiedBy ], - [ sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:import_from ], + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:mappingRelation ], [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + 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 5 ; - sh:path skos:definition ], + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path linkml:imported_from ], [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; 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: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:class linkml:Setting ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:import_map ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; 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 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + 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:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:examples ], [ 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:nodeKind sh:Literal ; sh:order 7 ; sh:path dcterms:title ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 31 ; sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + 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:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + 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:nodeKind sh:Literal ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + 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:nodeKind sh:BlankNodeOrIRI ; 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 1 ; - sh:path linkml:import_as ] ; + sh:path linkml:annotations ] ; 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 "status of the element" ; - sh:maxCount 1 ; - sh:order 60 ; - sh:path bibo:status ], + sh:property [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path dcterms:contributor ], [ sh:datatype xsd:string ; - sh:description "license for the schema" ; + sh:description "Version of the metamodel used to load the schema" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path dcterms:license ], + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:metamodel_version ], [ sh:datatype xsd:string ; - sh:description "The prefix that is used for all elements within a schema" ; + 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:order 7 ; - sh:path linkml:default_prefix ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path rdfs:label ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path skos:inScheme ], [ sh:datatype xsd:string ; - sh:description "particular version of schema" ; + 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:emit_prefixes ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; 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:nodeKind sh:Literal ; + sh:order 61 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 64 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; 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:nodeKind sh:Literal ; + sh:order 47 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 25 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 26 ; sh:path linkml:local_names ], + [ 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:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:slot_names_unique ], [ 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: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 21 ; - sh:path rdfs:label ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 32 ; - sh:path linkml:alt_descriptions ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 38 ; - sh:path linkml:examples ], - [ sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + 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 40 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 52 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 62 ; - 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 29 ; - sh:path linkml:extensions ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:path sh:order ], + [ 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:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 49 ; + sh:path skosxl:altLabel ], + [ 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 45 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:Literal ; + sh:order 24 ; + 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:nodeKind sh:Literal ; + sh:order 48 ; + sh:path skos:altLabel ], + [ sh:class linkml:Prefix ; + sh:description "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; + sh:nodeKind sh:BlankNodeOrIRI ; + 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:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:default_curi_maps ], [ sh:datatype xsd:dateTime ; sh:description "modification date of the source of the schema" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 16 ; sh:path linkml:source_file_date ], - [ 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:datatype xsd:anyURI ; + 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:id_prefixes_are_closed ], + sh:nodeKind sh:Literal ; + sh:order 46 ; + sh:path linkml:deprecated_element_has_exact_replacement ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 34 ; - sh:path linkml:deprecated ], - [ sh:datatype xsd:integer ; - sh:description "size in bytes of the source of the schema" ; + sh:nodeKind sh:Literal ; + sh:order 44 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:dateTime ; + sh:description "date and time that the schema was loaded/generated" ; sh:maxCount 1 ; - sh:order 17 ; - sh:path linkml:source_file_size ], - [ sh:description "agent that created the element" ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path linkml:generation_date ], + [ 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: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: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:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 55 ; - sh:path pav:createdBy ], - [ sh:description "agent that modified the element" ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 41 ; - sh:path linkml:imported_from ], + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path pav:createdBy ], [ sh:datatype xsd:string ; sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; sh:order 27 ; - 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 24 ; - 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:path dcterms:conformsTo ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path linkml:instantiates ], [ sh:datatype xsd:string ; - sh:description "Keywords or tags used to describe the element" ; - sh:order 63 ; - sh:path schema1:keywords ], + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path linkml:todos ], [ sh:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - sh:order 40 ; - sh:path skos:inScheme ], + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 50 ; + sh:path skos:mappingRelation ], [ sh:datatype xsd:string ; - sh:description "Version of the metamodel used to load the schema" ; + sh:description "particular version of schema" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 1 ; + sh:path pav:version ], [ 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 54 ; + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 30 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:integer ; + sh:description "size in bytes of the source of the schema" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:source_file_size ], + [ sh:class linkml:EnumBinding ; + sh:description """A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration. +LinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically). +Enum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.""" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 21 ; + sh:path linkml:bindings ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 55 ; sh:path skos:broadMatch ], - [ 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:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path linkml:implements ], + [ sh:class linkml:Setting ; + sh:description "A collection of global variable settings" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 20 ; + sh:path linkml:settings ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 39 ; - sh:path OIO:inSubset ], - [ 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:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path dcterms:subject ], + [ 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path linkml:id_prefixes ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 25 ; + sh:path linkml:definition_uri ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 57 ; + sh:nodeKind sh:Literal ; + sh:order 58 ; 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 "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:description "name, uri or description of the source of the schema" ; sh:maxCount 1 ; - sh:order 46 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path linkml:source_file ], [ 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: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:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of schemas that are to be included in this schema" ; + sh:nodeKind sh:Literal ; sh:order 2 ; sh:path linkml:imports ], - [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; + [ sh:datatype xsd:anyURI ; + sh:description "The official schema URI" ; 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:subsets ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:id ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 33 ; + sh:path linkml:alt_descriptions ], [ 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:defaultValue "default_ns"^^xsd:string ; + sh:description "The prefix that is used for all elements within a schema" ; 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:nodeKind sh:Literal ; + sh:order 7 ; + sh:path linkml:default_prefix ], [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 31 ; 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: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 15 ; - sh:path linkml:source_file ], - [ sh:datatype xsd:dateTime ; - sh:description "date and time that the schema was loaded/generated" ; + sh:description "license for the schema" ; sh:maxCount 1 ; - sh:order 18 ; - sh:path linkml:generation_date ], - [ sh:description "A related resource from which the element is derived." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path dcterms:license ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 42 ; + sh:nodeKind sh:Literal ; + sh:order 43 ; sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 45 ; + sh:path rdfs:seeAlso ], [ 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:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path dcterms:title ] ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:definition ] ; 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: - domain: C1 - range: C2 -the declaration - X: - S1: Y - -implicitly asserts Y is an instance of C2 -""" ; - sh:maxCount 1 ; - 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:property [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:maximum_value ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path qudt:unit ], [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 24 ; 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 25 ; - sh:path linkml:any_of ], - [ sh:datatype xsd:integer ; - sh:description "the maximum number of entries for a multivalued slot" ; + [ 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 20 ; - sh:path linkml:maximum_cardinality ], - [ 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:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with at least one member satisfying the condition" ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path linkml:equals_string ], + [ 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:nodeKind sh:BlankNode ; - sh:order 21 ; - sh:path linkml:has_member ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:multivalued ], [ sh:datatype xsd:integer ; - sh:description "the exact number of entries for a multivalued slot" ; + 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:nodeKind sh:Literal ; 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 "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 23 ; - sh:path linkml:none_of ], + sh:path linkml:equals_number ], [ 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:nodeKind sh:Literal ; + sh:order 11 ; 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:nodeKind sh:Literal ; + sh:order 7 ; sh:path linkml:inlined ], - [ sh:datatype xsd:integer ; - sh:description "the minimum number of entries for a multivalued slot" ; + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 28 ; + sh:path linkml:all_of ], + [ sh:description "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" ; + sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:minimum_cardinality ], + sh:order 15 ; + sh:path linkml:value_presence ], [ sh:class linkml:AnonymousSlotExpression ; sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 24 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 26 ; sh:path linkml:exactly_one_of ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ 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:nodeKind sh:BlankNode ; - sh:order 11 ; - sh:path qudt:unit ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 29 ; + sh:path linkml:array ], [ sh:datatype xsd:boolean ; - sh:description "true means that the slot must be present in instances of the class definition" ; + 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:nodeKind sh:Literal ; + sh:order 8 ; + sh:path linkml:inlined_as_list ], + [ 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:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:structured_pattern ], + [ sh:class linkml:EnumBinding ; + sh:description """A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration. +LinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically). +Enum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.""" ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; + sh:path linkml:bindings ], + [ 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:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:maximum_value ], + [ 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:IRI ; + sh:order 0 ; + sh:path linkml:range ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the slot must be present in instances of the class definition" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; 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:nodeKind sh:Literal ; + sh:order 19 ; 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:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 10 ; - sh:path linkml:structured_pattern ], + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:exact_cardinality ], + [ 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:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:equals_string_in ], [ 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:nodeKind sh:BlankNodeOrIRI ; sh:order 1 ; sh:path linkml:range_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 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: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:description "the maximum number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path linkml:equals_number ], + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path linkml:maximum_cardinality ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 25 ; + sh:path linkml:none_of ], [ 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: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 qudt:Unit ; - sh:description "an encoding of a unit" ; - sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path qudt:unit ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:minimum_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:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:equals_number ], + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:minimum_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 3 ; + sh:nodeKind sh:Literal ; + sh:order 14 ; 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: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:BlankNodeOrIRI ; + sh:order 23 ; + sh:path linkml:has_member ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 27 ; + sh:path linkml:any_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:nodeKind sh:Literal ; sh:order 5 ; - sh:path linkml:equals_string_in ], + sh:path linkml:recommended ], + [ sh:class linkml:EnumExpression ; + sh:description "An inlined enumeration" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:enum_range ] ; + 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:AnonymousTypeExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:exactly_one_of ], [ 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:nodeKind sh:BlankNodeOrIRI ; 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:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; sh:maxCount 1 ; - sh:order 4 ; - sh:path linkml:equals_string ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:implicit_prefix ], + [ 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:BlankNodeOrIRI ; + 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:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path linkml:minimum_value ], - [ 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:description "the slot must have range string and the value of the slot must equal one of the specified values" ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:equals_string_in ], + [ 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 0 ; - sh:path linkml:pattern ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:equals_number ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 9 ; sh:path linkml:none_of ], - [ 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 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:AnonymousTypeExpression ; sh:description "holds if at least one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 11 ; - sh:path linkml:any_of ] ; + sh:path linkml:any_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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:pattern ], + [ 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:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:equals_string ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path qudt:unit ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:all_of ] ; sh:targetClass linkml:TypeExpression . -linkml:ArrayExpression a sh:NodeShape ; +linkml:ClassRule a sh:NodeShape ; sh:closed true ; - sh:description "defines the dimensions of an array" ; + sh:description "A rule that applies to instances of a class" ; sh:ignoredProperties ( rdf:type ) ; - 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:property [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 18 ; - sh:path dcterms:source ], - [ sh:datatype xsd:boolean ; - sh:description "If this is set to true" ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:has_extra_dimensions ], + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path dcterms:source ], [ sh:class linkml:Annotation ; sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; 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: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 19 ; - sh:path schema1:inLanguage ], - [ sh:description "A list of related entities or URLs that may be of relevance" ; - sh:order 20 ; - sh:path rdfs:seeAlso ], - [ 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:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path linkml:examples ], + [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:elseconditions ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; sh:order 34 ; - sh:path pav:lastUpdatedOn ], + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:broadMatch ], [ 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: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:nodeKind sh:Literal ; sh:order 25 ; - sh:path skos:mappingRelation ], + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path bibo:status ], [ sh:datatype xsd:string ; sh:description "Outstanding issues that needs resolution" ; - sh:order 11 ; + sh:nodeKind sh:Literal ; + sh:order 13 ; sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path rdfs:seeAlso ], [ 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 14 ; - sh:path linkml:examples ], + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path linkml:deprecated ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; 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 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:datatype xsd:boolean ; + sh:description "a deactivated rule is not executed by the rules engine" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 6 ; + sh:path sh:deactivated ], + [ 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 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path sh:condition ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 37 ; - sh:path sh:order ], - [ sh:description "agent that created the element" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdBy ], + sh:nodeKind sh:Literal ; + sh:order 21 ; + 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 23 ; - sh:path skos:altLabel ], - [ sh:datatype xsd:integer ; - sh:description "exact number of dimensions in the array" ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:exact_number_dimensions ], - [ sh:datatype xsd:integer ; - sh:description "minimum number of dimensions in the array" ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path skos:definition ], + [ sh:datatype xsd:boolean ; + sh:description "in addition to preconditions entailing postconditions, the postconditions entail the preconditions" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:bidirectional ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; sh:path skos:closeMatch ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - 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 17 ; - sh:path linkml:imported_from ], - [ sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - sh:order 26 ; - sh:path skos:exactMatch ], - [ sh:description "agent that modified the element" ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 4 ; - sh:path linkml:dimensions ], + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path linkml:postconditions ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path pav:lastUpdatedOn ], [ 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:order 17 ; sh:path OIO:inSubset ], - [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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 24 ; - sh:path skosxl:altLabel ], + sh:path linkml:extensions ], [ sh:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 16 ; - sh:path skos:inScheme ], + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path pav:createdBy ], [ 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:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path skos:note ], + [ 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 dcterms:title ], - [ sh:class linkml:Extension ; - sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:Literal ; 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:path sh:order ], + [ 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 23 ; - 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 25 ; - sh:path skos:altLabel ], + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:open_world ], [ 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:nodeKind sh:Literal ; 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 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:nodeKind sh:BlankNodeOrIRI ; 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:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - 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: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: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:description "agent that modified the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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: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 17 ; - sh:path OIO:inSubset ], - [ 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 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 skos:inScheme ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - 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: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 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: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: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: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: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 10 ; - sh:path linkml:alt_descriptions ] ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path skos:relatedMatch ] ; 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: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 4 ; - sh:path linkml:extensions ], - [ 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:property [ 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:datatype xsd:string ; sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:nodeKind sh:BlankNodeOrIRI ; 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:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; 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 23 ; - sh:path skosxl:altLabel ], - [ sh:description "agent that modified the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 34 ; sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path dcterms:subject ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 7 ; sh:path linkml:alt_descriptions ], - [ sh:description "status of the element" ; + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 35 ; - sh:path bibo:status ], + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path pav:createdBy ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:maximum_cardinality ], + [ sh:datatype xsd:integer ; + sh:description "the exact number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:exact_cardinality ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 33 ; sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + 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:nodeKind sh:Literal ; + sh:order 15 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:todos ], + [ 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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path skos:prefLabel ], [ sh:datatype xsd:integer ; sh:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path bibo:status ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; 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:nodeKind sh:Literal ; + sh:order 36 ; + sh:path sh:order ], [ 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:description "Description of why and when this element will no longer be used" ; 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:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:createdOn ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path linkml:examples ], [ 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:nodeKind sh:Literal ; 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:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ 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:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path linkml:imported_from ], [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; sh:order 38 ; sh:path schema1:keywords ], - [ sh:description "A related resource from which the element is derived." ; + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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: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 pav:createdBy ], + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path dcterms:title ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:extensions ], [ sh:datatype xsd:string ; - sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:description "the primary language used in the sources" ; 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 13 ; - sh:path linkml:examples ], - [ 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 28 ; - sh:path skos:narrowMatch ] ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path schema1:inLanguage ] ; sh:targetClass linkml:DimensionExpression . +linkml:ExtraSlotsExpression a sh:NodeShape ; + sh:closed true ; + sh:description """An expression that defines how to handle additional data in an instance of class +beyond the slots/attributes defined for that class. +See `extra_slots` for usage examples. +""" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:boolean ; + sh:description "Whether or not something is allowed. Usage defined by context." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:allowed ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path linkml:range_expression ] ; + sh:targetClass linkml:ExtraSlotsExpression . + linkml:Prefix a sh:NodeShape ; sh:closed true ; sh:description "prefix URI tuple" ; @@ -1601,1474 +1787,2507 @@ linkml:Prefix a sh:NodeShape ; sh:description "The namespace to which a prefix expands to." ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:Literal ; sh:order 1 ; 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:nodeKind sh:Literal ; sh:order 0 ; sh:path sh:prefix ] ; sh:targetClass linkml:Prefix . -linkml:UniqueKey a sh:NodeShape ; +linkml:TypeMapping a sh:NodeShape ; sh:closed true ; - sh:description "a collection of slots whose values uniquely identify an instance of a class" ; + sh:description "Represents how a slot or type can be serialized to a format." ; sh:ignoredProperties ( rdf:type ) ; 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 22 ; - sh:path skosxl:altLabel ], - [ 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 "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 dcterms:subject ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - 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 25 ; - sh:path skos:closeMatch ], - [ 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: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 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 15 ; - sh:path linkml:imported_from ], - [ sh:datatype xsd:string ; sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; sh:order 11 ; sh:path skos:note ], + [ 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:nodeKind sh:Literal ; + sh:order 21 ; + sh:path skos:altLabel ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; sh:path linkml:extensions ], [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path pav:lastUpdatedOn ], + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path pav:createdOn ], + [ 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:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:string_serialization ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + 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:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:mappingRelation ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; 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 skos:altLabel ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - 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 skos:relatedMatch ], - [ sh:description "status of the element" ; + sh:nodeKind sh:Literal ; + 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 34 ; - sh:path bibo:status ], - [ sh:datatype xsd:string ; - sh:description "Outstanding issues that needs resolution" ; - sh:order 9 ; - sh:path linkml:todos ], + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + sh:description "The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:framework_key ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:datatype xsd:string ; sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 5 ; sh:path skos:definition ], - [ sh:class linkml:Example ; - sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 12 ; - sh:path linkml:examples ], - [ sh:description "agent that created the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 22 ; + 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 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 13 ; - sh:path OIO:inSubset ], - [ 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 4 ; - sh:path linkml:annotations ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + 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:deprecated_element_has_possible_replacement ], - [ sh:description "A related resource from which the element is derived." ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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: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:class linkml:TypeDefinition ; + sh:description "type to coerce to" ; sh:maxCount 1 ; - 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:Setting a sh:NodeShape ; - sh:closed true ; - sh:description "assignment of a key to a value" ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:datatype xsd:string ; - sh:description "The value assigned for a setting" ; + sh:path linkml:mapped_type ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:todos ], + [ 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 "status of the element" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path linkml:setting_value ], + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path bibo:status ], [ sh:datatype xsd:string ; - sh:description "the variable name for a setting" ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - 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:nodeKind sh:Literal ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path pav:createdBy ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:examples ], + [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; - sh:order 42 ; + sh:nodeKind sh:Literal ; + sh:order 37 ; sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:closeMatch ], [ 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: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:nodeKind sh:Literal ; + sh:order 7 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path rdfs:seeAlso ] ; + sh:targetClass linkml:TypeMapping . + +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: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:nodeKind sh:Literal ; 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:path skos:altLabel ], [ 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: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:description "the primary language used in the sources" ; 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:nodeKind sh:Literal ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:exactMatch ], [ 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:nodeKind sh:Literal ; + 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 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 22 ; sh:path skosxl:altLabel ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; + [ 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 37 ; - sh:path pav:lastUpdatedOn ], + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:consider_nulls_inequal ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; 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:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:deprecated ], + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path skos:definition ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 17 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; 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:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; 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:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; sh:path skos:broadMatch ], - [ sh:description "agent that contributed to the element" ; - sh:order 35 ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 30 ; 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:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 34 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; sh:path pav:createdBy ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 36 ; + sh:nodeKind sh:Literal ; + sh:order 31 ; 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:description "name of the unique key" ; sh:maxCount 1 ; - sh:order 24 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:unique_key_name ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 15 ; + sh:nodeKind sh:Literal ; + sh:order 10 ; sh:path skos:editorialNote ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 25 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path bibo:status ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:relatedMatch ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], [ sh:datatype xsd:anyURI ; sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 19 ; + sh:nodeKind sh:Literal ; + 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 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:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; 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:nodeKind sh:Literal ; + sh:order 33 ; + 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 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:description "the imports entry that this element was derived from. Empty means primary source" ; 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: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 subtracted from the enum" ; - sh:nodeKind sh:BlankNode ; - 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:Literal ; + sh:order 15 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + 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 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:order 1 ; + sh:path linkml:unique_key_slots ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; 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:nodeKind sh:Literal ; + 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 "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + 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:nodeKind sh:BlankNode ; + sh:nodeKind sh:Literal ; sh:order 8 ; - sh:path linkml:reachable_from ], - [ sh:datatype xsd:string ; - sh:description "the version tag of the enumeration code set" ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:code_set_tag ] ; - sh:targetClass linkml:EnumExpression . + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:note ] ; + sh:targetClass linkml:UniqueKey . -linkml:MatchQuery a sh:NodeShape ; +linkml:Setting a sh:NodeShape ; sh:closed true ; - sh:description "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." ; + sh:description "assignment of a key to a value" ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values" ; + sh:property [ sh:datatype xsd:string ; + sh:description "the variable name for a setting" ; sh:maxCount 1 ; - sh:order 1 ; - sh:path linkml:source_ontology ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:setting_key ], [ 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:description "The value assigned for a setting" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:identifier_pattern ] ; - sh:targetClass linkml:MatchQuery . + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:setting_value ] ; + sh:targetClass linkml:Setting . -linkml:PermissibleValue a sh:NodeShape ; +linkml:ArrayExpression a sh:NodeShape ; sh:closed true ; - sh:description "a permissible value, accompanied by intended text and an optional mapping to a concept URI" ; + sh:description "defines the dimensions of an array" ; sh:ignoredProperties ( rdf:type ) ; - 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:property [ sh:class linkml:DimensionExpression ; + sh:description "definitions of each axis in the array" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:dimensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], - [ sh:description "agent that modified the element" ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path dcterms:source ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 33 ; - sh:path oslc:modifiedBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; - sh:order 25 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; 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:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:meaning ], + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:todos ], [ 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:nodeKind sh:Literal ; + sh:order 8 ; sh:path dcterms:title ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + [ sh:datatype xsd:integer ; + sh:description "exact number of dimensions in the array" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:exact_number_dimensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; 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 4 ; - sh:path linkml:extensions ], + 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; sh:path skosxl:altLabel ], - [ 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: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:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; - sh:maxCount 1 ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; 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 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 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:path dcterms:contributor ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 12 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; 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:nodeKind sh:Literal ; + sh:order 38 ; sh:path schema1:keywords ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 3 ; - sh:path qudt:unit ], - [ sh:description "status of the element" ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 34 ; + sh:nodeKind sh:Literal ; + sh:order 35 ; 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 "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 17 ; - sh:path schema1:inLanguage ], + 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:nodeKind sh:Literal ; + sh:order 22 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + 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 13 ; + sh:order 14 ; sh:path OIO:inSubset ], - [ 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 "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 19 ; + sh:nodeKind sh:Literal ; + sh:order 20 ; 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:description "Description of why and when this element will no longer be used" ; 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:datatype xsd:boolean ; - sh:description "True if the query is reflexive" ; - sh:maxCount 1 ; - 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 "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 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: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 "status of the element" ; - sh:maxCount 1 ; - sh:order 58 ; - sh:path bibo:status ], + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:deprecated ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path linkml:alt_descriptions ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 34 ; + sh:nodeKind sh:Literal ; + sh:order 11 ; 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 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 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:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:createdOn ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:path linkml:extensions ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:integer ; + sh:description "minimum number of dimensions in the array" ; sh:maxCount 1 ; - sh:order 43 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:minimum_number_dimensions ], [ 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:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:id_prefixes_are_closed ], + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path schema1:inLanguage ], [ sh:datatype xsd:string ; - sh:description "the version identifier of the enumeration code set" ; + sh:description "a textual description of the element's purpose and use" ; 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 26 ; - sh:path linkml:instantiates ], - [ 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:nodeKind sh:Literal ; + sh:order 6 ; + sh:path skos:definition ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 59 ; - sh:path sh:order ], + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path pav:createdBy ], [ 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:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path skos:note ], + [ 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 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:or ( [ sh:datatype xsd:integer ; + sh:nodeKind sh:Literal ] [ sh:datatype xsd:boolean ; + sh:nodeKind sh:Literal ] ) ; + sh:order 2 ; + sh:path linkml:maximum_number_dimensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - 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 28 ; - sh:path linkml:annotations ], - [ sh:datatype xsd:string ; - sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path sh:order ] ; + sh:targetClass linkml:ArrayExpression . + +linkml:Element a sh:NodeShape ; + sh:closed false ; + sh:description "A named element in the model" ; + sh:ignoredProperties ( linkml:classes linkml:is_grouping_slot owl:inverseOf linkml:imports linkml:represents_relationship linkml:implicit_prefix linkml:source_file linkml:code_set linkml:usage_slot_name linkml:defining_slots linkml:code_set_tag linkml:slot_names_unique linkml:disjoint_with skos:prefLabel linkml:maximum_cardinality sh:declare linkml:include linkml:code_set_version linkml:all_of linkml:relational_role linkml:locally_reflexive linkml:reflexive_transitive_form_of linkml:inherited linkml:list_elements_unique linkml:default_curi_maps linkml:range_expression linkml:class_uri linkml:union_of linkml:recommended linkml:transitive_form_of linkml:slots linkml:metamodel_version sh:rule linkml:array linkml:source_file_date qudt:unit linkml:settings linkml:equals_string_in linkml:equals_number linkml:none_of linkml:string_serialization linkml:concepts linkml:minus linkml:type_mappings pav:version linkml:id linkml:is_usage_slot linkml:enum_uri linkml:irreflexive linkml:generation_date linkml:asymmetric linkml:minimum_value linkml:unique_keys linkml:slot_conditions dcterms:license linkml:list_elements_ordered linkml:mixin linkml:default_range linkml:pv_formula linkml:enum_range linkml:exact_cardinality linkml:equals_string linkml:values_from linkml:value_presence linkml:has_member linkml:slot_definitions linkml:designates_type linkml:exactly_one_of linkml:type_uri linkml:structured_pattern linkml:abstract linkml:permissible_values linkml:bindings linkml:path_rule linkml:emit_prefixes linkml:reflexive linkml:classification_rules linkml:repr linkml:is_class_field linkml:mixins linkml:subsets linkml:slot_usage linkml:reachable_from linkml:typeof linkml:multivalued linkml:any_of linkml:symmetric linkml:source_file_size linkml:ifabsent sh:group rdfs:subPropertyOf linkml:required linkml:minimum_cardinality linkml:transitive linkml:identifier linkml:extra_slots linkml:slot_uri linkml:inlined_as_list linkml:owner linkml:inlined linkml:domain_of linkml:all_members rdf:type linkml:equals_expression linkml:attributes linkml:role linkml:base linkml:range linkml:types linkml:apply_to linkml:maximum_value linkml:key linkml:pattern linkml:shared linkml:inherits linkml:matches linkml:readonly linkml:singular_name linkml:tree_root linkml:children_are_mutually_disjoint linkml:subclass_of linkml:is_a linkml:domain linkml:enums linkml:default_prefix ) ; + 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 39 ; - sh:path linkml:imported_from ], + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path sh:order ], [ 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:nodeKind sh:Literal ; + sh:order 1 ; 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:datatype xsd:anyURI ; + 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 22 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; sh:path linkml:definition_uri ], - [ sh:description "agent that modified the 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 57 ; - sh:path oslc:modifiedBy ], + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; sh:order 29 ; - sh:path skos:definition ], + sh:path skos:exactMatch ], [ 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:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; sh:order 31 ; - sh:path dcterms:title ], + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path pav:createdBy ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:local_names ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + sh:description "a textual description of the element's purpose and use" ; 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:nodeKind sh:Literal ; + sh:order 10 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + 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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:annotations ], + [ 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:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 25 ; - sh:path linkml:implements ], - [ sh:class linkml:AltDescription ; - sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; + 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:nodeKind sh:Literal ; + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; 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:path skos:closeMatch ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; 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:path skos:editorialNote ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; 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:narrowMatch ], + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path pav:createdOn ], [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - sh:order 41 ; - 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: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: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:nodeKind sh:Literal ; 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 27 ; - sh:path linkml:extensions ], + sh:path rdfs:label ], [ 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:description "the primary language used in the sources" ; 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:nodeKind sh:IRI ; - sh:order 8 ; - sh:path linkml:inherits ], + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path dcterms:subject ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 56 ; + sh:nodeKind sh:Literal ; + sh:order 37 ; 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:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path dcterms:source ], [ sh:datatype xsd:string ; - sh:description "An established standard to which the element conforms." ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 24 ; - sh:path dcterms:conformsTo ], - [ sh:description "the identifier of an enumeration code set." ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 39 ; + sh:path bibo:status ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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 2 ; - sh:path linkml:code_set_tag ], - [ sh:description "A related resource from which the element is derived." ; + sh:path linkml:examples ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 11 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + 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:BlankNodeOrIRI ; + sh:order 27 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 40 ; - sh:path dcterms:source ], + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path linkml:instantiates ], [ sh:datatype xsd:string ; - sh:description "notes and comments about an element intended primarily for external consumption" ; + 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:altLabel ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; 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 37 ; - sh:path OIO:inSubset ], + sh:path dcterms:contributor ], [ sh:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; + 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:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:implements ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path skos:note ], + [ 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 skos:inScheme ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:imported_from ], + [ 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 55 ; - sh:path pav:createdOn ], + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:id_prefixes_are_closed ] ; + 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: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 subtracted from the enum" ; + sh:nodeKind sh:BlankNodeOrIRI ; + 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" "LABEL" ) ; + sh:maxCount 1 ; + sh:order 3 ; + sh:path linkml:pv_formula ], [ 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 10 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; sh:path linkml:matches ], + [ sh:datatype xsd:string ; + sh:description "the version tag of the enumeration code set" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:code_set_tag ], + [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:code_set_version ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of identifiers that are used to construct a set of permissible values" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:concepts ], + [ sh:datatype xsd:anyURI ; + sh:description "the identifier of an enumeration code set." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:code_set ], + [ 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:BlankNodeOrIRI ; + sh:order 5 ; + sh:path linkml:include ], [ 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 9 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; sh:path linkml:reachable_from ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 53 ; - sh:path pav:createdBy ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 23 ; - sh:path linkml:local_names ] ; - sh:targetClass linkml:EnumDefinition . + [ 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:targetClass linkml:EnumExpression . -linkml:TypeDefinition a sh:NodeShape ; +linkml:MatchQuery 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:description "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." ; sh:ignoredProperties ( rdf:type ) ; 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 26 ; - 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 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: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 52 ; - sh:path pav:createdBy ], - [ sh:datatype xsd:string ; - sh:description "An established standard to which the element conforms." ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:identifier_pattern ], + [ sh:datatype xsd:anyURI ; + 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 23 ; - sh:path dcterms:conformsTo ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:source_ontology ] ; + sh:targetClass linkml:MatchQuery . + +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: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 40 ; - sh:path schema1:inLanguage ], - [ sh:description "A related resource from which the element is derived." ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:is_direct ], + [ sh:datatype xsd:anyURI ; + 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 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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:source_ontology ], + [ sh:datatype xsd:boolean ; + sh:description "True if the direction of the reachability query is reversed and ancestors are retrieved" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path linkml:traverse_up ], + [ sh:datatype xsd:boolean ; + sh:description "True if the query is reflexive" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path linkml:deprecated ], - [ sh:description "agent that modified the element" ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:include_self ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of nodes that are used in the reachability query" ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:source_nodes ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of relationship types (properties) that are used in a reachability query" ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:relationship_types ] ; + sh:targetClass linkml:ReachabilityQuery . + +linkml:EnumBinding a sh:NodeShape ; + sh:closed true ; + sh:description "A binding of a slot or a class to a permissible value from an enumeration." ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:todos ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 56 ; - sh:path oslc:modifiedBy ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + 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:nodeKind sh:Literal ; 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:path skos:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path linkml:definition_uri ], - [ sh:datatype xsd:string ; - sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; 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:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; sh:order 24 ; - sh:path linkml:implements ], + sh:path skos:mappingRelation ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:relatedMatch ], + [ sh:class linkml:EnumDefinition ; + 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:IRI ; + sh:order 0 ; + sh:path linkml:range ], + [ sh:description "The level of obligation or recommendation strength for a metadata element" ; + sh:in ( "REQUIRED" "RECOMMENDED" "OPTIONAL" "EXAMPLE" "DISCOURAGED" ) ; + sh:maxCount 1 ; + sh:order 1 ; + sh:path linkml:obligation_level ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:editorialNote ], [ 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:nodeKind sh:Literal ; + sh:order 8 ; sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:broadMatch ], [ sh:datatype xsd:string ; - sh:description "Outstanding issues that needs resolution" ; - sh:order 32 ; - sh:path linkml:todos ], - [ sh:class linkml:Any ; - sh:description "For ordinal ranges, the value must be equal to or higher than this" ; + sh:description "A path to a slot that is being bound to a permissible value from an enumeration." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:binds_value_of ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:deprecated ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path linkml:examples ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; 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:path skos:note ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; 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:nodeKind sh:Literal ; + sh:order 36 ; + sh:path sh:order ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path linkml:imported_from ], [ 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 14 ; sh:path OIO:inSubset ], - [ 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:description "Controlled terms used to categorize an element." ; - sh:order 59 ; - 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:BlankNodeOrIRI ; + sh:order 5 ; + sh:path linkml:annotations ], [ sh:datatype xsd:string ; sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 28 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; 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 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:datatype xsd:string ; - sh:description "the name of the python object that implements this type definition" ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path dcterms:contributor ], + [ 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:repr ], + sh:path linkml:pv_formula ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path pav:createdBy ], [ 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:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path schema1:keywords ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:minCount 1 ; + sh:nodeKind sh:Literal ; 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 48 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; sh:path skos:closeMatch ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 43 ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path bibo:status ] ; + sh:targetClass linkml:EnumBinding . + +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:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 24 ; 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:class linkml:PermissibleValue ; + sh:description "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; + sh:nodeKind sh:IRI ; + sh:order 7 ; + sh:path linkml:mixins ], [ sh:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path dcterms:contributor ], + [ sh:class linkml:PermissibleValue ; + 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 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:nodeKind sh:IRI ; + sh:order 6 ; + sh:path linkml:is_a ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path rdfs:seeAlso ], [ sh:datatype xsd:string ; sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + 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:nodeKind sh:Literal ; + sh:order 12 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 15 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path bibo:status ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:mappingRelation ], + [ 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:nodeKind sh:Literal ; + sh:order 11 ; + sh:path dcterms:title ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "the value meaning of a permissible value" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:meaning ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 26 ; + 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 17 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:implements ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path schema1:keywords ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path qudt:unit ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:closeMatch ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path linkml:examples ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:instantiates ], + [ 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:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path skos:inScheme ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:string ; + sh:description "The actual permissible value itself" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:text ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path skos:definition ] ; + sh:targetClass linkml:PermissibleValue . + +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:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 46 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path dcterms:contributor ], + [ 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:nodeKind sh:Literal ; + sh:order 18 ; + sh:path rdfs:label ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path rdfs:seeAlso ], + [ 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:Literal ; + sh:order 8 ; + sh:path linkml:implicit_prefix ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + 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:nodeKind sh:Literal ; + sh:order 31 ; + sh:path linkml:deprecated ], + [ 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:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:id_prefixes ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + 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:nodeKind sh:Literal ; + sh:order 30 ; + sh:path dcterms:title ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path linkml:any_of ], + [ 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:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:minimum_value ], + [ 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 "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path schema1:keywords ], + [ 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:BlankNodeOrIRI ; + sh:order 13 ; + sh:path linkml:maximum_value ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 17 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + sh:description "The uri that defines the possible values for the type definition" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:type_uri ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 24 ; + sh:path linkml:implements ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path skos:exactMatch ], + [ 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:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "the name of the python object that implements this type definition" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:repr ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 48 ; + sh:path skos:closeMatch ], + [ 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:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:equals_number ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 38 ; sh:path linkml:imported_from ], + [ 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:nodeKind sh:Literal ; + sh:order 44 ; + sh:path skos:altLabel ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 14 ; + sh:path linkml:none_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:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 35 ; + sh:path linkml:examples ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path qudt:unit ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 43 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ 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:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:equals_string ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path linkml:todos ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 29 ; 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:nodeKind sh:BlankNodeOrIRI ; sh:order 27 ; sh:path linkml:annotations ], + [ 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:nodeKind sh:Literal ; + sh:order 10 ; + 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:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:structured_pattern ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 45 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 52 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 15 ; + sh:path linkml:exactly_one_of ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path sh:order ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 26 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "python base type in the LinkML runtime that implements this type definition" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:base ], + [ 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:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 22 ; + sh:path linkml:local_names ], + [ 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:pattern ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path linkml:deprecated_element_has_exact_replacement ] ; + 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: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:ReachabilityQuery ; + sh:description "Specifies a query for obtaining a list of permissible values based on graph reachability" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 8 ; + sh:path linkml:reachable_from ], + [ 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:datatype xsd:anyURI ; + sh:description "the identifier of an enumeration code set." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:code_set ], + [ 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:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:minus ], + [ 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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:matches ], + [ sh:datatype xsd:string ; + sh:description "the version tag of the enumeration code set" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:code_set_tag ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of identifiers that are used to construct a set of permissible values" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:concepts ], + [ 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: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:BlankNodeOrIRI ; + sh:order 5 ; + sh:path linkml:include ], + [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:code_set_version ] ; + sh:targetClass linkml:AnonymousEnumExpression . + +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:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 25 ; + sh:path linkml:implements ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 48 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of identifiers that are used to construct a set of permissible values" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:concepts ], + [ sh:datatype xsd:string ; + sh:description "the version identifier of the enumeration code set" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:code_set_version ], + [ 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:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:id_prefixes_are_closed ], + [ 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:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:include ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path dcterms:contributor ], + [ 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:BlankNodeOrIRI ; + sh:order 7 ; + sh:path linkml:minus ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 27 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path bibo:status ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + 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 37 ; + sh:path OIO:inSubset ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 46 ; + sh:path skosxl:altLabel ], + [ 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:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 47 ; + sh:path skos:mappingRelation ], + [ 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 12 ; + sh:path linkml:is_a ], + [ sh:datatype xsd:string ; + sh:description "Description of why and when this element will no longer be used" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path dcterms:conformsTo ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 35 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 36 ; sh:path linkml:examples ], - [ sh:description "The uri that defines the possible values for the type definition" ; + [ 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 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:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path rdfs:label ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 58 ; - sh:path sh:order ], + sh:nodeKind sh:Literal ; + sh:order 43 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:values_from ], + [ 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: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 46 ; - sh:path skos:mappingRelation ], - [ sh:description "status of the element" ; + 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:nodeKind sh:Literal ; + sh:order 31 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 57 ; - sh:path bibo:status ], + sh:path oslc:modifiedBy ], + [ 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 8 ; + sh:path linkml:inherits ], [ sh:datatype xsd:string ; - sh:description "python base type in the LinkML runtime that implements this type definition" ; + 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:nodeKind sh:Literal ; + sh:order 45 ; + 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 1 ; - sh:path linkml:base ], - [ sh:class linkml:Any ; - sh:description "For ordinal ranges, the value must be equal to or lower than this" ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 13 ; - sh:path linkml:maximum_value ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:nodeKind sh:Literal ; + sh:order 44 ; + 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 54 ; - sh:path pav:createdOn ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:mixin ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:definition ], + [ 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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:reachable_from ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; sh:order 51 ; - sh:path skos:broadMatch ], + 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:BlankNodeOrIRI ; + sh:order 28 ; + sh:path linkml:annotations ], [ 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:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:id_prefixes_are_closed ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:abstract ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path qudt:unit ], + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + sh:path skos:relatedMatch ], [ sh:datatype xsd:string ; - sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; 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:path linkml:todos ], + [ 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:datatype xsd:anyURI ; + sh:defaultValue linkml:EnumDefinition ; + 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 42 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:enum_uri ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; + 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 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: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:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:typeof ], - [ sh:description "agent that contributed to the element" ; - sh:order 53 ; - sh:path dcterms:contributor ], + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path linkml:string_serialization ], + [ sh:datatype xsd:string ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path linkml:imported_from ], [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:string ; - sh:description "the version identifier of the enumeration code set" ; + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + sh:description "the identifier of an enumeration code set." ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:code_set_version ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:code_set ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path skos:closeMatch ], [ 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:path linkml:pv_formula ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 0 ; - sh:path linkml:code_set ], + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path dcterms:source ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path skos:editorialNote ], [ sh:datatype xsd:string ; sh:description "the version tag of the enumeration code set" ; sh:maxCount 1 ; - sh:order 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; 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: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: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:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:id_prefixes ], [ 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:targetClass linkml:AnonymousEnumExpression . + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:matches ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 52 ; + sh:path skos:broadMatch ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 30 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path pav:createdBy ] ; + sh:targetClass linkml:EnumDefinition . 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: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 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:property [ sh:class linkml:PathExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:any_of ], + [ 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:nodeKind sh:Literal ; + sh:order 12 ; + sh:path dcterms:title ], [ sh:datatype xsd:string ; sh:description "the primary language used in the sources" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 "agent that contributed to the element" ; - sh:order 35 ; - sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path skos:closeMatch ], + [ sh:class linkml:PathExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:exactly_one_of ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 17 ; sh:path linkml:examples ], [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; 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:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path dcterms:contributor ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + 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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; 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:nodeKind sh:Literal ; + sh:order 34 ; + sh:path pav:createdBy ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + 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 20 ; - sh:path linkml:imported_from ], - [ sh:datatype xsd:boolean ; - sh:description "true if the slot is to be inversed" ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path linkml:reversed ], + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path skos:relatedMatch ], [ sh:datatype xsd:string ; sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; 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:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + 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 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:datatype xsd:string ; - sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 16 ; - sh:path skos:note ], + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path pav:lastUpdatedOn ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 8 ; - sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path skos:broadMatch ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 13 ; - sh:path linkml:deprecated ], + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path skos:definition ], + [ 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:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 11 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:exactMatch ], [ 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 "A related resource from which the element is derived." ; - sh:maxCount 1 ; - sh:order 21 ; - sh:path dcterms:source ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - sh:order 34 ; - sh:path pav:createdBy ], - [ sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; 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:nodeKind sh:BlankNodeOrIRI ; 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: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:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; - sh:maxCount 1 ; - 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 ; - sh:nodeKind sh:BlankNode ; - sh:order 7 ; - sh:path linkml:range_expression ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 24 ; 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 28 ; - sh:path skos:mappingRelation ], - [ sh:description "agent that modified the element" ; + [ sh:datatype xsd:integer ; + sh:description "the relative order in which the element occurs, lower values are given precedence" ; 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:nodeKind sh:Literal ; + sh:order 40 ; + sh:path sh:order ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; sh:order 15 ; sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path skos:note ], + [ 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:boolean ; + sh:description "true if the slot is to be inversed" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:reversed ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:PathExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + 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:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path bibo:status ], [ sh:class linkml:PathExpression ; sh:description "in a sequential list, this indicates the next member" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 0 ; sh:path linkml:followed_by ] ; sh:targetClass linkml:PathExpression . @@ -3077,167 +4296,214 @@ 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 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 1 ; - sh:path linkml:interpolated ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; - sh:maxCount 1 ; - 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:property [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 12 ; sh:path linkml:examples ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:mappingRelation ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + 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:nodeKind sh:Literal ; + sh:order 15 ; + sh:path linkml:imported_from ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + 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:nodeKind sh:Literal ; 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:description "a textual description of the element's purpose and use" ; 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path skos:definition ], [ 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 "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:note ], [ 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:nodeKind sh:BlankNodeOrIRI ; sh:order 22 ; sh:path skosxl:altLabel ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 36 ; - sh:path dcterms:subject ], - [ 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 "status of the element" ; - sh:maxCount 1 ; - sh:order 34 ; - 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 13 ; - sh:path OIO:inSubset ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 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 0 ; - sh:path linkml:syntax ], - [ sh:description "agent that created the element" ; - sh:maxCount 1 ; - 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: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:datatype xsd:boolean ; + sh:description "if true then the pattern is first string interpolated" ; sh:maxCount 1 ; - sh:order 33 ; - sh:path oslc:modifiedBy ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:interpolated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:narrowMatch ], [ 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:nodeKind sh:Literal ; 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: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 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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:syntax ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; 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: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:nodeKind sh:Literal ; + sh:order 34 ; + sh:path bibo:status ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:closeMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path rdfs:seeAlso ], [ sh:datatype xsd:anyURI ; sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 14 ; sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:lastUpdatedOn ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:exactMatch ], [ 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 "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:nodeKind sh:Literal ; + sh:order 21 ; + sh:path skos: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 13 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path dcterms:subject ], [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; + 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 17 ; - sh:path schema1:inLanguage ], + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path dcterms:title ], [ sh:datatype xsd:integer ; sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 35 ; sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path pav:createdBy ], [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; + sh:description "time at which the element was created" ; 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:nodeKind sh:Literal ; + sh:order 31 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:todos ] ; sh:targetClass linkml:PatternExpression . qudt:Unit a sh:NodeShape ; @@ -3245,111 +4511,255 @@ qudt:Unit a sh:NodeShape ; 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:datatype xsd:string ; + sh:description "the spelled out name of the unit, for example, meter" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path rdfs:label ], + [ 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:nodeKind sh:Literal ; sh:order 1 ; sh:path qudt:abbreviation ], - [ sh:datatype xsd:string ; - sh:description "the spelled out name of the unit, for example, meter" ; + [ sh:datatype xsd:anyURI ; + sh:description "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path rdfs:label ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path qudt:hasQuantityKind ], [ sh:datatype xsd:string ; sh:description "Expression for deriving this unit from other units" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:string ; - sh:description "name of the unit encoded as a symbol" ; sh:maxCount 1 ; - sh:order 0 ; - sh:path qudt:symbol ], + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path qudt:iec61360Code ], [ sh:datatype xsd:string ; sh:description "associates a QUDT unit with its UCUM code (case-sensitive)." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:datatype xsd:string ; + sh:description "name of the unit encoded as a symbol" ; sh:maxCount 1 ; - sh:order 7 ; - sh:path qudt:iec61360Code ] ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path qudt:symbol ] ; sh:targetClass qudt:Unit . -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 "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 11 ; - sh:path linkml:slot_names_unique ], +linkml:Definition a sh:NodeShape ; + sh:closed false ; + sh:description "abstract base class for core metaclasses" ; + sh:ignoredProperties ( linkml:is_grouping_slot owl:inverseOf linkml:represents_relationship linkml:implicit_prefix linkml:code_set linkml:usage_slot_name linkml:defining_slots linkml:code_set_tag linkml:disjoint_with linkml:slot_names_unique skos:prefLabel linkml:maximum_cardinality linkml:include linkml:code_set_version linkml:all_of linkml:relational_role linkml:locally_reflexive linkml:reflexive_transitive_form_of linkml:inherited linkml:list_elements_unique linkml:class_uri linkml:range_expression linkml:union_of linkml:recommended linkml:transitive_form_of linkml:slots sh:rule linkml:array qudt:unit linkml:equals_string_in linkml:equals_number linkml:none_of linkml:concepts linkml:minus linkml:type_mappings linkml:is_usage_slot linkml:enum_uri linkml:irreflexive linkml:asymmetric linkml:minimum_value linkml:unique_keys linkml:slot_conditions linkml:list_elements_ordered linkml:enum_range linkml:pv_formula linkml:exact_cardinality linkml:equals_string linkml:value_presence linkml:has_member linkml:designates_type linkml:exactly_one_of linkml:structured_pattern linkml:permissible_values linkml:path_rule linkml:bindings linkml:reflexive linkml:classification_rules linkml:is_class_field linkml:slot_usage linkml:reachable_from linkml:multivalued linkml:symmetric linkml:any_of linkml:ifabsent sh:group rdfs:subPropertyOf linkml:required linkml:minimum_cardinality linkml:transitive linkml:identifier linkml:extra_slots linkml:slot_uri linkml:inlined_as_list linkml:owner linkml:inlined linkml:domain_of linkml:all_members rdf:type linkml:equals_expression linkml:attributes linkml:role linkml:range linkml:maximum_value linkml:key linkml:pattern linkml:shared linkml:inherits linkml:matches linkml:readonly linkml:singular_name linkml:tree_root linkml:children_are_mutually_disjoint linkml:subclass_of linkml:domain ) ; + sh:property [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:values_from ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:todos ], [ 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 54 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 34 ; 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:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 48 ; + sh:path dcterms:subject ], + [ 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:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:mixin ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 49 ; + sh:path schema1:keywords ], + [ 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:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 45 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 35 ; sh:path skos:mappingRelation ], - [ sh:description "agent that created the element" ; + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 61 ; - sh:path pav:createdBy ], + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:implements ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path skos:note ], + [ 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:nodeKind sh:Literal ; + sh:order 8 ; + 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 29 ; + sh:nodeKind sh:Literal ; + sh:order 9 ; sh:path linkml:id_prefixes_are_closed ], - [ sh:class linkml:SlotDefinition ; - sh:description "Inline definition of slots" ; - sh:nodeKind sh:IRI ; - 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:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 31 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 46 ; + sh:path bibo:status ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path skos:closeMatch ], [ sh:datatype xsd:string ; - sh:description "An established standard to which the element conforms." ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 32 ; - sh:path dcterms:conformsTo ], + sh:nodeKind sh:Literal ; + sh:order 17 ; + 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:nodeKind sh:Literal ; + sh:order 27 ; + sh:path linkml:imported_from ], + [ 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:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 15 ; + sh:path linkml:extensions ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 24 ; + sh:path linkml:examples ], + [ 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:nodeKind sh:Literal ; + sh:order 19 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path skos:narrowMatch ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 63 ; + sh:nodeKind sh:Literal ; + sh:order 43 ; sh:path pav:createdOn ], - [ sh:class linkml:ClassDefinition ; - sh:description "A collection of secondary parent mixin classes from which inheritable metaslots are propagated" ; + [ 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:nodeKind sh:Literal ; + sh:order 7 ; + sh:path rdfs:label ], + [ 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 23 ; + sh:order 3 ; sh:path linkml:mixins ], - [ sh:class linkml:SlotDefinition ; - sh:description "the refinement of a slot in the context of the containing class definition." ; + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 11 ; + sh:path linkml:local_names ], + [ 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 1 ; - sh:path linkml:slot_usage ], + sh:order 25 ; + sh:path OIO:inSubset ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 18 ; + sh:path linkml:alt_descriptions ], [ 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 21 ; + sh:nodeKind sh:Literal ; + sh:order 1 ; 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. @@ -3357,565 +4767,578 @@ We call the slot with the serialization the s-slot, the slots used in the {}s ar 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:nodeKind sh:Literal ; + sh:order 6 ; sh:path linkml:string_serialization ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:inScheme ], [ sh:datatype xsd:integer ; sh:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - sh:order 67 ; + sh:nodeKind sh:Literal ; + sh:order 47 ; sh:path sh:order ], - [ 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: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 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 65 ; - sh:path oslc:modifiedBy ], - [ 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:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; + 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 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:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:definition_uri ], + [ 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:nodeKind sh:Literal ; 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:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path dcterms:conformsTo ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 64 ; + sh:nodeKind sh:Literal ; + sh:order 44 ; sh:path pav:lastUpdatedOn ], - [ sh:datatype xsd:string ; - sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 42 ; - sh:path skos:editorialNote ], - [ sh:description "A related resource from which the element is derived." ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 48 ; - sh:path dcterms:source ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 68 ; - sh:path dcterms:subject ], + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path skos:exactMatch ], [ 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:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - 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 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 8 ; - sh:path linkml:unique_keys ], + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path skos:relatedMatch ] ; + sh:targetClass linkml:Definition . + +linkml:LocalName a sh:NodeShape ; + sh:closed true ; + sh:description "an attributed label" ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:string ; + sh:description "the ncname of the source of the name" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:local_name_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:description "a name assigned to an element in a given ontology" ; sh:maxCount 1 ; sh:minCount 1 ; - sh:order 27 ; - sh:path rdfs:label ], + sh:nodeKind sh:Literal ; + sh:order 1 ; + sh:path skos:altLabel ] ; + sh:targetClass linkml:LocalName . + +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:datatype xsd:boolean ; + sh:description "true if this class represents a relationship rather than an entity" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path linkml:represents_relationship ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 70 ; + sh:path schema1:keywords ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 45 ; + sh:path linkml:examples ], + [ 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:nodeKind sh:Literal ; + sh:order 23 ; + sh:path linkml:mixin ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 39 ; + sh:path linkml:alt_descriptions ], [ sh:class linkml:AnonymousClassExpression ; sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 17 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 18 ; 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:nodeKind sh:Literal ; sh:order 14 ; sh:path linkml:children_are_mutually_disjoint ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 16 ; + sh:path linkml:any_of ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 34 ; + sh:path linkml:implements ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + 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:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:slot_names_unique ], [ 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: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 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 25 ; + sh:path linkml:apply_to ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; sh:order 35 ; - sh:path linkml:extensions ], - [ 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 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 47 ; - 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 52 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:path linkml:instantiates ], [ sh:class linkml:ClassDefinition ; sh:description "A primary parent class from which inheritable metaslots are propagated" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 20 ; + sh:order 21 ; 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 40 ; - sh:path linkml:deprecated ], + [ 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:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 56 ; + sh:path skos:mappingRelation ], [ 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 45 ; + sh:order 46 ; sh:path OIO:inSubset ], - [ 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 37 ; - sh:path skos:definition ], [ sh:class linkml:SlotDefinition ; - sh:description "expresses constraints on a group of slots for a class expression" ; + sh:description "the refinement of a slot in the context of the containing class definition." ; 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:order 1 ; + sh:path linkml:slot_usage ], [ 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:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; 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:nodeKind sh:Literal ; + sh:order 49 ; + sh:path dcterms:source ], + [ sh:class linkml:ClassRule ; + sh:description "the collection of rules that apply to all members of this class" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; + sh:path sh:rule ], + [ sh:datatype xsd:anyURI ; + sh:defaultValue linkml:ClassDefinition ; + 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 66 ; - sh:path bibo:status ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:class_uri ], [ 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: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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path rdfs:label ], + [ sh:class linkml:SlotDefinition ; + sh:description "expresses constraints on a group of slots for a class expression" ; sh:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:is_a ], - [ 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 "agent that modified the element" ; + sh:order 20 ; + sh:path linkml:slot_conditions ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 37 ; + sh:path linkml:annotations ], + [ 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 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:nodeKind sh:Literal ; + sh:order 40 ; + sh:path dcterms:title ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 10 ; - sh:path linkml:definition_uri ], + sh:nodeKind sh:Literal ; + sh:order 65 ; + sh:path pav:lastUpdatedOn ], [ 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 "the imports entry that this element was derived from. Empty means primary source" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 48 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 61 ; + 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: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 9 ; - sh:path linkml:id_prefixes_are_closed ], + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path linkml:tree_root ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 67 ; + sh:path bibo:status ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 17 ; + sh:path linkml:exactly_one_of ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path linkml:values_from ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 50 ; + 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 33 ; + sh:nodeKind sh:Literal ; + sh:order 54 ; 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:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 62 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 31 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 69 ; + sh:path dcterms:subject ], [ 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:nodeKind sh:Literal ; + sh:order 29 ; sh:path linkml:id_prefixes ], - [ sh:description "agent that created the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 41 ; - sh:path pav:createdBy ], - [ sh:datatype xsd:string ; - sh:description "Outstanding issues that needs resolution" ; - sh:order 21 ; - sh:path linkml:todos ], + sh:nodeKind sh:Literal ; + sh:order 52 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 36 ; + sh:path linkml:extensions ], + [ sh:class linkml:ExtraSlotsExpression ; + sh:description """How a class instance handles extra data not specified in the class definition. +Note that this does *not* define the constraints that are placed on additional slots defined by inheriting classes. + +Possible values: +- `allowed: true` - allow all additional data +- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - + forbid all additional data (default) +- `range_expression: ...` - allow additional data if it matches the slot expression (see examples) +""" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 15 ; + sh:path linkml:extra_slots ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 43 ; + sh:nodeKind sh:Literal ; + sh:order 64 ; 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: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:nodeKind sh:Literal ; + sh:order 30 ; + sh:path linkml:id_prefixes_are_closed ], [ 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:nodeKind sh:Literal ; + sh:order 68 ; sh:path sh:order ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 48 ; - sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path skos:narrowMatch ], [ 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:nodeKind sh:Literal ; + sh:order 22 ; 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 35 ; - sh:path skos:mappingRelation ], - [ 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:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + 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 20 ; + sh:nodeKind sh:Literal ; + sh:order 41 ; 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 pav:lastUpdatedOn ], - [ sh:description "status of the element" ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 66 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 43 ; + sh:path skos:editorialNote ], + [ 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:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:classification_rules ], + [ sh:datatype xsd:anyURI ; + sh:description "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" ; sh:maxCount 1 ; - 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:Literal ; + sh:order 4 ; + sh:path linkml:subclass_of ], + [ sh:class linkml:SlotDefinition ; + sh:description "collection of slot names that are applicable to a class" ; 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:order 0 ; + sh:path linkml:slots ], + [ 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 4 ; - sh:path linkml:apply_to ], - [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; - sh:maxCount 1 ; - 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 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: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:order 24 ; + 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: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:nodeKind sh:Literal ; + sh:order 27 ; 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:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path skos:definition ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 44 ; + sh:path skos:note ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 55 ; + sh:path skosxl:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path linkml:todos ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:datatype xsd:string ; - sh:description "a name assigned to an element in a given ontology" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 1 ; - sh:path skos:altLabel ], + sh:path linkml:local_names ], [ sh:datatype xsd:string ; - sh:description "the ncname of the source of the name" ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 0 ; - sh:path linkml:local_name_source ] ; - sh:targetClass linkml:LocalName . + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path dcterms:conformsTo ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 58 ; + sh:path skos:closeMatch ], + [ 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:BlankNodeOrIRI ; + sh:order 8 ; + sh:path linkml:unique_keys ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 19 ; + sh:path linkml:all_of ], + [ 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:targetClass linkml:ClassDefinition . 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: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:property [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; + sh:path linkml:all_of ], + [ 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 6 ; - sh:path linkml:equals_number ], + sh:nodeKind sh:Literal ; + 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:description "the slot must have range string and the value of the slot must equal the specified value" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:equals_string ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path qudt: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:nodeKind sh:BlankNodeOrIRI ; 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:path linkml:structured_pattern ], + [ 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:equals_string_in ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if none of the expressions hold" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; 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: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 4 ; - sh:path linkml:equals_string ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:equals_number ], [ 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:nodeKind sh:BlankNodeOrIRI ; sh:order 8 ; sh:path linkml:maximum_value ], - [ sh:datatype xsd:string ; - sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; + [ sh:class linkml:AnonymousTypeExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 11 ; + sh:path linkml:any_of ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; - sh:order 3 ; - sh:path linkml:implicit_prefix ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path linkml:minimum_value ], [ sh:class linkml:AnonymousTypeExpression ; sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 10 ; sh:path linkml:exactly_one_of ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + [ 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:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path qudt:unit ], - [ 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: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:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:pattern ] ; sh:targetClass linkml:AnonymousTypeExpression . linkml:Any a sh:NodeShape ; @@ -3927,9 +5350,45 @@ linkml:Any a sh:NodeShape ; linkml:AnonymousSlotExpression a sh:NodeShape ; sh:closed true ; sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "Controlled terms used to categorize an element." ; - sh:order 60 ; - sh:path dcterms:subject ], + sh:property [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 49 ; + sh:path skosxl:altLabel ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 33 ; + sh:path linkml:alt_descriptions ], + [ 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 40 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 59 ; + 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:nodeKind sh:Literal ; + sh:order 35 ; + sh:path linkml:deprecated ], + [ 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:nodeKind sh:Literal ; + sh:order 16 ; + sh:path linkml:equals_string ], + [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 29 ; + sh:path linkml:array ], [ sh:class linkml:Element ; sh:description """defines the type of the object of the slot. Given the following slot definition S1: @@ -3945,561 +5404,389 @@ implicitly asserts Y is an instance of C2 sh:nodeKind sh:IRI ; sh:order 0 ; sh:path linkml:range ], - [ sh:class linkml:EnumExpression ; - sh:description "An inlined enumeration" ; + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 57 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:enum_range ], + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:definition ], [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 12 ; 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: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:nodeKind sh:BlankNode ; - 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:nodeKind sh:Literal ; + sh:order 34 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; 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 51 ; - sh:path skos:narrowMatch ], + sh:nodeKind sh:Literal ; + sh:order 56 ; + sh:path pav:createdBy ], + [ sh:datatype xsd:string ; + sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 53 ; + sh:path skos:relatedMatch ], [ 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:nodeKind sh:Literal ; + sh:order 7 ; 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 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:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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 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 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 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 48 ; - sh:path skos:exactMatch ], + sh:path linkml:none_of ], [ sh:class linkml:AnonymousSlotExpression ; sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 26 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 28 ; 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 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: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:description "the slot must have range of a number and the value of the slot must equal the specified value" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 dcterms:title ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; - sh:maxCount 1 ; - 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 27 ; - 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 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 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 9 ; - sh:path linkml:pattern ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; - sh:maxCount 1 ; - 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 37 ; - sh:path OIO:inSubset ], - [ 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:description "status of the element" ; - sh:maxCount 1 ; - 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: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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:minimum_value ], [ 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: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 4 ; - sh:path linkml:recommended ], + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path linkml:inlined_as_list ], [ sh:datatype xsd:string ; - sh:description "the value of the slot must equal the value of the evaluated expression" ; + sh:description "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" ; 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:nodeKind sh:Literal ; + sh:order 14 ; + sh:path linkml:implicit_prefix ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path skos:definition ], + sh:nodeKind sh:Literal ; + sh:order 61 ; + sh:path bibo:status ], [ 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:nodeKind sh:Literal ; + sh:order 4 ; sh:path linkml:required ], + [ 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:BlankNodeOrIRI ; + sh:order 10 ; + sh:path linkml:maximum_value ], + [ sh:class linkml:EnumExpression ; + sh:description "An inlined enumeration" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:enum_range ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 30 ; + sh:path linkml:extensions ], [ 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 21 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; 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 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 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: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:description "the relative order in which the element occurs, lower values are given precedence" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 62 ; + sh:path sh:order ], + [ sh:description "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" ; + sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; sh:maxCount 1 ; - sh:order 19 ; - sh:path linkml:minimum_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 46 ; - sh:path skosxl:altLabel ], - [ sh:description "A related resource from which the element is derived." ; + sh:order 15 ; + sh:path linkml:value_presence ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 51 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 58 ; + sh:path pav:createdOn ], [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 36 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 39 ; sh:path linkml:examples ], - [ sh:class linkml:Any ; - sh:description "For ordinal ranges, the value must be equal to or lower than this" ; + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 8 ; - sh:path linkml:maximum_value ] ; - sh:targetClass linkml:AnonymousSlotExpression . - -linkml:AnonymousClassExpression a sh:NodeShape ; - sh:closed true ; - sh:ignoredProperties ( rdf:type ) ; - sh:property [ sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; sh:order 21 ; + sh:path linkml:minimum_cardinality ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 45 ; 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:description "the string value of the slot must conform to this regular expression expressed in the string" ; sh:maxCount 1 ; - sh:order 22 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:pattern ], [ 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: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 32 ; - sh:path pav:createdBy ], - [ sh:description "status of the element" ; - sh:maxCount 1 ; - 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:nodeKind sh:IRI ; - sh:order 0 ; - sh:path linkml:is_a ], - [ sh:description "agent that modified the element" ; + sh:description "the value of the slot must equal the value of the evaluated expression" ; sh:maxCount 1 ; - 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 25 ; - sh:path skosxl:altLabel ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:equals_expression ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - 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 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:nodeKind sh:Literal ; + sh:order 44 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 55 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + 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 pav:lastUpdatedOn ], + sh:nodeKind sh:Literal ; + sh:order 46 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ 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:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:equals_string_in ], [ sh:datatype xsd:string ; sh:description "notes and comments about an element intended primarily for external consumption" ; - sh:order 14 ; + sh:nodeKind sh:Literal ; + sh:order 38 ; sh:path skos:note ], - [ sh:description "A related resource from which the element is derived." ; + [ 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 19 ; - sh:path dcterms:source ], - [ 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 "agent that contributed to the element" ; - sh:order 33 ; - sh:path dcterms:contributor ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:multivalued ], [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 31 ; sh:path linkml:annotations ], - [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 63 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; 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 15 ; - sh:path linkml:examples ], + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 50 ; + sh:path skos:mappingRelation ], [ sh:datatype xsd:integer ; - 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: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 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:order 10 ; - sh:path dcterms:title ], - [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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 1 ; - sh:path linkml:any_of ], + sh:path linkml:exact_cardinality ], + [ 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:nodeKind sh:Literal ; + sh:order 48 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 64 ; + sh:path schema1:keywords ], [ 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:nodeKind sh:Literal ; + sh:order 42 ; 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:datatype xsd:integer ; + sh:description "the maximum number of entries for a multivalued slot" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path linkml:maximum_cardinality ], + [ sh:class linkml:AnonymousSlotExpression ; sh:description "holds if only one of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 26 ; 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 9 ; - sh:path linkml:alt_descriptions ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 1 ; + sh:path linkml:range_expression ], + [ 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:nodeKind sh:Literal ; + sh:order 5 ; + sh:path linkml:recommended ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path qudt:unit ], [ sh:datatype xsd:anyURI ; - sh:description "id of the schema that defined the element" ; + 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 skos:inScheme ] ; - sh:targetClass linkml:AnonymousClassExpression . + sh:nodeKind sh:Literal ; + sh:order 47 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 60 ; + sh:path oslc:modifiedBy ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path linkml:todos ], + [ 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:BlankNodeOrIRI ; + sh:order 24 ; + sh:path linkml:all_members ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 52 ; + sh:path skos:closeMatch ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 27 ; + sh:path linkml:any_of ], + [ sh:class linkml:EnumBinding ; + sh:description """A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration. +LinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically). +Enum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.""" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:bindings ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 54 ; + sh:path skos:narrowMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 43 ; + sh:path dcterms:source ] ; + sh:targetClass linkml:AnonymousSlotExpression . 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: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: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: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 99 ; - sh:path skosxl:altLabel ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "holds if all of the expressions hold" ; - sh:nodeKind sh:BlankNode ; - sh:order 64 ; - sh:path linkml:all_of ], + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path linkml:list_elements_ordered ], [ 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 13 ; - sh:path linkml:designates_type ], - [ sh:class qudt:Unit ; - sh:description "an encoding of a unit" ; + sh:description "true if this slot is a grouping slot" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 49 ; - sh:path qudt:unit ], - [ sh:class linkml:EnumExpression ; - sh:description "An inlined enumeration" ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path linkml:is_grouping_slot ], + [ sh:datatype xsd:boolean ; + sh:description "True means that this slot was defined in a slot_usage situation" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 40 ; - sh:path linkml:enum_range ], + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path linkml:is_usage_slot ], [ 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: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 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 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 8 ; - sh:path linkml:list_elements_unique ], + sh:order 71 ; + sh:path linkml:apply_to ], [ 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:description "True means that the key slot(s) uniquely identify the elements within a single container" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:key ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 109 ; - sh:path pav:lastUpdatedOn ], + sh:nodeKind sh:Literal ; + sh:order 108 ; + sh:path pav:createdBy ], [ sh:class linkml:SlotDefinition ; - sh:description "indicates that the domain element consists exactly of the members of the element in the range." ; + 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 37 ; - sh:path linkml:union_of ], + sh:order 33 ; + sh:path linkml:disjoint_with ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 78 ; + sh:path linkml:local_names ], + [ 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 70 ; + sh:path linkml:mixins ], [ 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: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: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 28 ; - sh:path linkml:role ], - [ sh:class linkml:ClassDefinition ; - sh:description """defines the type of the subject of the slot. Given the following slot definition + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path linkml:locally_reflexive ], + [ 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 @@ -4507,143 +5794,180 @@ the declaration X: S1: Y -implicitly asserts that X is an instance of C1 +implicitly asserts Y is an instance of C2 """ ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - sh:order 1 ; - sh:path linkml:domain ], + sh:order 37 ; + sh:path linkml:range ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 83 ; + sh:path linkml:annotations ], [ 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:description "The name of the slot referenced in the slot_usage" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path linkml:usage_slot_name ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 113 ; + sh:path bibo:status ], + [ 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:BlankNodeOrIRI ; + sh:order 32 ; + sh:path linkml:path_rule ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 88 ; + sh:path linkml:todos ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 63 ; + sh:path linkml:exactly_one_of ], + [ 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:Literal ; + sh:order 56 ; + sh:path linkml:equals_expression ], + [ 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 24 ; + sh:path linkml:transitive_form_of ], + [ 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:nodeKind sh:Literal ; + sh:order 86 ; + sh:path dcterms:title ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 116 ; + sh:path schema1:keywords ], + [ 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:Literal ; + sh:order 51 ; + 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:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 61 ; + sh:path linkml:all_members ], + [ 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:nodeKind sh:Literal ; + sh:order 34 ; + sh:path linkml:children_are_mutually_disjoint ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 106 ; + 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:nodeKind sh:Literal ; + sh:order 87 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 97 ; + sh:path rdfs:seeAlso ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 103 ; + sh:path skos:exactMatch ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 87 ; + sh:nodeKind sh:Literal ; + sh:order 89 ; 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: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: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 55 ; - sh:path linkml:equals_expression ], - [ sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:nodeKind sh:Literal ; + sh:order 45 ; + sh:path linkml:inlined_as_list ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 98 ; + sh:path linkml:deprecated_element_has_exact_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 50 ; - sh:path linkml:implicit_prefix ], + sh:nodeKind sh:Literal ; + sh:order 69 ; + sh:path linkml:mixin ], [ 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 26 ; - sh:path linkml:transitive_form_of ], - [ 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: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: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: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:path rdfs:subPropertyOf ], + [ 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: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:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:asymmetric ], [ sh:datatype xsd:string ; sh:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; - sh:order 82 ; + sh:nodeKind sh:Literal ; + sh:order 84 ; 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 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:order 85 ; - sh:path linkml:deprecated ], - [ sh:description "agent that modified the element" ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 110 ; - sh:path oslc:modifiedBy ], - [ sh:class linkml:Any ; - sh:description "For ordinal ranges, the value must be equal to or higher than this" ; + sh:nodeKind sh:Literal ; + sh:order 94 ; + sh:path linkml:imported_from ], + [ 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 45 ; - sh:path linkml:minimum_value ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 60 ; + sh:path linkml:has_member ], [ 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:description "a textual descriptor that indicates the role played by the slot range" ; sh:maxCount 1 ; - sh:minCount 1 ; - sh:order 72 ; - sh:path rdfs:label ], + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path linkml:role ], [ 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 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: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 112 ; - sh:path sh:order ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:nodeKind sh:Literal ; + sh:order 42 ; + sh:path linkml:recommended ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "A range that is described as a boolean expression combining existing ranges" ; sh:maxCount 1 ; - 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 38 ; + sh:path linkml:range_expression ], [ 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: + sh:description """function that provides a default value for the slot. * [Tt]rue -- boolean True * [Ff]alse -- boolean False * bnode -- blank node identifier @@ -4654,515 +5978,895 @@ implicitly asserts Y is an instance of C2 * int(value) -- integer value * slot_uri -- URI for the slot * slot_curie -- CURIE for the slot - * string(value) -- string value""" ; + * string(value) -- string value + * EnumName(PermissibleValue) -- enum value""" ; sh:maxCount 1 ; - sh:order 7 ; + sh:nodeKind sh:Literal ; + sh:order 5 ; sh:path linkml:ifabsent ], - [ sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + [ 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:Literal ; + sh:order 10 ; + sh:path linkml:identifier ], + [ 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:BlankNodeOrIRI ; + sh:order 47 ; + sh:path linkml:maximum_value ], + [ 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:nodeKind sh:Literal ; + sh:order 73 ; + sh:path linkml:string_serialization ], + [ 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:nodeKind sh:Literal ; + sh:order 100 ; + 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:nodeKind sh:Literal ; + sh:order 114 ; + sh:path sh:order ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 65 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; sh:order 102 ; - sh:path skos:closeMatch ], - [ sh:description "agent that contributed to the element" ; - sh:order 107 ; - sh:path dcterms:contributor ], + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "If present, slot is read only. Text explains why" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 4 ; + sh:path linkml:readonly ], + [ 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 22 ; + sh:path owl:inverseOf ], + [ 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 92 ; + sh:path OIO:inSubset ], [ sh:datatype xsd:boolean ; - sh:description "True means that the key slot(s) uniquely identify the elements within a single container" ; + 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:Literal ; + sh:order 23 ; + sh:path linkml:is_class_field ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 96 ; + sh:path schema1:inLanguage ], + [ 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:BlankNodeOrIRI ; + sh:order 49 ; + sh:path linkml:structured_pattern ], + [ 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:nodeKind sh:Literal ; + sh:order 43 ; + sh:path linkml:multivalued ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 115 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:boolean ; + sh:description "true means that the *value* of a slot is inherited by subclasses" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:inherited ], + [ sh:class qudt:Unit ; + sh:description "an encoding of a unit" ; + sh:maxCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 50 ; + sh:path qudt:unit ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 90 ; + sh:path skos:note ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 64 ; + sh:path linkml:any_of ], + [ sh:description "if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty)" ; + sh:in ( "UNCOMMITTED" "PRESENT" "ABSENT" ) ; + sh:maxCount 1 ; + sh:order 52 ; + sh:path linkml:value_presence ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 99 ; + sh:path linkml:deprecated_element_has_possible_replacement ], + [ sh:class linkml:ClassDefinition ; + sh:description """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 +""" ; + sh:maxCount 1 ; + sh:nodeKind sh:IRI ; + sh:order 1 ; + sh:path linkml:domain ], + [ sh:datatype xsd:boolean ; + sh:description "If s is irreflexive, then there exists no i such i.s=i" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path linkml:irreflexive ], + [ 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 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:nodeKind sh:Literal ; + sh:order 12 ; + sh:path skos:prefLabel ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 10 ; - sh:path linkml:shared ], + sh:nodeKind sh:Literal ; + sh:order 111 ; + sh:path pav:lastUpdatedOn ], [ sh:datatype xsd:boolean ; - sh:description "If s is transitive, and i.s=z, and s.s=j, then i.s=j" ; + 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: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:nodeKind sh:Literal ; + sh:order 76 ; + sh:path linkml:id_prefixes_are_closed ], + [ sh:class linkml:EnumExpression ; + sh:description "An inlined enumeration" ; sh:maxCount 1 ; - sh:order 6 ; - sh:path linkml:readonly ], + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 39 ; + sh:path linkml:enum_range ], [ sh:datatype xsd:string ; - sh:description "The name of the slot referenced in the slot_usage" ; + 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 30 ; - sh:path linkml:usage_slot_name ], + sh:minCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 74 ; + sh:path rdfs:label ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 72 ; + sh:path linkml:values_from ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 105 ; + sh:path skos:relatedMatch ], [ sh:class linkml:SlotDefinition ; - sh:description "A primary parent slot from which inheritable metaslots are propagated" ; + sh:description "transitive_form_of including the reflexive case" ; sh:maxCount 1 ; sh:nodeKind sh:IRI ; - 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:order 25 ; + sh:path linkml:reflexive_transitive_form_of ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 82 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:string ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 34 ; - sh:path linkml:path_rule ], + sh:nodeKind sh:Literal ; + sh:order 79 ; + sh:path dcterms:conformsTo ], + [ 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 30 ; + sh:path sh:group ], + [ sh:class linkml:AnonymousSlotExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 62 ; + sh:path linkml:none_of ], [ sh:datatype xsd:integer ; - sh:description "the minimum number of entries for a multivalued slot" ; + sh:description "the exact number of entries for a multivalued slot" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path linkml:exact_cardinality ], + [ 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 52 ; - sh:path linkml:equals_string ], + sh:order 29 ; + sh:path linkml:relational_role ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 101 ; + sh:path skosxl:altLabel ], [ 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: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 12 ; - sh:path linkml:identifier ], + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path linkml:shared ], + [ sh:class linkml:TypeMapping ; + sh:description "A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 36 ; + sh:path linkml:type_mappings ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 93 ; + sh:path skos:inScheme ], [ sh:datatype xsd:boolean ; - sh:description "If s is reflexive, then i.s=i for all instances i" ; + sh:description "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 68 ; + sh:path linkml:abstract ], + [ 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 56 ; - sh:path linkml:exact_cardinality ], + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:designates_type ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 85 ; + sh:path linkml:alt_descriptions ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 109 ; + sh:path dcterms:contributor ], [ 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:nodeKind sh:Literal ; + sh:order 16 ; 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: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 31 ; - sh:path linkml:relational_role ], + sh:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:list_elements_unique ], + [ 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:nodeKind sh:Literal ; + sh:order 48 ; + sh:path linkml:pattern ], [ sh:datatype xsd:integer ; sh:description "the maximum number of entries for a multivalued slot" ; sh:maxCount 1 ; - sh:order 58 ; + sh:nodeKind sh:Literal ; + sh:order 59 ; 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:nodeKind sh:BlankNode ; - 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 81 ; - sh:path linkml:annotations ], - [ 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:description "If s is transitive, and i.s=z, and s.s=j, then i.s=j" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path linkml:transitive ], + [ 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: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:order 13 ; + sh:path linkml:owner ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 2 ; - sh:path linkml:slot_uri ], + sh:nodeKind sh:Literal ; + sh:order 110 ; + sh:path pav:createdOn ], [ 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: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:nodeKind sh:Literal ; + sh:order 80 ; + sh:path linkml:implements ], [ 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 16 ; + sh:order 14 ; sh:path linkml:domain_of ], - [ sh:datatype xsd:string ; - sh:description "An established standard to which the element conforms." ; - sh:maxCount 1 ; - 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 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:description "true means that the slot must be present in instances of the class definition" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 41 ; + sh:path linkml:required ], + [ sh:class linkml:EnumBinding ; + sh:description """A collection of enum bindings that specify how a slot can be bound to a permissible value from an enumeration. +LinkML provides enums to allow string values to be restricted to one of a set of permissible values (specified statically or dynamically). +Enum bindings allow enums to be bound to any object, including complex nested objects. For example, given a (generic) class Concept with slots id and label, it may be desirable to restrict the values the id takes on in a given context. For example, a HumanSample class may have a slot for representing sample site, with a range of concept, but the values of that slot may be restricted to concepts from a particular branch of an anatomy ontology.""" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 40 ; + sh:path linkml:bindings ], + [ sh:datatype xsd:anyURI ; + 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 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 63 ; - sh:path linkml:any_of ], - [ sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:nodeKind sh:Literal ; + sh:order 77 ; + sh:path linkml:definition_uri ], + [ 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 35 ; + sh:path linkml:union_of ], + [ sh:class linkml:SlotDefinition ; + sh:description "A primary parent slot from which inheritable metaslots are propagated" ; sh:maxCount 1 ; - sh:order 96 ; - sh:path linkml:deprecated_element_has_exact_replacement ], + sh:nodeKind sh:IRI ; + sh:order 67 ; + sh:path linkml:is_a ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 91 ; + sh:path linkml:examples ], [ 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:nodeKind sh:Literal ; + sh:order 44 ; 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 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 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 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: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: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:nodeKind sh:BlankNodeOrIRI ; sh:order 66 ; - sh:path linkml:abstract ], - [ sh:description "status of the element" ; + sh:path linkml:array ], + [ 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 111 ; - 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:nodeKind sh:Literal ; + sh:order 55 ; + sh:path linkml:equals_number ], + [ sh:datatype xsd:anyURI ; + 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 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:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:slot_uri ], + [ sh:datatype xsd:integer ; + sh:description "the minimum number of entries for a multivalued slot" ; sh:maxCount 1 ; - 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:nodeKind sh:Literal ; + sh:order 58 ; + sh:path linkml:minimum_cardinality ], + [ sh:class linkml:Any ; + sh:description "For ordinal ranges, the value must be equal to or higher than this" ; sh:maxCount 1 ; - 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 46 ; + sh:path linkml:minimum_value ], + [ sh:datatype xsd:string ; + sh:description "a name that is used in the singular form" ; sh:maxCount 1 ; - sh:order 29 ; - sh:path linkml:is_usage_slot ], - [ sh:datatype xsd:boolean ; - sh:description "true if this slot is a grouping slot" ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:singular_name ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 81 ; + sh:path linkml:instantiates ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 107 ; + sh:path skos:broadMatch ], + [ 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 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:nodeKind sh:Literal ; + sh:order 53 ; + sh:path linkml:equals_string ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; sh:maxCount 1 ; - sh:order 42 ; - sh:path linkml:recommended ], + sh:nodeKind sh:Literal ; + sh:order 112 ; + sh:path oslc:modifiedBy ], [ 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:nodeKind sh:Literal ; + sh:order 75 ; 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 51 ; - sh:path linkml:value_presence ], - [ sh:class linkml:AnonymousSlotExpression ; - sh:description "the value of the slot is multivalued with all members satisfying the condition" ; + [ 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:nodeKind sh:Literal ; + sh:order 54 ; + sh:path linkml:equals_string_in ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 60 ; - sh:path linkml:all_members ], + sh:nodeKind sh:Literal ; + sh:order 95 ; + sh:path dcterms:source ], [ 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:class linkml:ArrayExpression ; - sh:description "coerces the value of the slot into an array and defines the dimensions of that array" ; + sh:description "If s is reflexive, then i.s=i for all instances i" ; sh:maxCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:array ], + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path linkml:reflexive ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 104 ; + sh:path skos:closeMatch ] ; + sh:targetClass linkml:SlotDefinition . + +linkml:AnonymousClassExpression a sh:NodeShape ; + sh:closed true ; + sh:ignoredProperties ( rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path rdfs:seeAlso ], + [ sh:class skosxl:Label ; + sh:description "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 25 ; + sh:path skosxl:altLabel ], [ sh:datatype xsd:string ; sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 94 ; + sh:nodeKind sh:Literal ; + sh:order 20 ; 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:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 93 ; - sh:path dcterms:source ], + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path pav:createdOn ], + [ sh:datatype xsd:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 17 ; + sh:path skos:inScheme ], [ 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:description "Description of why and when this element will no longer be used" ; 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 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:nodeKind sh:Literal ; + sh:order 11 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + 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:inherited ], - [ sh:description "agent that created the element" ; + sh:nodeKind sh:Literal ; + sh:order 38 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified 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:nodeKind sh:Literal ; + sh:order 36 ; + sh:path oslc:modifiedBy ], + [ sh:class linkml:Example ; sh:description "example usages of an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 12 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 15 ; sh:path linkml:examples ], - [ sh:description "agent that modified the element" ; - sh:maxCount 1 ; - sh:order 33 ; - sh:path oslc:modifiedBy ], + [ 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:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; - sh:order 10 ; + sh:nodeKind sh:Literal ; + sh:order 13 ; sh:path skos:editorialNote ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if none of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 3 ; + sh:path linkml:none_of ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 14 ; + sh:path skos:note ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 39 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path linkml:todos ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path skos:narrowMatch ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 6 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 8 ; - sh:path linkml:deprecated ], + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path bibo:status ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; + sh:path skos:exactMatch ], [ sh:class linkml:AltDescription ; sh:description "A sourced alternative description for an element" ; - sh:nodeKind sh:BlankNode ; - sh:order 6 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 9 ; 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:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path schema1:keywords ], + [ 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: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:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; sh:path linkml:annotations ], [ sh:datatype xsd:string ; - sh:description "a textual description of the element's purpose and use" ; + sh:description "the imports entry that this element was derived from. Empty means primary source" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path skos:definition ], + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path linkml:imported_from ], + [ 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:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:createdBy ], [ 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: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:nodeKind sh:Literal ; + sh:order 24 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:anyURI ; + 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 dcterms:source ], + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path linkml:deprecated_element_has_exact_replacement ], [ 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:nodeKind sh:Literal ; + sh:order 10 ; sh:path dcterms:title ], - [ sh:description "The category or categories of an alias. This can be drawn from any relevant vocabulary" ; + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if only one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:path linkml:exactly_one_of ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:closeMatch ], [ 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:description "a textual description of the element's purpose and use" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 8 ; + sh:path skos:definition ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if at least one of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; 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:path linkml:any_of ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 20 ; - sh:path linkml:deprecated_element_has_possible_replacement ], - [ sh:description "agent that created the element" ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path pav:lastUpdatedOn ], + [ sh:class linkml:AnonymousClassExpression ; + sh:description "holds if all of the expressions hold" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:all_of ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path dcterms:contributor ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 29 ; - sh:path pav:createdBy ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path dcterms:source ] ; + sh:targetClass linkml:AnonymousClassExpression . + +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:datatype xsd:anyURI ; + sh:description "status of the element" ; sh:maxCount 1 ; - sh:order 31 ; - sh:path pav:createdOn ], + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path bibo:status ], + [ 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:datatype xsd:string ; sh:description "The literal lexical form of a structured alias; i.e the actual alias value." ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:Literal ; sh:order 0 ; sh:path skosxl:literalForm ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:datatype xsd:string ; - sh:description "the primary language used in the sources" ; + 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:nodeKind sh:Literal ; + sh:order 22 ; + sh:path skos:altLabel ], + [ sh:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + sh:description "The context in which an alias should be applied" ; + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:alias_contexts ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; sh:maxCount 1 ; - sh:order 19 ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path pav:createdBy ], + [ sh:class linkml:Extension ; + sh:description "a tag/text tuple attached to an arbitrary element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:extensions ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 20 ; 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:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 27 ; sh:path skos:relatedMatch ], + [ sh:datatype xsd:string ; + sh:description "the primary language used in the sources" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 18 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path skos:exactMatch ], + [ 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:nodeKind sh:Literal ; + sh:order 8 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + 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:nodeKind sh:Literal ; + sh:order 12 ; + sh:path skos:note ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 6 ; + 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:nodeKind sh:Literal ; + sh:order 16 ; + 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:nodeKind sh:Literal ; + sh:order 9 ; + sh:path linkml:deprecated ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:broadMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path dcterms:contributor ], [ 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:nodeKind sh:BlankNodeOrIRI ; + sh:order 23 ; sh:path skosxl:altLabel ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 5 ; + sh:path linkml:annotations ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 13 ; + sh:path linkml:examples ], + [ sh:datatype xsd:string ; + sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path schema1:keywords ], + [ sh:datatype xsd:string ; + sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + sh:path linkml:todos ], [ sh:datatype xsd:dateTime ; sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 32 ; + sh:nodeKind sh:Literal ; + sh:order 33 ; 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 24 ; - sh:path skos:exactMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + 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 14 ; + sh:path OIO:inSubset ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos:closeMatch ], [ sh:datatype xsd:anyURI ; sh:description "id of the schema that defined the element" ; sh:maxCount 1 ; - sh:order 14 ; + sh:nodeKind sh:Literal ; + sh:order 15 ; 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:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + 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 35 ; + sh:nodeKind sh:Literal ; + sh:order 36 ; sh:path sh:order ], - [ sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; 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:path skos:narrowMatch ], [ 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:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; + sh:order 11 ; + sh:path skos:editorialNote ], + [ sh:datatype xsd:anyURI ; + sh:description "The category or categories of an alias. This can be drawn from any relevant vocabulary" ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 34 ; - sh:path bibo:status ] ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path pav:createdOn ], + [ sh:class linkml:AltDescription ; + sh:description "A sourced alternative description for an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 7 ; + sh:path linkml:alt_descriptions ] ; sh:targetClass skosxl:Label . linkml:AltDescription a sh:NodeShape ; @@ -5170,17 +6874,18 @@ linkml:AltDescription a sh:NodeShape ; 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:nodeKind sh:Literal ; sh:order 1 ; - sh:path linkml:alt_description_text ] ; + sh:path linkml:alt_description_text ], + [ sh:datatype xsd:string ; + sh:description "the source of an attributed description" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 0 ; + sh:path linkml:alt_description_source ] ; sh:targetClass linkml:AltDescription . linkml:Example a sh:NodeShape ; @@ -5190,17 +6895,19 @@ linkml:Example a sh:NodeShape ; sh:property [ sh:datatype xsd:string ; sh:description "description of what the value is doing" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; 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:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path linkml:value_object ], [ sh:datatype xsd:string ; sh:description "example value" ; sh:maxCount 1 ; + sh:nodeKind sh:Literal ; sh:order 0 ; sh:path skos:example ] ; sh:targetClass linkml:Example . @@ -5209,235 +6916,292 @@ 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:property [ sh:class linkml:Any ; + sh:description "the actual annotation" ; + sh:maxCount 1 ; + sh:minCount 1 ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 2 ; + sh:path linkml:extension_value ], + [ sh:datatype xsd:anyURI ; + sh:description "a tag associated with an extension" ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:Literal ; sh:order 1 ; sh:path linkml:extension_tag ], + [ sh:class linkml:Annotation ; + sh:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 0 ; + sh:path linkml:annotations ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; sh:order 3 ; - sh:path linkml:extensions ], - [ sh:class linkml:Any ; - sh:description "the actual annotation" ; - sh:maxCount 1 ; - sh:minCount 1 ; - sh:nodeKind sh:BlankNode ; - sh:order 2 ; - sh:path linkml:extension_value ] ; + sh:path linkml:extensions ] ; 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: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:property [ sh:datatype xsd:anyURI ; + sh:description "status of 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:nodeKind sh:Literal ; + sh:order 39 ; + sh:path bibo:status ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have related meaning." ; + sh:nodeKind sh:Literal ; + sh:order 31 ; + sh:path skos:relatedMatch ], + [ sh:datatype xsd:anyURI ; + sh:description "Controlled terms used to categorize an element." ; + sh:nodeKind sh:Literal ; + sh:order 41 ; + sh:path dcterms:subject ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 25 ; + sh:path linkml:deprecated_element_has_possible_replacement ], [ sh:datatype xsd:string ; sh:description "Keywords or tags used to describe the element" ; + sh:nodeKind sh:Literal ; 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:datatype xsd:anyURI ; + 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 22 ; - sh:path schema1:inLanguage ], - [ sh:class linkml:LocalName ; - sh:nodeKind sh:BlankNode ; - sh:order 4 ; - sh:path linkml:local_names ], + sh:nodeKind sh:Literal ; + sh:order 3 ; + sh:path linkml:definition_uri ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + sh:nodeKind sh:Literal ; + sh:order 32 ; + sh:path skos:narrowMatch ], [ 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: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 25 ; - sh:path linkml:deprecated_element_has_possible_replacement ], + sh:nodeKind sh:Literal ; + sh:order 12 ; + sh:path dcterms:title ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + sh:nodeKind sh:Literal ; + sh:order 33 ; + sh:path skos:broadMatch ], [ sh:datatype xsd:string ; sh:description "editorial notes about an element intended primarily for internal consumption" ; + sh:nodeKind sh:Literal ; 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 17 ; - sh:path linkml:examples ], - [ 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 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:implements ], + [ sh:datatype xsd:string ; + sh:description "notes and comments about an element intended primarily for external consumption" ; + sh:nodeKind sh:Literal ; + sh:order 16 ; + sh:path skos:note ], [ sh:class linkml:Extension ; sh:description "a tag/text tuple attached to an arbitrary element" ; - sh:nodeKind sh:BlankNode ; + sh:nodeKind sh:BlankNodeOrIRI ; 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 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:datatype xsd:anyURI ; + sh:description "A related resource from which the element is derived." ; sh:maxCount 1 ; - sh:order 39 ; - sh:path bibo:status ], - [ sh:datatype xsd:integer ; - sh:description "the relative order in which the element occurs, lower values are given precedence" ; + sh:nodeKind sh:Literal ; + sh:order 21 ; + sh:path dcterms:source ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 6 ; + sh:path linkml:implements ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was created" ; sh:maxCount 1 ; - sh:order 40 ; - sh:path sh:order ], + sh:nodeKind sh:Literal ; + sh:order 36 ; + sh:path pav:createdOn ], [ 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:nodeKind sh:Literal ; 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:anyURI ; + sh:description "id of the schema that defined the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 19 ; + sh:path skos:inScheme ], + [ sh:datatype xsd:anyURI ; + 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:nodeKind sh:Literal ; + sh:order 28 ; + sh:path skos:mappingRelation ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have close meaning." ; + sh:nodeKind sh:Literal ; + sh:order 30 ; + sh:path skos:closeMatch ], + [ sh:class linkml:LocalName ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 4 ; + sh:path linkml:local_names ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that contributed to the element" ; + sh:nodeKind sh:Literal ; + sh:order 35 ; + sh:path dcterms:contributor ], [ sh:datatype xsd:string ; - sh:description "An established standard to which the element conforms." ; + sh:description "the primary language used in the sources" ; sh:maxCount 1 ; - sh:order 5 ; - sh:path dcterms:conformsTo ], + sh:nodeKind sh:Literal ; + sh:order 22 ; + sh:path schema1:inLanguage ], + [ sh:datatype xsd:string ; + sh:description "a textual description of the element's purpose and use" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 10 ; + 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:BlankNodeOrIRI ; + sh:order 9 ; + sh:path linkml:annotations ], + [ sh:datatype xsd:anyURI ; + sh:description "An element in another schema which this element instantiates." ; + sh:nodeKind sh:Literal ; + sh:order 7 ; + sh:path linkml:instantiates ], [ 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:nodeKind sh:BlankNodeOrIRI ; 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: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:deprecated_element_has_exact_replacement ], - [ sh:description "A related resource from which the element is derived." ; + sh:nodeKind sh:Literal ; + sh:order 40 ; + sh:path sh:order ], + [ sh:datatype xsd:anyURI ; + sh:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + sh:nodeKind sh:Literal ; + sh:order 29 ; + sh:path skos:exactMatch ], + [ sh:datatype xsd:dateTime ; + sh:description "time at which the element was last updated" ; sh:maxCount 1 ; - sh:order 21 ; - sh:path dcterms:source ], + sh:nodeKind sh:Literal ; + sh:order 37 ; + sh:path pav:lastUpdatedOn ], [ sh:datatype xsd:string ; sh:description "Outstanding issues that needs resolution" ; + sh:nodeKind sh:Literal ; sh:order 14 ; 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 10 ; - sh:path skos:definition ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was last updated" ; + sh:description "An established standard to which the element conforms." ; sh:maxCount 1 ; - sh:order 37 ; - sh:path pav:lastUpdatedOn ], + sh:nodeKind sh:Literal ; + sh:order 5 ; + sh:path dcterms:conformsTo ], [ 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:description "A list of related entities or URLs that may be of relevance" ; + sh:nodeKind sh:Literal ; + sh:order 23 ; + sh:path rdfs:seeAlso ], + [ sh:class linkml:Example ; + sh:description "example usages of an element" ; + sh:nodeKind sh:BlankNodeOrIRI ; + sh:order 17 ; + sh:path linkml:examples ], [ sh:datatype xsd:string ; - sh:description "Description of why and when this element will no longer be used" ; + 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:nodeKind sh:Literal ; + sh:order 26 ; + sh:path skos: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 13 ; - sh:path linkml:deprecated ], - [ sh:description "Controlled terms used to categorize an element." ; - sh:order 41 ; - sh:path dcterms:subject ], + sh:nodeKind sh:Literal ; + sh:order 20 ; + sh:path linkml:imported_from ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that modified the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + 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:nodeKind sh:BlankNodeOrIRI ; sh:order 11 ; sh:path linkml:alt_descriptions ], - [ 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: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 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 9 ; - sh:path linkml:annotations ], - [ sh:datatype xsd:dateTime ; - sh:description "time at which the element was created" ; + sh:nodeKind sh:Literal ; + sh:order 2 ; + sh:path linkml:id_prefixes_are_closed ], + [ 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:string ; + sh:description "Description of why and when this element will no longer be used" ; sh:maxCount 1 ; - 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 31 ; - sh:path skos:relatedMatch ], + sh:nodeKind sh:Literal ; + sh:order 13 ; + sh:path linkml:deprecated ], [ 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 skos:broadMatch ], - [ sh:description "agent that modified the element" ; + 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:nodeKind sh:Literal ; + sh:order 1 ; + sh:path linkml:id_prefixes ], + [ sh:datatype xsd:anyURI ; + sh:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; sh:maxCount 1 ; - sh:order 38 ; - sh:path oslc:modifiedBy ] ; + sh:nodeKind sh:Literal ; + sh:order 24 ; + sh:path linkml:deprecated_element_has_exact_replacement ], + [ sh:datatype xsd:anyURI ; + sh:description "agent that created the element" ; + sh:maxCount 1 ; + sh:nodeKind sh:Literal ; + sh:order 34 ; + sh:path pav:createdBy ] ; 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 "a tag associated with an extension" ; + sh:ignoredProperties ( linkml:annotations rdf:type ) ; + sh:property [ sh:datatype xsd:anyURI ; + sh:description "a tag associated with an extension" ; sh:maxCount 1 ; sh:minCount 1 ; + sh:nodeKind sh:Literal ; 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:nodeKind sh:BlankNodeOrIRI ; 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:nodeKind sh:BlankNodeOrIRI ; sh:order 2 ; sh:path linkml:extensions ] ; sh:targetClass linkml:Extension . diff --git a/linkml_model/shex/meta.shex b/linkml_model/shex/meta.shex index abdb049a..b64d5639 100644 --- a/linkml_model/shex/meta.shex +++ b/linkml_model/shex/meta.shex @@ -1,3 +1,4 @@ +# metamodel_version: 1.7.0 BASE PREFIX sh: PREFIX skos: @@ -175,8 +176,10 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -199,7 +202,8 @@ PREFIX oboInOwl: @ * ; @ * ; @ * ; - @ * + @ * ; + @ ? ) ; rdf:type [ ] ? ) @@ -248,7 +252,6 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; @ * ; @ * ; @ * ; @@ -310,6 +313,7 @@ PREFIX oboInOwl: @ ? ; @ * ; @ ? ; + @ ? ; @ * ; @ * ; @ * ; @@ -562,6 +566,61 @@ 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 [ ] ? ; @@ -643,6 +702,16 @@ PREFIX oboInOwl: } OR @ ) + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @ ? ; + @ ? + ) ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( & ; rdf:type [ ] ? ; @@ -826,6 +895,8 @@ PREFIX oboInOwl: skos:definition @ ? ; @ ? ; qudt:unit @ ? ; + @ * ; + @ * ; @ * ; @ * ; @ * ; @@ -909,7 +980,8 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ * + @ * ; + @ * ) ; rdf:type [ ] ) @@ -931,8 +1003,6 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ ? ; - @ ? ; @ ? ; @ ? ; @ ? ; @@ -967,13 +1037,16 @@ PREFIX oboInOwl: @ * ; @ ? ; @ * ; + @ * ; @ * ; @ * ; @ ? ; @ ? ; @ ? ; + @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -996,7 +1069,8 @@ PREFIX oboInOwl: @ * ; @ * ; @ * ; - @ * + @ * ; + @ ? ) ; rdf:type [ ] ) @@ -1008,8 +1082,10 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -1032,7 +1108,8 @@ PREFIX oboInOwl: @ * ; @ * ; @ * ; - @ * + @ * ; + @ ? ) ; rdf:type [ ] ? ) @@ -1050,6 +1127,7 @@ PREFIX oboInOwl: skosxl:literalForm @ ; rdf:predicate [ skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ] ? ; dcterms:subject @ * ; + @ * ; @ * ; @ * ; skos:definition @ ? ; @@ -1146,6 +1224,56 @@ 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 [ ] ? ; @@ -1210,4 +1338,3 @@ PREFIX oboInOwl: ) } - diff --git a/linkml_model/sqlschema/meta.sql b/linkml_model/sqlschema/meta.sql index aa2d615a..1178f175 100644 --- a/linkml_model/sqlschema/meta.sql +++ b/linkml_model/sqlschema/meta.sql @@ -1,830 +1,4441 @@ - - -CREATE TABLE alt_description ( - source TEXT NOT NULL, - description TEXT NOT NULL, - PRIMARY KEY (source, description) -); - -CREATE TABLE annotation ( - tag TEXT NOT NULL, - value TEXT NOT NULL, - extensions TEXT, - annotations TEXT, - PRIMARY KEY (tag, value, extensions, annotations) -); - -CREATE TABLE anonymous_class_expression ( - extensions TEXT, - annotations TEXT, +-- # Class: "Anything" Description: "" +-- * Slot: id Description: +-- # Class: "common_metadata" Description: "Generic metadata shared across definitions" +-- * Slot: id Description: +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "element" Description: "A named element in the model" +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "schema_definition" Description: "A collection of definitions that make up a schema or a data model." +-- * Slot: id Description: The official schema URI +-- * Slot: version Description: particular version of schema +-- * Slot: license Description: license for the schema +-- * Slot: default_prefix Description: The prefix that is used for all elements within a schema +-- * Slot: default_range Description: default slot range to be used if range element is omitted from a slot definition +-- * Slot: metamodel_version Description: Version of the metamodel used to load the schema +-- * Slot: source_file Description: name, uri or description of the source of the schema +-- * Slot: source_file_date Description: modification date of the source of the schema +-- * Slot: source_file_size Description: size in bytes of the source of the schema +-- * Slot: generation_date Description: date and time that the schema was loaded/generated +-- * Slot: slot_names_unique Description: if true then induced/mangled slot names are not created for class_usage and attributes +-- * Slot: name Description: a unique name for the schema that is both human-readable and consists of only characters from the NCName set +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "type_expression" Description: "An abstract class grouping named types and anonymous type expressions" +-- * Slot: id Description: +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- # Class: "anonymous_type_expression" Description: "A type expression that is not a top-level named type definition. Used for nesting." +-- * Slot: id Description: +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- # Class: "type_definition" Description: "an element that whose instances are atomic scalar values that can be mapped to primitive types" +-- * Slot: typeof Description: A parent type from which type properties are inherited +-- * Slot: base Description: python base type in the LinkML runtime that implements this type definition +-- * Slot: uri Description: The uri that defines the possible values for the type definition +-- * Slot: repr Description: the name of the python object that implements this type definition +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- # Class: "subset_definition" Description: "an element that can be used to group other metamodel elements" +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- # Class: "definition" Description: "abstract base class for core metaclasses" +-- * Slot: is_a 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 +-- * Slot: abstract Description: Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes. +-- * Slot: 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. +-- * Slot: 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.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 objectsFor 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 +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "enum_expression" Description: "An expression that constrains the range of a slot" +-- * Slot: id Description: +-- * Slot: code_set Description: the identifier of an enumeration code set. +-- * Slot: code_set_tag Description: the version tag of the enumeration code set +-- * Slot: code_set_version Description: the version identifier of the enumeration code set +-- * Slot: pv_formula Description: Defines the specific formula to be used to generate the permissible values. +-- * Slot: reachable_from_id Description: Specifies a query for obtaining a list of permissible values based on graph reachability +-- * Slot: matches_id Description: Specifies a match query that is used to calculate the list of permissible values +-- # Class: "anonymous_enum_expression" Description: "An enum_expression that is not named" +-- * Slot: id Description: +-- * Slot: code_set Description: the identifier of an enumeration code set. +-- * Slot: code_set_tag Description: the version tag of the enumeration code set +-- * Slot: code_set_version Description: the version identifier of the enumeration code set +-- * Slot: pv_formula Description: Defines the specific formula to be used to generate the permissible values. +-- * Slot: reachable_from_id Description: Specifies a query for obtaining a list of permissible values based on graph reachability +-- * Slot: matches_id Description: Specifies a match query that is used to calculate the list of permissible values +-- # Class: "enum_definition" Description: "an element whose instances must be drawn from a specified set of permissible values" +-- * Slot: enum_uri 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 +-- * Slot: code_set Description: the identifier of an enumeration code set. +-- * Slot: code_set_tag Description: the version tag of the enumeration code set +-- * Slot: code_set_version Description: the version identifier of the enumeration code set +-- * Slot: pv_formula Description: Defines the specific formula to be used to generate the permissible values. +-- * Slot: is_a 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 +-- * Slot: abstract Description: Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes. +-- * Slot: 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. +-- * Slot: 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.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 objectsFor 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 +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: reachable_from_id Description: Specifies a query for obtaining a list of permissible values based on graph reachability +-- * Slot: matches_id Description: Specifies a match query that is used to calculate the list of permissible values +-- # Class: "enum_binding" Description: "A binding of a slot or a class to a permissible value from an enumeration." +-- * Slot: id Description: +-- * Slot: range Description: defines the type of the object of the slot. Given the following slot definition S1: domain: C1 range: C2the declaration X: S1: Yimplicitly asserts Y is an instance of C2 +-- * Slot: obligation_level Description: The level of obligation or recommendation strength for a metadata element +-- * Slot: binds_value_of Description: A path to a slot that is being bound to a permissible value from an enumeration. +-- * Slot: pv_formula Description: Defines the specific formula to be used to generate the permissible values. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- # Class: "match_query" Description: "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." +-- * Slot: id Description: +-- * Slot: identifier_pattern Description: A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values +-- * Slot: source_ontology Description: An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values +-- # Class: "reachability_query" 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." +-- * Slot: id Description: +-- * Slot: source_ontology Description: An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values +-- * Slot: is_direct Description: True if the reachability query should only include directly related nodes, if False then include also transitively connected +-- * Slot: include_self Description: True if the query is reflexive +-- * Slot: traverse_up Description: True if the direction of the reachability query is reversed and ancestors are retrieved +-- # Class: "structured_alias" Description: "object that contains meta data about a synonym or alias including where it came from (source) and its scope (narrow, broad, etc.)" +-- * Slot: id Description: +-- * Slot: literal_form Description: The literal lexical form of a structured alias; i.e the actual alias value. +-- * Slot: predicate Description: The relationship between an element and its alias. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- # Class: "expression" Description: "general mixin for any class that can represent some form of expression" +-- * Slot: id Description: +-- # Class: "anonymous_expression" Description: "An abstract parent class for any nested expression" +-- * Slot: id Description: +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "path_expression" Description: "An expression that describes an abstract path from an object to another through a sequence of slot lookups" +-- * Slot: id Description: +-- * Slot: reversed Description: true if the slot is to be inversed +-- * Slot: traverse Description: the slot to traverse +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: followed_by_id Description: in a sequential list, this indicates the next member +-- * Slot: range_expression_id Description: A range that is described as a boolean expression combining existing ranges +-- # Class: "slot_expression" Description: "an expression that constrains the range of values a slot can take" +-- * Slot: id Description: +-- * Slot: range Description: defines the type of the object of the slot. Given the following slot definition S1: domain: C1 range: C2the declaration X: S1: Yimplicitly asserts Y is an instance of C2 +-- * Slot: required Description: true means that the slot must be present in instances of the class definition +-- * Slot: recommended Description: true means that the slot should be present in instances of the class definition, but this is not required +-- * Slot: multivalued Description: true means that slot can have more than one value and should be represented using a list or collection structure. +-- * Slot: inlined 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. +-- * Slot: inlined_as_list 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. +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: value_presence Description: if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty) +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: equals_expression Description: the value of the slot must equal the value of the evaluated expression +-- * Slot: exact_cardinality Description: the exact number of entries for a multivalued slot +-- * Slot: minimum_cardinality Description: the minimum number of entries for a multivalued slot +-- * Slot: maximum_cardinality Description: the maximum number of entries for a multivalued slot +-- * Slot: range_expression_id Description: A range that is described as a boolean expression combining existing ranges +-- * Slot: enum_range_id Description: An inlined enumeration +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: has_member_id Description: the value of the slot is multivalued with at least one member satisfying the condition +-- * Slot: all_members_id Description: the value of the slot is multivalued with all members satisfying the condition +-- * Slot: array_id Description: coerces the value of the slot into an array and defines the dimensions of that array +-- # Class: "anonymous_slot_expression" Description: "" +-- * Slot: id Description: +-- * Slot: range Description: defines the type of the object of the slot. Given the following slot definition S1: domain: C1 range: C2the declaration X: S1: Yimplicitly asserts Y is an instance of C2 +-- * Slot: required Description: true means that the slot must be present in instances of the class definition +-- * Slot: recommended Description: true means that the slot should be present in instances of the class definition, but this is not required +-- * Slot: multivalued Description: true means that slot can have more than one value and should be represented using a list or collection structure. +-- * Slot: inlined 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. +-- * Slot: inlined_as_list 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. +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: value_presence Description: if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty) +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: equals_expression Description: the value of the slot must equal the value of the evaluated expression +-- * Slot: exact_cardinality Description: the exact number of entries for a multivalued slot +-- * Slot: minimum_cardinality Description: the minimum number of entries for a multivalued slot +-- * Slot: maximum_cardinality Description: the maximum number of entries for a multivalued slot +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: range_expression_id Description: A range that is described as a boolean expression combining existing ranges +-- * Slot: enum_range_id Description: An inlined enumeration +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: has_member_id Description: the value of the slot is multivalued with at least one member satisfying the condition +-- * Slot: all_members_id Description: the value of the slot is multivalued with all members satisfying the condition +-- * Slot: array_id Description: coerces the value of the slot into an array and defines the dimensions of that array +-- # Class: "slot_definition" Description: "an element that describes how instances are related to other instances" +-- * Slot: singular_name Description: a name that is used in the singular form +-- * Slot: domain Description: defines the type of the subject of the slot. Given the following slot definition S1: domain: C1 range: C2the declaration X: S1: Yimplicitly asserts that X is an instance of C1 +-- * Slot: slot_uri 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. +-- * Slot: inherited Description: true means that the *value* of a slot is inherited by subclasses +-- * Slot: readonly Description: If present, slot is read only. Text explains why +-- * Slot: ifabsent Description: function that provides a default value for the slot. * [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 * EnumName(PermissibleValue) -- enum value +-- * Slot: list_elements_unique Description: If True, then there must be no duplicates in the elements of a multivalued slot +-- * Slot: list_elements_ordered 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 +-- * Slot: shared Description: If True, then the relationship between the slot domain and range is many to one or many to many +-- * Slot: key Description: True means that the key slot(s) uniquely identify the elements within a single container +-- * Slot: identifier Description: True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container +-- * Slot: designates_type Description: True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition +-- * Slot: 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. +-- * Slot: owner Description: the "owner" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot +-- * Slot: subproperty_of 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. +-- * Slot: symmetric Description: If s is symmetric, and i.s=v, then v.s=i +-- * Slot: reflexive Description: If s is reflexive, then i.s=i for all instances i +-- * Slot: locally_reflexive 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 +-- * Slot: irreflexive Description: If s is irreflexive, then there exists no i such i.s=i +-- * Slot: asymmetric Description: If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i +-- * Slot: transitive Description: If s is transitive, and i.s=z, and s.s=j, then i.s=j +-- * Slot: inverse Description: indicates that any instance of d s r implies that there is also an instance of r s' d +-- * Slot: is_class_field Description: indicates that for any instance, i, the domain of this slot will include an assertion of i s range +-- * Slot: transitive_form_of 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 +-- * Slot: reflexive_transitive_form_of Description: transitive_form_of including the reflexive case +-- * Slot: role Description: a textual descriptor that indicates the role played by the slot range +-- * Slot: is_usage_slot Description: True means that this slot was defined in a slot_usage situation +-- * Slot: usage_slot_name Description: The name of the slot referenced in the slot_usage +-- * Slot: relational_role Description: the role a slot on a relationship class plays, for example, the subject, object or predicate roles +-- * Slot: slot_group Description: allows for grouping of related slots into a grouping slot that serves the role of a group +-- * Slot: is_grouping_slot Description: true if this slot is a grouping slot +-- * Slot: children_are_mutually_disjoint Description: If true then all direct is_a children are mutually disjoint and share no instances in common +-- * Slot: range Description: defines the type of the object of the slot. Given the following slot definition S1: domain: C1 range: C2the declaration X: S1: Yimplicitly asserts Y is an instance of C2 +-- * Slot: required Description: true means that the slot must be present in instances of the class definition +-- * Slot: recommended Description: true means that the slot should be present in instances of the class definition, but this is not required +-- * Slot: multivalued Description: true means that slot can have more than one value and should be represented using a list or collection structure. +-- * Slot: inlined 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. +-- * Slot: inlined_as_list 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. +-- * Slot: pattern Description: the string value of the slot must conform to this regular expression expressed in the string +-- * Slot: implicit_prefix Description: Causes the slot value to be interpreted as a uriorcurie after prefixing with this string +-- * Slot: value_presence Description: if PRESENT then a value must be present (for lists there must be at least one value). If ABSENT then a value must be absent (for lists, must be empty) +-- * Slot: equals_string Description: the slot must have range string and the value of the slot must equal the specified value +-- * Slot: equals_number Description: the slot must have range of a number and the value of the slot must equal the specified value +-- * Slot: equals_expression Description: the value of the slot must equal the value of the evaluated expression +-- * Slot: exact_cardinality Description: the exact number of entries for a multivalued slot +-- * Slot: minimum_cardinality Description: the minimum number of entries for a multivalued slot +-- * Slot: maximum_cardinality Description: the maximum number of entries for a multivalued slot +-- * Slot: is_a Description: A primary parent slot from which inheritable metaslots are propagated +-- * Slot: abstract Description: Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes. +-- * Slot: 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. +-- * Slot: 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.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 objectsFor 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 +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: class_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: path_rule_id Description: a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignments +-- * Slot: range_expression_id Description: A range that is described as a boolean expression combining existing ranges +-- * Slot: enum_range_id Description: An inlined enumeration +-- * Slot: minimum_value_id Description: For ordinal ranges, the value must be equal to or higher than this +-- * Slot: maximum_value_id Description: For ordinal ranges, the value must be equal to or lower than this +-- * Slot: structured_pattern_id Description: the string value of the slot must conform to the regular expression in the pattern expression +-- * Slot: unit_id Description: an encoding of a unit +-- * Slot: has_member_id Description: the value of the slot is multivalued with at least one member satisfying the condition +-- * Slot: all_members_id Description: the value of the slot is multivalued with all members satisfying the condition +-- * Slot: array_id Description: coerces the value of the slot into an array and defines the dimensions of that array +-- # Class: "class_expression" Description: "A boolean expression that can be used to dynamically determine membership of a class" +-- * Slot: id Description: +-- # Class: "anonymous_class_expression" Description: "" +-- * Slot: id Description: +-- * Slot: is_a 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 +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: class_definition_name Description: Autocreated FK slot +-- # Class: "class_definition" Description: "an element whose instances are complex objects that may have slot-value assignments" +-- * Slot: 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 +-- * Slot: subclass_of Description: DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation +-- * Slot: tree_root Description: Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations +-- * Slot: slot_names_unique Description: if true then induced/mangled slot names are not created for class_usage and attributes +-- * Slot: represents_relationship Description: true if this class represents a relationship rather than an entity +-- * Slot: children_are_mutually_disjoint Description: If true then all direct is_a children are mutually disjoint and share no instances in common +-- * Slot: is_a Description: A primary parent class from which inheritable metaslots are propagated +-- * Slot: abstract Description: Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes. +-- * Slot: 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. +-- * Slot: 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.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 objectsFor 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 +-- * Slot: 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. +-- * Slot: 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. +-- * Slot: 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 +-- * Slot: conforms_to Description: An established standard to which the element conforms. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: extra_slots_id Description: How a class instance handles extra data not specified in the class definition.Note that this does *not* define the constraints that are placed on additional slots defined by inheriting classes.Possible values:- `allowed: true` - allow all additional data- `allowed: false` (or `allowed:` or `allowed: null` while `range_expression` is `null`) - forbid all additional data (default) - `range_expression: ...` - allow additional data if it matches the slot expression (see examples) +-- # Class: "class_level_rule" Description: "A rule that is applied to classes" +-- * Slot: id Description: +-- # Class: "class_rule" Description: "A rule that applies to instances of a class" +-- * Slot: id Description: +-- * Slot: bidirectional Description: in addition to preconditions entailing postconditions, the postconditions entail the preconditions +-- * Slot: 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 +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: deactivated Description: a deactivated rule is not executed by the rules engine +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: preconditions_id Description: an expression that must hold in order for the rule to be applicable to an instance +-- * Slot: postconditions_id Description: an expression that must hold for an instance of the class, if the preconditions hold +-- * Slot: elseconditions_id Description: an expression that must hold for an instance of the class, if the preconditions no not hold +-- # Class: "array_expression" Description: "defines the dimensions of an array" +-- * Slot: id Description: +-- * Slot: exact_number_dimensions Description: exact number of dimensions in the array +-- * Slot: minimum_number_dimensions Description: minimum number of dimensions in the array +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: maximum_number_dimensions_id 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 +-- # Class: "dimension_expression" Description: "defines one of the dimensions of an array" +-- * Slot: id Description: +-- * Slot: 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. +-- * Slot: maximum_cardinality Description: the maximum number of entries for a multivalued slot +-- * Slot: minimum_cardinality Description: the minimum number of entries for a multivalued slot +-- * Slot: exact_cardinality Description: the exact number of entries for a multivalued slot +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "pattern_expression" Description: "a regular expression pattern used to evaluate conformance of a string" +-- * Slot: id Description: +-- * Slot: syntax Description: the string value of the slot must conform to this regular expression expressed in the string. May be interpolated. +-- * Slot: interpolated Description: if true then the pattern is first string interpolated +-- * Slot: partial_match Description: if not true then the pattern must match the whole string, as if enclosed in ^...$ +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "import_expression" Description: "an expression describing an import" +-- * Slot: id Description: +-- * Slot: import_from Description: +-- * Slot: import_as Description: +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "setting" Description: "assignment of a key to a value" +-- * Slot: setting_key Description: the variable name for a setting +-- * Slot: setting_value Description: The value assigned for a setting +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- # Class: "prefix" Description: "prefix URI tuple" +-- * Slot: prefix_prefix Description: The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE. +-- * Slot: prefix_reference Description: The namespace to which a prefix expands to. +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- # Class: "local_name" Description: "an attributed label" +-- * Slot: local_name_source Description: the ncname of the source of the name +-- * Slot: local_name_value Description: a name assigned to an element in a given ontology +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- # Class: "example" Description: "usage example and description" +-- * Slot: id Description: +-- * Slot: value Description: example value +-- * Slot: description Description: description of what the value is doing +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: object_id Description: direct object representation of the example +-- # Class: "alt_description" Description: "an attributed description" +-- * Slot: source Description: the source of an attributed description +-- * Slot: description Description: text of an attributed description +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- # Class: "permissible_value" Description: "a permissible value, accompanied by intended text and an optional mapping to a concept URI" +-- * Slot: text Description: The actual permissible value itself +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: meaning Description: the value meaning of a permissible value +-- * Slot: is_a 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 +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: enum_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_enum_expression_id Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: unit_id Description: an encoding of a unit +-- # Class: "unique_key" Description: "a collection of slots whose values uniquely identify an instance of a class" +-- * Slot: unique_key_name Description: name of the unique key +-- * Slot: consider_nulls_inequal 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. +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- * Slot: class_definition_name Description: Autocreated FK slot +-- # Class: "type_mapping" Description: "Represents how a slot or type can be serialized to a format." +-- * Slot: framework Description: The name of a format that can be used to serialize LinkML data. The string value should be a code from the LinkML frameworks vocabulary, but this is not strictly enforced +-- * Slot: type Description: type to coerce to +-- * Slot: 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.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 objectsFor 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 +-- * Slot: description Description: a textual description of the element's purpose and use +-- * Slot: title Description: A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation. +-- * Slot: deprecated Description: Description of why and when this element will no longer be used +-- * Slot: from_schema Description: id of the schema that defined the element +-- * Slot: imported_from Description: the imports entry that this element was derived from. Empty means primary source +-- * Slot: source Description: A related resource from which the element is derived. +-- * Slot: in_language Description: the primary language used in the sources +-- * Slot: deprecated_element_has_exact_replacement Description: When an element is deprecated, it can be automatically replaced by this uri or curie +-- * Slot: deprecated_element_has_possible_replacement Description: When an element is deprecated, it can be potentially replaced by this uri or curie +-- * Slot: created_by Description: agent that created the element +-- * Slot: created_on Description: time at which the element was created +-- * Slot: last_updated_on Description: time at which the element was last updated +-- * Slot: modified_by Description: agent that modified the element +-- * Slot: status Description: status of the element +-- * Slot: rank Description: the relative order in which the element occurs, lower values are given precedence +-- # Class: "extra_slots_expression" Description: "An expression that defines how to handle additional data in an instance of classbeyond the slots/attributes defined for that class. See `extra_slots` for usage examples." +-- * Slot: id Description: +-- * Slot: allowed Description: Whether or not something is allowed. Usage defined by context. +-- * Slot: range_expression_id Description: A range that is described as a boolean expression combining existing ranges +-- # Class: "AnyValue" Description: "" +-- * Slot: id Description: +-- # Class: "extension" Description: "a tag/value pair used to add non-model information to an entry" +-- * Slot: tag Description: a tag associated with an extension +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: extension_tag Description: Autocreated FK slot +-- * Slot: extensible_id Description: Autocreated FK slot +-- * Slot: annotation_tag Description: Autocreated FK slot +-- * Slot: value_id Description: the actual annotation +-- # Class: "extensible" Description: "mixin for classes that support extension" +-- * Slot: id Description: +-- # Class: "annotatable" Description: "mixin for classes that support annotations" +-- * Slot: id Description: +-- # Class: "annotation" Description: "a tag/value pair with the semantics of OWL Annotation" +-- * Slot: tag Description: a tag associated with an extension +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: annotatable_id Description: Autocreated FK slot +-- * Slot: annotation_tag Description: Autocreated FK slot +-- * Slot: value_id Description: the actual annotation +-- # Class: "UnitOfMeasure" 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)." +-- * Slot: id Description: +-- * Slot: symbol Description: name of the unit encoded as a symbol +-- * Slot: 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) +-- * Slot: descriptive_name Description: the spelled out name of the unit, for example, meter +-- * Slot: ucum_code Description: associates a QUDT unit with its UCUM code (case-sensitive). +-- * Slot: derivation Description: Expression for deriving this unit from other units +-- * Slot: has_quantity_kind Description: Concept in a vocabulary or ontology that denotes the kind of quantity being measured, e.g. length +-- * Slot: iec61360code Description: +-- # Class: "common_metadata_todos" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "common_metadata_notes" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "common_metadata_comments" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "common_metadata_in_subset" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "common_metadata_see_also" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "common_metadata_aliases" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "common_metadata_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "common_metadata_exact_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "common_metadata_close_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "common_metadata_related_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "common_metadata_narrow_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "common_metadata_broad_mappings" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "common_metadata_contributors" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "common_metadata_category" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "common_metadata_keyword" Description: "" +-- * Slot: common_metadata_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "element_id_prefixes" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "element_implements" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "element_instantiates" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "element_todos" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "element_notes" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "element_comments" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "element_in_subset" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "element_see_also" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "element_aliases" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "element_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "element_exact_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "element_close_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "element_related_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "element_narrow_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "element_broad_mappings" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "element_contributors" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "element_category" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "element_keyword" Description: "" +-- * Slot: element_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "schema_definition_imports" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: imports Description: A list of schemas that are to be included in this schema +-- # Class: "schema_definition_emit_prefixes" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: emit_prefixes 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. +-- # Class: "schema_definition_default_curi_maps" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: default_curi_maps Description: ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables +-- # Class: "schema_definition_id_prefixes" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "schema_definition_implements" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "schema_definition_instantiates" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "schema_definition_todos" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "schema_definition_notes" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "schema_definition_comments" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "schema_definition_in_subset" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "schema_definition_see_also" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "schema_definition_aliases" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "schema_definition_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "schema_definition_exact_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "schema_definition_close_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "schema_definition_related_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "schema_definition_narrow_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "schema_definition_broad_mappings" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "schema_definition_contributors" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "schema_definition_category" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "schema_definition_keyword" Description: "" +-- * Slot: schema_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "type_expression_equals_string_in" Description: "" +-- * Slot: type_expression_id Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "type_expression_none_of" Description: "" +-- * Slot: type_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "type_expression_exactly_one_of" Description: "" +-- * Slot: type_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "type_expression_any_of" Description: "" +-- * Slot: type_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "type_expression_all_of" Description: "" +-- * Slot: type_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "anonymous_type_expression_equals_string_in" Description: "" +-- * Slot: anonymous_type_expression_id Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "anonymous_type_expression_none_of" Description: "" +-- * Slot: anonymous_type_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "anonymous_type_expression_exactly_one_of" Description: "" +-- * Slot: anonymous_type_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "anonymous_type_expression_any_of" Description: "" +-- * Slot: anonymous_type_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "anonymous_type_expression_all_of" Description: "" +-- * Slot: anonymous_type_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "type_definition_union_of" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: union_of_name Description: indicates that the domain element consists exactly of the members of the element in the range. +-- # Class: "type_definition_equals_string_in" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "type_definition_none_of" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "type_definition_exactly_one_of" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "type_definition_any_of" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "type_definition_all_of" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "type_definition_id_prefixes" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "type_definition_implements" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "type_definition_instantiates" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "type_definition_todos" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "type_definition_notes" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "type_definition_comments" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "type_definition_in_subset" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "type_definition_see_also" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "type_definition_aliases" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "type_definition_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "type_definition_exact_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "type_definition_close_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "type_definition_related_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "type_definition_narrow_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "type_definition_broad_mappings" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "type_definition_contributors" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "type_definition_category" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "type_definition_keyword" Description: "" +-- * Slot: type_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "subset_definition_id_prefixes" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "subset_definition_implements" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "subset_definition_instantiates" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "subset_definition_todos" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "subset_definition_notes" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "subset_definition_comments" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "subset_definition_in_subset" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "subset_definition_see_also" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "subset_definition_aliases" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "subset_definition_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "subset_definition_exact_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "subset_definition_close_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "subset_definition_related_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "subset_definition_narrow_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "subset_definition_broad_mappings" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "subset_definition_contributors" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "subset_definition_category" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "subset_definition_keyword" Description: "" +-- * Slot: subset_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "definition_mixins" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: mixins_name Description: A collection of secondary parent classes or slots from which inheritable metaslots are propagated from. +-- # Class: "definition_apply_to" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: apply_to_name 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. +-- # Class: "definition_values_from" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "definition_id_prefixes" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "definition_implements" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "definition_instantiates" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "definition_todos" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "definition_notes" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "definition_comments" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "definition_in_subset" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "definition_see_also" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "definition_aliases" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "definition_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "definition_exact_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "definition_close_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "definition_related_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "definition_narrow_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "definition_broad_mappings" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "definition_contributors" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "definition_category" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "definition_keyword" Description: "" +-- * Slot: definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "enum_expression_include" Description: "" +-- * Slot: enum_expression_id Description: Autocreated FK slot +-- * Slot: include_id Description: An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set +-- # Class: "enum_expression_minus" Description: "" +-- * Slot: enum_expression_id Description: Autocreated FK slot +-- * Slot: minus_id Description: An enum expression that yields a list of permissible values that are to be subtracted from the enum +-- # Class: "enum_expression_inherits" Description: "" +-- * Slot: enum_expression_id Description: Autocreated FK slot +-- * Slot: inherits_name Description: An enum definition that is used as the basis to create a new enum +-- # Class: "enum_expression_concepts" Description: "" +-- * Slot: enum_expression_id Description: Autocreated FK slot +-- * Slot: concepts Description: A list of identifiers that are used to construct a set of permissible values +-- # Class: "anonymous_enum_expression_include" Description: "" +-- * Slot: anonymous_enum_expression_id Description: Autocreated FK slot +-- * Slot: include_id Description: An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set +-- # Class: "anonymous_enum_expression_minus" Description: "" +-- * Slot: anonymous_enum_expression_id Description: Autocreated FK slot +-- * Slot: minus_id Description: An enum expression that yields a list of permissible values that are to be subtracted from the enum +-- # Class: "anonymous_enum_expression_inherits" Description: "" +-- * Slot: anonymous_enum_expression_id Description: Autocreated FK slot +-- * Slot: inherits_name Description: An enum definition that is used as the basis to create a new enum +-- # Class: "anonymous_enum_expression_concepts" Description: "" +-- * Slot: anonymous_enum_expression_id Description: Autocreated FK slot +-- * Slot: concepts Description: A list of identifiers that are used to construct a set of permissible values +-- # Class: "enum_definition_include" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: include_id Description: An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set +-- # Class: "enum_definition_minus" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: minus_id Description: An enum expression that yields a list of permissible values that are to be subtracted from the enum +-- # Class: "enum_definition_inherits" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: inherits_name Description: An enum definition that is used as the basis to create a new enum +-- # Class: "enum_definition_concepts" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: concepts Description: A list of identifiers that are used to construct a set of permissible values +-- # Class: "enum_definition_mixins" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: mixins_name Description: A collection of secondary parent classes or slots from which inheritable metaslots are propagated from. +-- # Class: "enum_definition_apply_to" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: apply_to_name 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. +-- # Class: "enum_definition_values_from" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_definition_id_prefixes" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "enum_definition_implements" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_definition_instantiates" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "enum_definition_todos" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "enum_definition_notes" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "enum_definition_comments" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "enum_definition_in_subset" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "enum_definition_see_also" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "enum_definition_aliases" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_definition_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_definition_exact_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "enum_definition_close_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "enum_definition_related_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "enum_definition_narrow_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "enum_definition_broad_mappings" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "enum_definition_contributors" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "enum_definition_category" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "enum_definition_keyword" Description: "" +-- * Slot: enum_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "enum_binding_todos" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "enum_binding_notes" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "enum_binding_comments" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "enum_binding_in_subset" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "enum_binding_see_also" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "enum_binding_aliases" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_binding_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "enum_binding_exact_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "enum_binding_close_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "enum_binding_related_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "enum_binding_narrow_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "enum_binding_broad_mappings" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "enum_binding_contributors" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "enum_binding_category" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "enum_binding_keyword" Description: "" +-- * Slot: enum_binding_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "reachability_query_source_nodes" Description: "" +-- * Slot: reachability_query_id Description: Autocreated FK slot +-- * Slot: source_nodes Description: A list of nodes that are used in the reachability query +-- # Class: "reachability_query_relationship_types" Description: "" +-- * Slot: reachability_query_id Description: Autocreated FK slot +-- * Slot: relationship_types Description: A list of relationship types (properties) that are used in a reachability query +-- # Class: "structured_alias_category" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: category Description: The category or categories of an alias. This can be drawn from any relevant vocabulary +-- # Class: "structured_alias_contexts" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: contexts Description: The context in which an alias should be applied +-- # Class: "structured_alias_todos" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "structured_alias_notes" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "structured_alias_comments" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "structured_alias_in_subset" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "structured_alias_see_also" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "structured_alias_aliases" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "structured_alias_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "structured_alias_exact_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "structured_alias_close_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "structured_alias_related_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "structured_alias_narrow_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "structured_alias_broad_mappings" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "structured_alias_contributors" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "structured_alias_keyword" Description: "" +-- * Slot: structured_alias_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "anonymous_expression_todos" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "anonymous_expression_notes" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "anonymous_expression_comments" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "anonymous_expression_in_subset" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "anonymous_expression_see_also" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "anonymous_expression_aliases" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_expression_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_expression_exact_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "anonymous_expression_close_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "anonymous_expression_related_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "anonymous_expression_narrow_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "anonymous_expression_broad_mappings" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "anonymous_expression_contributors" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "anonymous_expression_category" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "anonymous_expression_keyword" Description: "" +-- * Slot: anonymous_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "path_expression_none_of" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "path_expression_any_of" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "path_expression_all_of" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "path_expression_exactly_one_of" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "path_expression_todos" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "path_expression_notes" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "path_expression_comments" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "path_expression_in_subset" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "path_expression_see_also" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "path_expression_aliases" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "path_expression_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "path_expression_exact_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "path_expression_close_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "path_expression_related_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "path_expression_narrow_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "path_expression_broad_mappings" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "path_expression_contributors" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "path_expression_category" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "path_expression_keyword" Description: "" +-- * Slot: path_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "slot_expression_equals_string_in" Description: "" +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "slot_expression_none_of" Description: "" +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "slot_expression_exactly_one_of" Description: "" +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "slot_expression_any_of" Description: "" +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "slot_expression_all_of" Description: "" +-- * Slot: slot_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "anonymous_slot_expression_equals_string_in" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "anonymous_slot_expression_none_of" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "anonymous_slot_expression_exactly_one_of" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "anonymous_slot_expression_any_of" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "anonymous_slot_expression_all_of" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "anonymous_slot_expression_todos" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "anonymous_slot_expression_notes" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "anonymous_slot_expression_comments" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "anonymous_slot_expression_in_subset" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "anonymous_slot_expression_see_also" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "anonymous_slot_expression_aliases" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_slot_expression_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_slot_expression_exact_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "anonymous_slot_expression_close_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "anonymous_slot_expression_related_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "anonymous_slot_expression_narrow_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "anonymous_slot_expression_broad_mappings" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "anonymous_slot_expression_contributors" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "anonymous_slot_expression_category" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "anonymous_slot_expression_keyword" Description: "" +-- * Slot: anonymous_slot_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "slot_definition_domain_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: domain_of_name Description: the class(es) that reference the slot in a "slots" or "slot_usage" context +-- # Class: "slot_definition_disjoint_with" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: disjoint_with_name 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 +-- # Class: "slot_definition_union_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: union_of_name Description: indicates that the domain element consists exactly of the members of the element in the range. +-- # Class: "slot_definition_type_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: type_mappings_framework Description: A collection of type mappings that specify how a slot's range should be mapped or serialized in different frameworks +-- # Class: "slot_definition_equals_string_in" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: equals_string_in Description: the slot must have range string and the value of the slot must equal one of the specified values +-- # Class: "slot_definition_none_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "slot_definition_exactly_one_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "slot_definition_any_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "slot_definition_all_of" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "slot_definition_mixins" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: mixins_name Description: A collection of secondary parent mixin slots from which inheritable metaslots are propagated +-- # Class: "slot_definition_apply_to" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: apply_to_name 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. +-- # Class: "slot_definition_values_from" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "slot_definition_id_prefixes" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "slot_definition_implements" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "slot_definition_instantiates" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "slot_definition_todos" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "slot_definition_notes" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "slot_definition_comments" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "slot_definition_in_subset" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "slot_definition_see_also" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "slot_definition_aliases" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "slot_definition_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "slot_definition_exact_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "slot_definition_close_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "slot_definition_related_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "slot_definition_narrow_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "slot_definition_broad_mappings" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "slot_definition_contributors" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "slot_definition_category" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "slot_definition_keyword" Description: "" +-- * Slot: slot_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "class_expression_any_of" Description: "" +-- * Slot: class_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "class_expression_exactly_one_of" Description: "" +-- * Slot: class_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "class_expression_none_of" Description: "" +-- * Slot: class_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "class_expression_all_of" Description: "" +-- * Slot: class_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "anonymous_class_expression_any_of" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "anonymous_class_expression_exactly_one_of" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "anonymous_class_expression_none_of" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "anonymous_class_expression_all_of" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "anonymous_class_expression_todos" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "anonymous_class_expression_notes" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "anonymous_class_expression_comments" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "anonymous_class_expression_in_subset" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "anonymous_class_expression_see_also" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "anonymous_class_expression_aliases" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_class_expression_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "anonymous_class_expression_exact_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "anonymous_class_expression_close_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "anonymous_class_expression_related_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "anonymous_class_expression_narrow_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "anonymous_class_expression_broad_mappings" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "anonymous_class_expression_contributors" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "anonymous_class_expression_category" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "anonymous_class_expression_keyword" Description: "" +-- * Slot: anonymous_class_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "class_definition_slots" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: slots_name Description: collection of slot names that are applicable to a class +-- # Class: "class_definition_union_of" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: union_of_name Description: indicates that the domain element consists exactly of the members of the element in the range. +-- # Class: "class_definition_defining_slots" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: defining_slots_name 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 +-- # Class: "class_definition_disjoint_with" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: disjoint_with_name 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 +-- # Class: "class_definition_any_of" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: any_of_id Description: holds if at least one of the expressions hold +-- # Class: "class_definition_exactly_one_of" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: exactly_one_of_id Description: holds if only one of the expressions hold +-- # Class: "class_definition_none_of" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: none_of_id Description: holds if none of the expressions hold +-- # Class: "class_definition_all_of" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: all_of_id Description: holds if all of the expressions hold +-- # Class: "class_definition_mixins" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: mixins_name Description: A collection of secondary parent mixin classes from which inheritable metaslots are propagated +-- # Class: "class_definition_apply_to" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: apply_to_name 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. +-- # Class: "class_definition_values_from" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_definition_id_prefixes" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: 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 +-- # Class: "class_definition_implements" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_definition_instantiates" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "class_definition_todos" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "class_definition_notes" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "class_definition_comments" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "class_definition_in_subset" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "class_definition_see_also" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "class_definition_aliases" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_definition_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_definition_exact_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "class_definition_close_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "class_definition_related_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "class_definition_narrow_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "class_definition_broad_mappings" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "class_definition_contributors" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "class_definition_category" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "class_definition_keyword" Description: "" +-- * Slot: class_definition_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "class_rule_todos" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "class_rule_notes" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "class_rule_comments" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "class_rule_in_subset" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "class_rule_see_also" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "class_rule_aliases" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_rule_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "class_rule_exact_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "class_rule_close_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "class_rule_related_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "class_rule_narrow_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "class_rule_broad_mappings" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "class_rule_contributors" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "class_rule_category" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "class_rule_keyword" Description: "" +-- * Slot: class_rule_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "array_expression_dimensions" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: dimensions_id Description: definitions of each axis in the array +-- # Class: "array_expression_todos" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "array_expression_notes" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "array_expression_comments" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "array_expression_in_subset" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "array_expression_see_also" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "array_expression_aliases" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "array_expression_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "array_expression_exact_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "array_expression_close_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "array_expression_related_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "array_expression_narrow_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "array_expression_broad_mappings" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "array_expression_contributors" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "array_expression_category" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "array_expression_keyword" Description: "" +-- * Slot: array_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "dimension_expression_todos" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "dimension_expression_notes" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "dimension_expression_comments" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "dimension_expression_in_subset" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "dimension_expression_see_also" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "dimension_expression_aliases" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "dimension_expression_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "dimension_expression_exact_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "dimension_expression_close_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "dimension_expression_related_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "dimension_expression_narrow_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "dimension_expression_broad_mappings" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "dimension_expression_contributors" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "dimension_expression_category" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "dimension_expression_keyword" Description: "" +-- * Slot: dimension_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "pattern_expression_todos" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "pattern_expression_notes" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "pattern_expression_comments" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "pattern_expression_in_subset" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "pattern_expression_see_also" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "pattern_expression_aliases" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "pattern_expression_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "pattern_expression_exact_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "pattern_expression_close_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "pattern_expression_related_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "pattern_expression_narrow_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "pattern_expression_broad_mappings" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "pattern_expression_contributors" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "pattern_expression_category" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "pattern_expression_keyword" Description: "" +-- * Slot: pattern_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "import_expression_todos" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "import_expression_notes" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "import_expression_comments" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "import_expression_in_subset" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "import_expression_see_also" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "import_expression_aliases" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "import_expression_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "import_expression_exact_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "import_expression_close_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "import_expression_related_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "import_expression_narrow_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "import_expression_broad_mappings" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "import_expression_contributors" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "import_expression_category" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "import_expression_keyword" Description: "" +-- * Slot: import_expression_id Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "permissible_value_instantiates" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: instantiates Description: An element in another schema which this element instantiates. +-- # Class: "permissible_value_implements" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "permissible_value_mixins" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: mixins_text Description: A collection of secondary parent classes or slots from which inheritable metaslots are propagated from. +-- # Class: "permissible_value_todos" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "permissible_value_notes" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "permissible_value_comments" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "permissible_value_in_subset" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "permissible_value_see_also" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "permissible_value_aliases" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "permissible_value_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "permissible_value_exact_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "permissible_value_close_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "permissible_value_related_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "permissible_value_narrow_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "permissible_value_broad_mappings" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "permissible_value_contributors" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "permissible_value_category" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "permissible_value_keyword" Description: "" +-- * Slot: permissible_value_text Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "unique_key_unique_key_slots" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: unique_key_slots_name Description: list of slot names that form a key. The tuple formed from the values of all these slots should be unique. +-- # Class: "unique_key_todos" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "unique_key_notes" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "unique_key_comments" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "unique_key_in_subset" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "unique_key_see_also" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "unique_key_aliases" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "unique_key_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "unique_key_exact_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "unique_key_close_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "unique_key_related_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "unique_key_narrow_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "unique_key_broad_mappings" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "unique_key_contributors" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "unique_key_category" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "unique_key_keyword" Description: "" +-- * Slot: unique_key_unique_key_name Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "type_mapping_todos" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: todos Description: Outstanding issues that needs resolution +-- # Class: "type_mapping_notes" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: notes Description: editorial notes about an element intended primarily for internal consumption +-- # Class: "type_mapping_comments" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: comments Description: notes and comments about an element intended primarily for external consumption +-- # Class: "type_mapping_in_subset" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: in_subset_name Description: used to indicate membership of a term in a defined subset of terms used for a particular domain or application. +-- # Class: "type_mapping_see_also" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: see_also Description: A list of related entities or URLs that may be of relevance +-- # Class: "type_mapping_aliases" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "type_mapping_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: 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. +-- # Class: "type_mapping_exact_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: exact_mappings Description: A list of terms from different schemas or terminology systems that have identical meaning. +-- # Class: "type_mapping_close_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: close_mappings Description: A list of terms from different schemas or terminology systems that have close meaning. +-- # Class: "type_mapping_related_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: related_mappings Description: A list of terms from different schemas or terminology systems that have related meaning. +-- # Class: "type_mapping_narrow_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: narrow_mappings Description: A list of terms from different schemas or terminology systems that have narrower meaning. +-- # Class: "type_mapping_broad_mappings" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: broad_mappings Description: A list of terms from different schemas or terminology systems that have broader meaning. +-- # Class: "type_mapping_contributors" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: contributors Description: agent that contributed to the element +-- # Class: "type_mapping_category" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: category Description: Controlled terms used to categorize an element. +-- # Class: "type_mapping_keyword" Description: "" +-- * Slot: type_mapping_framework Description: Autocreated FK slot +-- * Slot: keyword Description: Keywords or tags used to describe the element +-- # Class: "UnitOfMeasure_exact_mappings" Description: "" +-- * Slot: UnitOfMeasure_id Description: Autocreated FK slot +-- * Slot: exact_mappings Description: Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT + +CREATE TABLE "Anything" ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE common_metadata ( + id INTEGER NOT NULL, 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, - is_a TEXT, - any_of TEXT, - exactly_one_of TEXT, - none_of TEXT, - all_of TEXT, - slot_conditions 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, is_a, any_of, exactly_one_of, none_of, all_of, slot_conditions) -); - -CREATE TABLE anonymous_enum_expression ( - code_set TEXT, - code_set_tag TEXT, - code_set_version TEXT, - pv_formula VARCHAR(11), - permissible_values TEXT, - include TEXT, - minus TEXT, - inherits TEXT, - reachable_from TEXT, - matches TEXT, - concepts TEXT, - PRIMARY KEY (code_set, code_set_tag, code_set_version, pv_formula, permissible_values, include, minus, inherits, reachable_from, matches, concepts) + PRIMARY KEY (id) ); - -CREATE TABLE anonymous_slot_expression ( - extensions TEXT, - annotations TEXT, +CREATE TABLE element ( + name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, + definition_uri TEXT, + conforms_to 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, - range TEXT, - range_expression TEXT, - enum_range TEXT, - required BOOLEAN, - recommended BOOLEAN, - inlined BOOLEAN, - inlined_as_list BOOLEAN, - minimum_value TEXT, - maximum_value TEXT, - pattern TEXT, - structured_pattern TEXT, - unit TEXT, - implicit_prefix TEXT, - value_presence VARCHAR(11), - equals_string TEXT, - equals_string_in TEXT, - equals_number INTEGER, - equals_expression TEXT, - exact_cardinality INTEGER, - minimum_cardinality INTEGER, - maximum_cardinality INTEGER, - has_member TEXT, - all_members TEXT, - none_of TEXT, - 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, exact_cardinality, minimum_cardinality, maximum_cardinality, has_member, all_members, none_of, exactly_one_of, any_of, all_of) -); - -CREATE TABLE anonymous_type_expression ( - pattern TEXT, - structured_pattern TEXT, - unit TEXT, - implicit_prefix TEXT, - equals_string TEXT, - equals_string_in TEXT, - equals_number INTEGER, - minimum_value TEXT, - maximum_value TEXT, - none_of TEXT, - exactly_one_of TEXT, - any_of TEXT, - all_of TEXT, - 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) + PRIMARY KEY (name) ); - -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, +CREATE TABLE schema_definition ( + id TEXT NOT NULL, + version TEXT, + license TEXT, + default_prefix TEXT, + default_range TEXT, + metamodel_version TEXT, + source_file TEXT, + source_file_date DATETIME, + source_file_size INTEGER, + generation_date DATETIME, + slot_names_unique BOOLEAN, + name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, + definition_uri TEXT, + conforms_to 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) + PRIMARY KEY (name), + FOREIGN KEY(default_range) REFERENCES type_definition (name) ); - -CREATE TABLE class_definition ( +CREATE TABLE type_definition ( + typeof TEXT, + base TEXT, + uri TEXT, + repr TEXT, + pattern TEXT, + implicit_prefix TEXT, + equals_string TEXT, + equals_number INTEGER, name TEXT NOT NULL, id_prefixes_are_closed BOOLEAN, definition_uri TEXT, - local_names TEXT, conforms_to TEXT, - extensions TEXT, - annotations TEXT, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, + schema_definition_name TEXT, + structured_pattern_id INTEGER, + unit_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + PRIMARY KEY (name), + FOREIGN KEY(typeof) REFERENCES type_definition (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id) +); +CREATE TABLE definition ( + is_a TEXT, abstract BOOLEAN, mixin BOOLEAN, string_serialization TEXT, - slots TEXT, - slot_usage TEXT, - attributes TEXT, - class_uri TEXT, - subclass_of TEXT, - union_of TEXT, - defining_slots TEXT, - tree_root BOOLEAN, - classification_rules TEXT, - slot_names_unique BOOLEAN, - represents_relationship BOOLEAN, - disjoint_with TEXT, - children_are_mutually_disjoint BOOLEAN, - is_a TEXT, - mixins TEXT, - apply_to TEXT, - any_of TEXT, - exactly_one_of TEXT, - none_of TEXT, - all_of TEXT, - slot_conditions TEXT, - PRIMARY KEY (name), - 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, - extensions TEXT, - annotations TEXT, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, - is_a TEXT, - abstract BOOLEAN, - mixin BOOLEAN, - string_serialization TEXT, - enum_uri TEXT, - code_set TEXT, - code_set_tag TEXT, - code_set_version TEXT, - pv_formula VARCHAR(11), - permissible_values TEXT, - include TEXT, - minus TEXT, - inherits TEXT, - reachable_from TEXT, - matches TEXT, - PRIMARY KEY (name) + PRIMARY KEY (name), + FOREIGN KEY(is_a) REFERENCES definition (name) ); - -CREATE TABLE enum_expression ( - code_set TEXT, - code_set_tag TEXT, - code_set_version TEXT, - pv_formula VARCHAR(11), - permissible_values TEXT, - include TEXT, - minus TEXT, - inherits TEXT, - reachable_from TEXT, - matches TEXT, - concepts TEXT, - PRIMARY KEY (code_set, code_set_tag, code_set_version, pv_formula, permissible_values, include, minus, inherits, reachable_from, matches, concepts) +CREATE TABLE match_query ( + id INTEGER NOT NULL, + identifier_pattern TEXT, + source_ontology TEXT, + PRIMARY KEY (id) ); - -CREATE TABLE example ( - value TEXT, - description TEXT, - object TEXT, - PRIMARY KEY (value, description, object) +CREATE TABLE reachability_query ( + id INTEGER NOT NULL, + source_ontology TEXT, + is_direct BOOLEAN, + include_self BOOLEAN, + traverse_up BOOLEAN, + PRIMARY KEY (id) ); - -CREATE TABLE extension ( - tag TEXT NOT NULL, - value TEXT NOT NULL, - extensions TEXT, - PRIMARY KEY (tag, value, extensions) +CREATE TABLE expression ( + id INTEGER NOT NULL, + PRIMARY KEY (id) ); - -CREATE TABLE import_expression ( - import_from TEXT NOT NULL, - import_as TEXT, - import_map TEXT, - extensions TEXT, - annotations TEXT, +CREATE TABLE anonymous_expression ( + id INTEGER NOT NULL, 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 (import_from, import_as, import_map, 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 local_name ( - local_name_source TEXT NOT NULL, - local_name_value TEXT NOT NULL, - PRIMARY KEY (local_name_source, local_name_value) -); - -CREATE TABLE match_query ( - identifier_pattern TEXT, - source_ontology TEXT, - PRIMARY KEY (identifier_pattern, source_ontology) + PRIMARY KEY (id) ); - -CREATE TABLE pattern_expression ( - syntax TEXT, - interpolated BOOLEAN, - partial_match BOOLEAN, - extensions TEXT, - annotations TEXT, +CREATE TABLE path_expression ( + id INTEGER NOT NULL, + reversed BOOLEAN, + traverse 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 (syntax, interpolated, partial_match, 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) + followed_by_id INTEGER, + range_expression_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(traverse) REFERENCES slot_definition (name), + FOREIGN KEY(followed_by_id) REFERENCES path_expression (id), + FOREIGN KEY(range_expression_id) REFERENCES anonymous_class_expression (id) ); - -CREATE TABLE permissible_value ( - text TEXT NOT NULL, - description TEXT, - meaning TEXT, - unit TEXT, - is_a TEXT, - mixins TEXT, - extensions TEXT, - annotations TEXT, - alt_descriptions TEXT, - title TEXT, - deprecated TEXT, - examples TEXT, - in_subset TEXT, - from_schema TEXT, +CREATE TABLE slot_definition ( + singular_name TEXT, + domain TEXT, + slot_uri TEXT, + inherited BOOLEAN, + readonly TEXT, + ifabsent TEXT, + list_elements_unique BOOLEAN, + list_elements_ordered BOOLEAN, + shared BOOLEAN, + "key" BOOLEAN, + identifier BOOLEAN, + designates_type BOOLEAN, + alias TEXT, + owner TEXT, + subproperty_of TEXT, + symmetric BOOLEAN, + reflexive BOOLEAN, + locally_reflexive BOOLEAN, + irreflexive BOOLEAN, + asymmetric BOOLEAN, + transitive BOOLEAN, + inverse TEXT, + is_class_field BOOLEAN, + transitive_form_of TEXT, + reflexive_transitive_form_of TEXT, + role TEXT, + is_usage_slot BOOLEAN, + usage_slot_name TEXT, + relational_role VARCHAR(10), + slot_group TEXT, + is_grouping_slot BOOLEAN, + children_are_mutually_disjoint BOOLEAN, + range TEXT, + required BOOLEAN, + recommended BOOLEAN, + multivalued BOOLEAN, + inlined BOOLEAN, + inlined_as_list BOOLEAN, + pattern TEXT, + implicit_prefix TEXT, + value_presence VARCHAR(11), + equals_string TEXT, + equals_number INTEGER, + equals_expression TEXT, + exact_cardinality INTEGER, + minimum_cardinality INTEGER, + maximum_cardinality INTEGER, + is_a TEXT, + abstract BOOLEAN, + mixin BOOLEAN, + string_serialization TEXT, + name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, + definition_uri TEXT, + conforms_to TEXT, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, - PRIMARY KEY (text), - FOREIGN KEY(is_a) REFERENCES permissible_value (text) -); - -CREATE TABLE reachability_query ( - source_ontology TEXT, - source_nodes TEXT, - relationship_types TEXT, - is_direct BOOLEAN, - include_self BOOLEAN, - traverse_up BOOLEAN, - PRIMARY KEY (source_ontology, source_nodes, relationship_types, is_direct, include_self, traverse_up) -); - -CREATE TABLE setting ( - setting_key TEXT NOT NULL, - setting_value TEXT NOT NULL, - PRIMARY KEY (setting_key, setting_value) + schema_definition_name TEXT, + class_expression_id INTEGER, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + path_rule_id INTEGER, + range_expression_id INTEGER, + enum_range_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + structured_pattern_id INTEGER, + unit_id INTEGER, + has_member_id INTEGER, + all_members_id INTEGER, + array_id INTEGER, + PRIMARY KEY (name), + FOREIGN KEY(domain) REFERENCES class_definition (name), + FOREIGN KEY(owner) REFERENCES definition (name), + FOREIGN KEY(subproperty_of) REFERENCES slot_definition (name), + FOREIGN KEY(inverse) REFERENCES slot_definition (name), + FOREIGN KEY(transitive_form_of) REFERENCES slot_definition (name), + FOREIGN KEY(reflexive_transitive_form_of) REFERENCES slot_definition (name), + FOREIGN KEY(slot_group) REFERENCES slot_definition (name), + FOREIGN KEY(range) REFERENCES element (name), + FOREIGN KEY(is_a) REFERENCES slot_definition (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(class_expression_id) REFERENCES class_expression (id), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(path_rule_id) REFERENCES path_expression (id), + FOREIGN KEY(range_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(enum_range_id) REFERENCES enum_expression (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(has_member_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(all_members_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(array_id) REFERENCES array_expression (id) +); +CREATE TABLE class_expression ( + id INTEGER NOT NULL, + PRIMARY KEY (id) ); - -CREATE TABLE structured_alias ( - literal_form TEXT NOT NULL, - predicate VARCHAR(15), - categories TEXT, - extensions TEXT, - annotations TEXT, +CREATE TABLE anonymous_class_expression ( + id INTEGER NOT NULL, + is_a 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, - keywords TEXT, - PRIMARY KEY (literal_form, predicate, categories, 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, keywords) + class_definition_name TEXT, + PRIMARY KEY (id), + FOREIGN KEY(is_a) REFERENCES definition (name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) ); - -CREATE TABLE subset_definition ( +CREATE TABLE class_definition ( + class_uri TEXT, + subclass_of TEXT, + tree_root BOOLEAN, + slot_names_unique BOOLEAN, + represents_relationship BOOLEAN, + children_are_mutually_disjoint BOOLEAN, + is_a TEXT, + abstract BOOLEAN, + mixin BOOLEAN, + string_serialization TEXT, name TEXT NOT NULL, id_prefixes_are_closed BOOLEAN, definition_uri TEXT, - local_names TEXT, conforms_to TEXT, - extensions TEXT, - annotations TEXT, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, - PRIMARY KEY (name) + schema_definition_name TEXT, + extra_slots_id INTEGER, + PRIMARY KEY (name), + FOREIGN KEY(is_a) REFERENCES class_definition (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(extra_slots_id) REFERENCES extra_slots_expression (id) ); - -CREATE TABLE type_definition ( - name TEXT NOT NULL, - id_prefixes_are_closed BOOLEAN, - definition_uri TEXT, - local_names TEXT, - conforms_to TEXT, - extensions TEXT, - annotations TEXT, +CREATE TABLE class_level_rule ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE dimension_expression ( + id INTEGER NOT NULL, + alias TEXT, + maximum_cardinality INTEGER, + minimum_cardinality INTEGER, + exact_cardinality INTEGER, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, - typeof TEXT, - base TEXT, - uri TEXT, - repr TEXT, - union_of TEXT, - pattern TEXT, - structured_pattern TEXT, - unit TEXT, - implicit_prefix TEXT, - equals_string TEXT, - equals_number INTEGER, - minimum_value TEXT, - maximum_value TEXT, - none_of TEXT, - exactly_one_of TEXT, - any_of TEXT, - all_of TEXT, - PRIMARY KEY (name), - FOREIGN KEY(typeof) REFERENCES type_definition (name) -); - -CREATE TABLE "UnitOfMeasure" ( - symbol TEXT, - abbreviation TEXT, - descriptive_name TEXT, - exact_mappings TEXT, - ucum_code TEXT, - derivation TEXT, - has_quantity_kind TEXT, - iec61360code TEXT, - PRIMARY KEY (symbol, abbreviation, descriptive_name, exact_mappings, ucum_code, derivation, has_quantity_kind, iec61360code) + PRIMARY KEY (id) ); - -CREATE TABLE class_rule ( - preconditions TEXT, - postconditions TEXT, - elseconditions TEXT, - bidirectional BOOLEAN, - open_world BOOLEAN, - rank INTEGER, - deactivated BOOLEAN, - extensions TEXT, - annotations TEXT, +CREATE TABLE pattern_expression ( + id INTEGER NOT NULL, + syntax TEXT, + interpolated BOOLEAN, + partial_match BOOLEAN, 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, - categories TEXT, - keywords TEXT, - class_definition_name TEXT, - PRIMARY KEY (preconditions, postconditions, elseconditions, bidirectional, open_world, rank, deactivated, 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, categories, keywords, class_definition_name), - FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) + rank INTEGER, + PRIMARY KEY (id) ); - -CREATE TABLE schema_definition ( - id_prefixes_are_closed BOOLEAN, - definition_uri TEXT, - local_names TEXT, - conforms_to TEXT, - extensions TEXT, - annotations TEXT, +CREATE TABLE import_expression ( + id INTEGER NOT NULL, + import_from TEXT NOT NULL, + import_as TEXT, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, - id TEXT NOT NULL, - version TEXT, - license TEXT, - default_prefix TEXT, - default_range TEXT, - subsets TEXT, - types TEXT, - enums TEXT, - slots TEXT, - classes TEXT, - metamodel_version TEXT, - source_file TEXT, - source_file_date DATETIME, - source_file_size INTEGER, - generation_date DATETIME, - slot_names_unique BOOLEAN, - settings TEXT, - name TEXT NOT NULL, - PRIMARY KEY (name), - FOREIGN KEY(default_range) REFERENCES type_definition (name) + PRIMARY KEY (id) ); - -CREATE TABLE slot_definition ( +CREATE TABLE extra_slots_expression ( + id INTEGER NOT NULL, + allowed BOOLEAN, + range_expression_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(range_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE "AnyValue" ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE extensible ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE annotatable ( + id INTEGER NOT NULL, + PRIMARY KEY (id) +); +CREATE TABLE "UnitOfMeasure" ( + id INTEGER NOT NULL, + symbol TEXT, + abbreviation TEXT, + descriptive_name TEXT, + ucum_code TEXT, + derivation TEXT, + has_quantity_kind TEXT, + iec61360code TEXT, + PRIMARY KEY (id) +); +CREATE TABLE type_expression ( + id INTEGER NOT NULL, + pattern TEXT, + implicit_prefix TEXT, + equals_string TEXT, + equals_number INTEGER, + structured_pattern_id INTEGER, + unit_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id) +); +CREATE TABLE anonymous_type_expression ( + id INTEGER NOT NULL, + pattern TEXT, + implicit_prefix TEXT, + equals_string TEXT, + equals_number INTEGER, + structured_pattern_id INTEGER, + unit_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id) +); +CREATE TABLE subset_definition ( name TEXT NOT NULL, id_prefixes_are_closed BOOLEAN, definition_uri TEXT, - local_names TEXT, conforms_to TEXT, - extensions TEXT, - annotations TEXT, description TEXT, - alt_descriptions TEXT, title TEXT, deprecated TEXT, - examples TEXT, - in_subset TEXT, from_schema TEXT, imported_from TEXT, source TEXT, in_language TEXT, deprecated_element_has_exact_replacement TEXT, deprecated_element_has_possible_replacement TEXT, - structured_aliases TEXT, created_by TEXT, created_on DATETIME, last_updated_on DATETIME, modified_by TEXT, status TEXT, rank INTEGER, + schema_definition_name TEXT, + PRIMARY KEY (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE enum_expression ( + id INTEGER NOT NULL, + code_set TEXT, + code_set_tag TEXT, + code_set_version TEXT, + pv_formula VARCHAR(11), + reachable_from_id INTEGER, + matches_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(reachable_from_id) REFERENCES reachability_query (id), + FOREIGN KEY(matches_id) REFERENCES match_query (id) +); +CREATE TABLE anonymous_enum_expression ( + id INTEGER NOT NULL, + code_set TEXT, + code_set_tag TEXT, + code_set_version TEXT, + pv_formula VARCHAR(11), + reachable_from_id INTEGER, + matches_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(reachable_from_id) REFERENCES reachability_query (id), + FOREIGN KEY(matches_id) REFERENCES match_query (id) +); +CREATE TABLE enum_definition ( + enum_uri TEXT, + code_set TEXT, + code_set_tag TEXT, + code_set_version TEXT, + pv_formula VARCHAR(11), + is_a TEXT, abstract BOOLEAN, mixin BOOLEAN, string_serialization TEXT, - singular_name TEXT, - domain TEXT, - slot_uri TEXT, - multivalued BOOLEAN, - array TEXT, - inherited BOOLEAN, - readonly TEXT, - ifabsent TEXT, - list_elements_unique BOOLEAN, - list_elements_ordered BOOLEAN, - shared BOOLEAN, - "key" BOOLEAN, - identifier BOOLEAN, - designates_type BOOLEAN, - alias TEXT, - owner TEXT, - domain_of TEXT, - subproperty_of TEXT, - symmetric BOOLEAN, - reflexive BOOLEAN, - locally_reflexive BOOLEAN, - irreflexive BOOLEAN, - asymmetric BOOLEAN, - transitive BOOLEAN, - inverse TEXT, - is_class_field BOOLEAN, - transitive_form_of TEXT, - reflexive_transitive_form_of TEXT, - role TEXT, - is_usage_slot BOOLEAN, - usage_slot_name TEXT, - relational_role VARCHAR(10), - slot_group TEXT, - is_grouping_slot BOOLEAN, - path_rule TEXT, - disjoint_with TEXT, - children_are_mutually_disjoint BOOLEAN, - union_of TEXT, - is_a TEXT, - mixins TEXT, - apply_to TEXT, + name TEXT NOT NULL, + id_prefixes_are_closed BOOLEAN, + definition_uri TEXT, + conforms_to TEXT, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + schema_definition_name TEXT, + reachable_from_id INTEGER, + matches_id INTEGER, + PRIMARY KEY (name), + FOREIGN KEY(is_a) REFERENCES definition (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(reachable_from_id) REFERENCES reachability_query (id), + FOREIGN KEY(matches_id) REFERENCES match_query (id) +); +CREATE TABLE class_rule ( + id INTEGER NOT NULL, + bidirectional BOOLEAN, + open_world BOOLEAN, + rank INTEGER, + deactivated BOOLEAN, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + class_definition_name TEXT, + preconditions_id INTEGER, + postconditions_id INTEGER, + elseconditions_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(preconditions_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(postconditions_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(elseconditions_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE array_expression ( + id INTEGER NOT NULL, + exact_number_dimensions INTEGER, + minimum_number_dimensions INTEGER, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + maximum_number_dimensions_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(maximum_number_dimensions_id) REFERENCES "Anything" (id) +); +CREATE TABLE setting ( + setting_key TEXT NOT NULL, + setting_value TEXT NOT NULL, + schema_definition_name TEXT, + import_expression_id INTEGER, + PRIMARY KEY (setting_key, setting_value, schema_definition_name, import_expression_id), + UNIQUE (schema_definition_name, setting_key), + UNIQUE (import_expression_id, setting_key), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE prefix ( + prefix_prefix TEXT NOT NULL, + prefix_reference TEXT NOT NULL, + schema_definition_name TEXT, + PRIMARY KEY (prefix_prefix, prefix_reference, schema_definition_name), + UNIQUE (schema_definition_name, prefix_prefix), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE unique_key ( + unique_key_name TEXT NOT NULL, + consider_nulls_inequal BOOLEAN, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + class_definition_name TEXT, + PRIMARY KEY (unique_key_name, consider_nulls_inequal, description, title, deprecated, from_schema, imported_from, source, in_language, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, created_by, created_on, last_updated_on, modified_by, status, rank, class_definition_name), + UNIQUE (class_definition_name, unique_key_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE type_mapping ( + framework TEXT NOT NULL, + type TEXT, + string_serialization TEXT, + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + PRIMARY KEY (framework, type, string_serialization, description, title, deprecated, from_schema, imported_from, source, in_language, deprecated_element_has_exact_replacement, deprecated_element_has_possible_replacement, created_by, created_on, last_updated_on, modified_by, status, rank), + FOREIGN KEY(type) REFERENCES type_definition (name) +); +CREATE TABLE common_metadata_todos ( + common_metadata_id INTEGER, + todos TEXT, + PRIMARY KEY (common_metadata_id, todos), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_notes ( + common_metadata_id INTEGER, + notes TEXT, + PRIMARY KEY (common_metadata_id, notes), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_comments ( + common_metadata_id INTEGER, + comments TEXT, + PRIMARY KEY (common_metadata_id, comments), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_see_also ( + common_metadata_id INTEGER, + see_also TEXT, + PRIMARY KEY (common_metadata_id, see_also), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_aliases ( + common_metadata_id INTEGER, + aliases TEXT, + PRIMARY KEY (common_metadata_id, aliases), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_mappings ( + common_metadata_id INTEGER, + mappings TEXT, + PRIMARY KEY (common_metadata_id, mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_exact_mappings ( + common_metadata_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (common_metadata_id, exact_mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_close_mappings ( + common_metadata_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (common_metadata_id, close_mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_related_mappings ( + common_metadata_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (common_metadata_id, related_mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_narrow_mappings ( + common_metadata_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (common_metadata_id, narrow_mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_broad_mappings ( + common_metadata_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (common_metadata_id, broad_mappings), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_contributors ( + common_metadata_id INTEGER, + contributors TEXT, + PRIMARY KEY (common_metadata_id, contributors), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_category ( + common_metadata_id INTEGER, + category TEXT, + PRIMARY KEY (common_metadata_id, category), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE common_metadata_keyword ( + common_metadata_id INTEGER, + keyword TEXT, + PRIMARY KEY (common_metadata_id, keyword), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id) +); +CREATE TABLE element_id_prefixes ( + element_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (element_name, id_prefixes), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_implements ( + element_name TEXT, + implements TEXT, + PRIMARY KEY (element_name, implements), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_instantiates ( + element_name TEXT, + instantiates TEXT, + PRIMARY KEY (element_name, instantiates), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_todos ( + element_name TEXT, + todos TEXT, + PRIMARY KEY (element_name, todos), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_notes ( + element_name TEXT, + notes TEXT, + PRIMARY KEY (element_name, notes), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_comments ( + element_name TEXT, + comments TEXT, + PRIMARY KEY (element_name, comments), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_see_also ( + element_name TEXT, + see_also TEXT, + PRIMARY KEY (element_name, see_also), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_aliases ( + element_name TEXT, + aliases TEXT, + PRIMARY KEY (element_name, aliases), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_mappings ( + element_name TEXT, + mappings TEXT, + PRIMARY KEY (element_name, mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_exact_mappings ( + element_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (element_name, exact_mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_close_mappings ( + element_name TEXT, + close_mappings TEXT, + PRIMARY KEY (element_name, close_mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_related_mappings ( + element_name TEXT, + related_mappings TEXT, + PRIMARY KEY (element_name, related_mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_narrow_mappings ( + element_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (element_name, narrow_mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_broad_mappings ( + element_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (element_name, broad_mappings), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_contributors ( + element_name TEXT, + contributors TEXT, + PRIMARY KEY (element_name, contributors), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_category ( + element_name TEXT, + category TEXT, + PRIMARY KEY (element_name, category), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE element_keyword ( + element_name TEXT, + keyword TEXT, + PRIMARY KEY (element_name, keyword), + FOREIGN KEY(element_name) REFERENCES element (name) +); +CREATE TABLE schema_definition_imports ( + schema_definition_name TEXT, + imports TEXT, + PRIMARY KEY (schema_definition_name, imports), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_emit_prefixes ( + schema_definition_name TEXT, + emit_prefixes TEXT, + PRIMARY KEY (schema_definition_name, emit_prefixes), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_default_curi_maps ( + schema_definition_name TEXT, + default_curi_maps TEXT, + PRIMARY KEY (schema_definition_name, default_curi_maps), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_id_prefixes ( + schema_definition_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (schema_definition_name, id_prefixes), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_implements ( + schema_definition_name TEXT, + implements TEXT, + PRIMARY KEY (schema_definition_name, implements), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_instantiates ( + schema_definition_name TEXT, + instantiates TEXT, + PRIMARY KEY (schema_definition_name, instantiates), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_todos ( + schema_definition_name TEXT, + todos TEXT, + PRIMARY KEY (schema_definition_name, todos), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_notes ( + schema_definition_name TEXT, + notes TEXT, + PRIMARY KEY (schema_definition_name, notes), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_comments ( + schema_definition_name TEXT, + comments TEXT, + PRIMARY KEY (schema_definition_name, comments), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_see_also ( + schema_definition_name TEXT, + see_also TEXT, + PRIMARY KEY (schema_definition_name, see_also), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_aliases ( + schema_definition_name TEXT, + aliases TEXT, + PRIMARY KEY (schema_definition_name, aliases), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_mappings ( + schema_definition_name TEXT, + mappings TEXT, + PRIMARY KEY (schema_definition_name, mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_exact_mappings ( + schema_definition_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (schema_definition_name, exact_mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_close_mappings ( + schema_definition_name TEXT, + close_mappings TEXT, + PRIMARY KEY (schema_definition_name, close_mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_related_mappings ( + schema_definition_name TEXT, + related_mappings TEXT, + PRIMARY KEY (schema_definition_name, related_mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_narrow_mappings ( + schema_definition_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (schema_definition_name, narrow_mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_broad_mappings ( + schema_definition_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (schema_definition_name, broad_mappings), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_contributors ( + schema_definition_name TEXT, + contributors TEXT, + PRIMARY KEY (schema_definition_name, contributors), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_category ( + schema_definition_name TEXT, + category TEXT, + PRIMARY KEY (schema_definition_name, category), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE schema_definition_keyword ( + schema_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (schema_definition_name, keyword), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) +); +CREATE TABLE type_definition_union_of ( + type_definition_name TEXT, + union_of_name TEXT, + PRIMARY KEY (type_definition_name, union_of_name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(union_of_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_equals_string_in ( + type_definition_name TEXT, + equals_string_in TEXT, + PRIMARY KEY (type_definition_name, equals_string_in), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_id_prefixes ( + type_definition_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (type_definition_name, id_prefixes), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_implements ( + type_definition_name TEXT, + implements TEXT, + PRIMARY KEY (type_definition_name, implements), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_instantiates ( + type_definition_name TEXT, + instantiates TEXT, + PRIMARY KEY (type_definition_name, instantiates), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_todos ( + type_definition_name TEXT, + todos TEXT, + PRIMARY KEY (type_definition_name, todos), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_notes ( + type_definition_name TEXT, + notes TEXT, + PRIMARY KEY (type_definition_name, notes), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_comments ( + type_definition_name TEXT, + comments TEXT, + PRIMARY KEY (type_definition_name, comments), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_see_also ( + type_definition_name TEXT, + see_also TEXT, + PRIMARY KEY (type_definition_name, see_also), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_aliases ( + type_definition_name TEXT, + aliases TEXT, + PRIMARY KEY (type_definition_name, aliases), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_mappings ( + type_definition_name TEXT, + mappings TEXT, + PRIMARY KEY (type_definition_name, mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_exact_mappings ( + type_definition_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (type_definition_name, exact_mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_close_mappings ( + type_definition_name TEXT, + close_mappings TEXT, + PRIMARY KEY (type_definition_name, close_mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_related_mappings ( + type_definition_name TEXT, + related_mappings TEXT, + PRIMARY KEY (type_definition_name, related_mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_narrow_mappings ( + type_definition_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (type_definition_name, narrow_mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_broad_mappings ( + type_definition_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (type_definition_name, broad_mappings), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_contributors ( + type_definition_name TEXT, + contributors TEXT, + PRIMARY KEY (type_definition_name, contributors), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_category ( + type_definition_name TEXT, + category TEXT, + PRIMARY KEY (type_definition_name, category), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE type_definition_keyword ( + type_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (type_definition_name, keyword), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name) +); +CREATE TABLE definition_mixins ( + definition_name TEXT, + mixins_name TEXT, + PRIMARY KEY (definition_name, mixins_name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(mixins_name) REFERENCES definition (name) +); +CREATE TABLE definition_apply_to ( + definition_name TEXT, + apply_to_name TEXT, + PRIMARY KEY (definition_name, apply_to_name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(apply_to_name) REFERENCES definition (name) +); +CREATE TABLE definition_values_from ( + definition_name TEXT, + values_from TEXT, + PRIMARY KEY (definition_name, values_from), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_id_prefixes ( + definition_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (definition_name, id_prefixes), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_implements ( + definition_name TEXT, + implements TEXT, + PRIMARY KEY (definition_name, implements), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_instantiates ( + definition_name TEXT, + instantiates TEXT, + PRIMARY KEY (definition_name, instantiates), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_todos ( + definition_name TEXT, + todos TEXT, + PRIMARY KEY (definition_name, todos), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_notes ( + definition_name TEXT, + notes TEXT, + PRIMARY KEY (definition_name, notes), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_comments ( + definition_name TEXT, + comments TEXT, + PRIMARY KEY (definition_name, comments), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_see_also ( + definition_name TEXT, + see_also TEXT, + PRIMARY KEY (definition_name, see_also), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_aliases ( + definition_name TEXT, + aliases TEXT, + PRIMARY KEY (definition_name, aliases), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_mappings ( + definition_name TEXT, + mappings TEXT, + PRIMARY KEY (definition_name, mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_exact_mappings ( + definition_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (definition_name, exact_mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_close_mappings ( + definition_name TEXT, + close_mappings TEXT, + PRIMARY KEY (definition_name, close_mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_related_mappings ( + definition_name TEXT, + related_mappings TEXT, + PRIMARY KEY (definition_name, related_mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_narrow_mappings ( + definition_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (definition_name, narrow_mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_broad_mappings ( + definition_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (definition_name, broad_mappings), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_contributors ( + definition_name TEXT, + contributors TEXT, + PRIMARY KEY (definition_name, contributors), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_category ( + definition_name TEXT, + category TEXT, + PRIMARY KEY (definition_name, category), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE definition_keyword ( + definition_name TEXT, + keyword TEXT, + PRIMARY KEY (definition_name, keyword), + FOREIGN KEY(definition_name) REFERENCES definition (name) +); +CREATE TABLE reachability_query_source_nodes ( + reachability_query_id INTEGER, + source_nodes TEXT, + PRIMARY KEY (reachability_query_id, source_nodes), + FOREIGN KEY(reachability_query_id) REFERENCES reachability_query (id) +); +CREATE TABLE reachability_query_relationship_types ( + reachability_query_id INTEGER, + relationship_types TEXT, + PRIMARY KEY (reachability_query_id, relationship_types), + FOREIGN KEY(reachability_query_id) REFERENCES reachability_query (id) +); +CREATE TABLE anonymous_expression_todos ( + anonymous_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (anonymous_expression_id, todos), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_notes ( + anonymous_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (anonymous_expression_id, notes), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_comments ( + anonymous_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (anonymous_expression_id, comments), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_see_also ( + anonymous_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (anonymous_expression_id, see_also), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_aliases ( + anonymous_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (anonymous_expression_id, aliases), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_mappings ( + anonymous_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (anonymous_expression_id, mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_exact_mappings ( + anonymous_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (anonymous_expression_id, exact_mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_close_mappings ( + anonymous_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (anonymous_expression_id, close_mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_related_mappings ( + anonymous_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (anonymous_expression_id, related_mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_narrow_mappings ( + anonymous_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (anonymous_expression_id, narrow_mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_broad_mappings ( + anonymous_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (anonymous_expression_id, broad_mappings), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_contributors ( + anonymous_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (anonymous_expression_id, contributors), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_category ( + anonymous_expression_id INTEGER, + category TEXT, + PRIMARY KEY (anonymous_expression_id, category), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE anonymous_expression_keyword ( + anonymous_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (anonymous_expression_id, keyword), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id) +); +CREATE TABLE path_expression_none_of ( + path_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (path_expression_id, none_of_id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(none_of_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_any_of ( + path_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (path_expression_id, any_of_id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(any_of_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_all_of ( + path_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (path_expression_id, all_of_id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(all_of_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_exactly_one_of ( + path_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (path_expression_id, exactly_one_of_id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_todos ( + path_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (path_expression_id, todos), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_notes ( + path_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (path_expression_id, notes), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_comments ( + path_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (path_expression_id, comments), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_see_also ( + path_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (path_expression_id, see_also), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_aliases ( + path_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (path_expression_id, aliases), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_mappings ( + path_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (path_expression_id, mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_exact_mappings ( + path_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (path_expression_id, exact_mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_close_mappings ( + path_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (path_expression_id, close_mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_related_mappings ( + path_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (path_expression_id, related_mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_narrow_mappings ( + path_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (path_expression_id, narrow_mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_broad_mappings ( + path_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (path_expression_id, broad_mappings), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_contributors ( + path_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (path_expression_id, contributors), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_category ( + path_expression_id INTEGER, + category TEXT, + PRIMARY KEY (path_expression_id, category), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE path_expression_keyword ( + path_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (path_expression_id, keyword), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id) +); +CREATE TABLE slot_definition_domain_of ( + slot_definition_name TEXT, + domain_of_name TEXT, + PRIMARY KEY (slot_definition_name, domain_of_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(domain_of_name) REFERENCES class_definition (name) +); +CREATE TABLE slot_definition_disjoint_with ( + slot_definition_name TEXT, + disjoint_with_name TEXT, + PRIMARY KEY (slot_definition_name, disjoint_with_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(disjoint_with_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_union_of ( + slot_definition_name TEXT, + union_of_name TEXT, + PRIMARY KEY (slot_definition_name, union_of_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(union_of_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_equals_string_in ( + slot_definition_name TEXT, + equals_string_in TEXT, + PRIMARY KEY (slot_definition_name, equals_string_in), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_mixins ( + slot_definition_name TEXT, + mixins_name TEXT, + PRIMARY KEY (slot_definition_name, mixins_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(mixins_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_apply_to ( + slot_definition_name TEXT, + apply_to_name TEXT, + PRIMARY KEY (slot_definition_name, apply_to_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(apply_to_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_values_from ( + slot_definition_name TEXT, + values_from TEXT, + PRIMARY KEY (slot_definition_name, values_from), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_id_prefixes ( + slot_definition_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (slot_definition_name, id_prefixes), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_implements ( + slot_definition_name TEXT, + implements TEXT, + PRIMARY KEY (slot_definition_name, implements), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_instantiates ( + slot_definition_name TEXT, + instantiates TEXT, + PRIMARY KEY (slot_definition_name, instantiates), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_todos ( + slot_definition_name TEXT, + todos TEXT, + PRIMARY KEY (slot_definition_name, todos), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_notes ( + slot_definition_name TEXT, + notes TEXT, + PRIMARY KEY (slot_definition_name, notes), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_comments ( + slot_definition_name TEXT, + comments TEXT, + PRIMARY KEY (slot_definition_name, comments), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_see_also ( + slot_definition_name TEXT, + see_also TEXT, + PRIMARY KEY (slot_definition_name, see_also), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_aliases ( + slot_definition_name TEXT, + aliases TEXT, + PRIMARY KEY (slot_definition_name, aliases), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_mappings ( + slot_definition_name TEXT, + mappings TEXT, + PRIMARY KEY (slot_definition_name, mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_exact_mappings ( + slot_definition_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (slot_definition_name, exact_mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_close_mappings ( + slot_definition_name TEXT, + close_mappings TEXT, + PRIMARY KEY (slot_definition_name, close_mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_related_mappings ( + slot_definition_name TEXT, + related_mappings TEXT, + PRIMARY KEY (slot_definition_name, related_mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_narrow_mappings ( + slot_definition_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (slot_definition_name, narrow_mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_broad_mappings ( + slot_definition_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (slot_definition_name, broad_mappings), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_contributors ( + slot_definition_name TEXT, + contributors TEXT, + PRIMARY KEY (slot_definition_name, contributors), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_category ( + slot_definition_name TEXT, + category TEXT, + PRIMARY KEY (slot_definition_name, category), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_definition_keyword ( + slot_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (slot_definition_name, keyword), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE class_expression_any_of ( + class_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (class_expression_id, any_of_id), + FOREIGN KEY(class_expression_id) REFERENCES class_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_expression_exactly_one_of ( + class_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (class_expression_id, exactly_one_of_id), + FOREIGN KEY(class_expression_id) REFERENCES class_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_expression_none_of ( + class_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (class_expression_id, none_of_id), + FOREIGN KEY(class_expression_id) REFERENCES class_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_expression_all_of ( + class_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (class_expression_id, all_of_id), + FOREIGN KEY(class_expression_id) REFERENCES class_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_any_of ( + anonymous_class_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (anonymous_class_expression_id, any_of_id), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_exactly_one_of ( + anonymous_class_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (anonymous_class_expression_id, exactly_one_of_id), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_none_of ( + anonymous_class_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (anonymous_class_expression_id, none_of_id), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_all_of ( + anonymous_class_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (anonymous_class_expression_id, all_of_id), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_todos ( + anonymous_class_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (anonymous_class_expression_id, todos), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_notes ( + anonymous_class_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (anonymous_class_expression_id, notes), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_comments ( + anonymous_class_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (anonymous_class_expression_id, comments), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_see_also ( + anonymous_class_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (anonymous_class_expression_id, see_also), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_aliases ( + anonymous_class_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (anonymous_class_expression_id, aliases), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_mappings ( + anonymous_class_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_exact_mappings ( + anonymous_class_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, exact_mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_close_mappings ( + anonymous_class_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, close_mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_related_mappings ( + anonymous_class_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, related_mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_narrow_mappings ( + anonymous_class_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, narrow_mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_broad_mappings ( + anonymous_class_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (anonymous_class_expression_id, broad_mappings), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_contributors ( + anonymous_class_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (anonymous_class_expression_id, contributors), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_category ( + anonymous_class_expression_id INTEGER, + category TEXT, + PRIMARY KEY (anonymous_class_expression_id, category), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE anonymous_class_expression_keyword ( + anonymous_class_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (anonymous_class_expression_id, keyword), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_definition_slots ( + class_definition_name TEXT, + slots_name TEXT, + PRIMARY KEY (class_definition_name, slots_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(slots_name) REFERENCES slot_definition (name) +); +CREATE TABLE class_definition_union_of ( + class_definition_name TEXT, + union_of_name TEXT, + PRIMARY KEY (class_definition_name, union_of_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(union_of_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_defining_slots ( + class_definition_name TEXT, + defining_slots_name TEXT, + PRIMARY KEY (class_definition_name, defining_slots_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(defining_slots_name) REFERENCES slot_definition (name) +); +CREATE TABLE class_definition_disjoint_with ( + class_definition_name TEXT, + disjoint_with_name TEXT, + PRIMARY KEY (class_definition_name, disjoint_with_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(disjoint_with_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_any_of ( + class_definition_name TEXT, + any_of_id INTEGER, + PRIMARY KEY (class_definition_name, any_of_id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(any_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_definition_exactly_one_of ( + class_definition_name TEXT, + exactly_one_of_id INTEGER, + PRIMARY KEY (class_definition_name, exactly_one_of_id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_definition_none_of ( + class_definition_name TEXT, + none_of_id INTEGER, + PRIMARY KEY (class_definition_name, none_of_id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(none_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_definition_all_of ( + class_definition_name TEXT, + all_of_id INTEGER, + PRIMARY KEY (class_definition_name, all_of_id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(all_of_id) REFERENCES anonymous_class_expression (id) +); +CREATE TABLE class_definition_mixins ( + class_definition_name TEXT, + mixins_name TEXT, + PRIMARY KEY (class_definition_name, mixins_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(mixins_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_apply_to ( + class_definition_name TEXT, + apply_to_name TEXT, + PRIMARY KEY (class_definition_name, apply_to_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(apply_to_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_values_from ( + class_definition_name TEXT, + values_from TEXT, + PRIMARY KEY (class_definition_name, values_from), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_id_prefixes ( + class_definition_name TEXT, + id_prefixes TEXT, + PRIMARY KEY (class_definition_name, id_prefixes), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_implements ( + class_definition_name TEXT, + implements TEXT, + PRIMARY KEY (class_definition_name, implements), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_instantiates ( + class_definition_name TEXT, + instantiates TEXT, + PRIMARY KEY (class_definition_name, instantiates), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_todos ( + class_definition_name TEXT, + todos TEXT, + PRIMARY KEY (class_definition_name, todos), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_notes ( + class_definition_name TEXT, + notes TEXT, + PRIMARY KEY (class_definition_name, notes), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_comments ( + class_definition_name TEXT, + comments TEXT, + PRIMARY KEY (class_definition_name, comments), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_see_also ( + class_definition_name TEXT, + see_also TEXT, + PRIMARY KEY (class_definition_name, see_also), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_aliases ( + class_definition_name TEXT, + aliases TEXT, + PRIMARY KEY (class_definition_name, aliases), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_mappings ( + class_definition_name TEXT, + mappings TEXT, + PRIMARY KEY (class_definition_name, mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_exact_mappings ( + class_definition_name TEXT, + exact_mappings TEXT, + PRIMARY KEY (class_definition_name, exact_mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_close_mappings ( + class_definition_name TEXT, + close_mappings TEXT, + PRIMARY KEY (class_definition_name, close_mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_related_mappings ( + class_definition_name TEXT, + related_mappings TEXT, + PRIMARY KEY (class_definition_name, related_mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_narrow_mappings ( + class_definition_name TEXT, + narrow_mappings TEXT, + PRIMARY KEY (class_definition_name, narrow_mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_broad_mappings ( + class_definition_name TEXT, + broad_mappings TEXT, + PRIMARY KEY (class_definition_name, broad_mappings), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_contributors ( + class_definition_name TEXT, + contributors TEXT, + PRIMARY KEY (class_definition_name, contributors), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_category ( + class_definition_name TEXT, + category TEXT, + PRIMARY KEY (class_definition_name, category), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE class_definition_keyword ( + class_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (class_definition_name, keyword), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) +); +CREATE TABLE dimension_expression_todos ( + dimension_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (dimension_expression_id, todos), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_notes ( + dimension_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (dimension_expression_id, notes), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_comments ( + dimension_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (dimension_expression_id, comments), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_see_also ( + dimension_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (dimension_expression_id, see_also), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_aliases ( + dimension_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (dimension_expression_id, aliases), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_mappings ( + dimension_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (dimension_expression_id, mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_exact_mappings ( + dimension_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (dimension_expression_id, exact_mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_close_mappings ( + dimension_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (dimension_expression_id, close_mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_related_mappings ( + dimension_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (dimension_expression_id, related_mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_narrow_mappings ( + dimension_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (dimension_expression_id, narrow_mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_broad_mappings ( + dimension_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (dimension_expression_id, broad_mappings), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_contributors ( + dimension_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (dimension_expression_id, contributors), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_category ( + dimension_expression_id INTEGER, + category TEXT, + PRIMARY KEY (dimension_expression_id, category), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE dimension_expression_keyword ( + dimension_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (dimension_expression_id, keyword), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id) +); +CREATE TABLE pattern_expression_todos ( + pattern_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (pattern_expression_id, todos), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_notes ( + pattern_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (pattern_expression_id, notes), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_comments ( + pattern_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (pattern_expression_id, comments), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_see_also ( + pattern_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (pattern_expression_id, see_also), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_aliases ( + pattern_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (pattern_expression_id, aliases), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_mappings ( + pattern_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (pattern_expression_id, mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_exact_mappings ( + pattern_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (pattern_expression_id, exact_mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_close_mappings ( + pattern_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (pattern_expression_id, close_mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_related_mappings ( + pattern_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (pattern_expression_id, related_mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_narrow_mappings ( + pattern_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (pattern_expression_id, narrow_mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_broad_mappings ( + pattern_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (pattern_expression_id, broad_mappings), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_contributors ( + pattern_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (pattern_expression_id, contributors), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_category ( + pattern_expression_id INTEGER, + category TEXT, + PRIMARY KEY (pattern_expression_id, category), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE pattern_expression_keyword ( + pattern_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (pattern_expression_id, keyword), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id) +); +CREATE TABLE import_expression_todos ( + import_expression_id INTEGER, + todos TEXT, + PRIMARY KEY (import_expression_id, todos), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_notes ( + import_expression_id INTEGER, + notes TEXT, + PRIMARY KEY (import_expression_id, notes), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_comments ( + import_expression_id INTEGER, + comments TEXT, + PRIMARY KEY (import_expression_id, comments), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_see_also ( + import_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (import_expression_id, see_also), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_aliases ( + import_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (import_expression_id, aliases), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_mappings ( + import_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (import_expression_id, mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_exact_mappings ( + import_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (import_expression_id, exact_mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_close_mappings ( + import_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (import_expression_id, close_mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_related_mappings ( + import_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (import_expression_id, related_mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_narrow_mappings ( + import_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (import_expression_id, narrow_mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_broad_mappings ( + import_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (import_expression_id, broad_mappings), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_contributors ( + import_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (import_expression_id, contributors), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_category ( + import_expression_id INTEGER, + category TEXT, + PRIMARY KEY (import_expression_id, category), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE import_expression_keyword ( + import_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (import_expression_id, keyword), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id) +); +CREATE TABLE "UnitOfMeasure_exact_mappings" ( + "UnitOfMeasure_id" INTEGER, + exact_mappings TEXT, + PRIMARY KEY ("UnitOfMeasure_id", exact_mappings), + FOREIGN KEY("UnitOfMeasure_id") REFERENCES "UnitOfMeasure" (id) +); +CREATE TABLE anonymous_slot_expression ( + id INTEGER NOT NULL, range TEXT, - range_expression TEXT, - enum_range TEXT, required BOOLEAN, recommended BOOLEAN, + multivalued BOOLEAN, inlined BOOLEAN, inlined_as_list BOOLEAN, - minimum_value TEXT, - maximum_value TEXT, pattern TEXT, - structured_pattern TEXT, - unit TEXT, implicit_prefix TEXT, value_presence VARCHAR(11), equals_string TEXT, @@ -833,1007 +4444,1898 @@ CREATE TABLE slot_definition ( exact_cardinality INTEGER, minimum_cardinality INTEGER, maximum_cardinality INTEGER, - has_member TEXT, - all_members TEXT, - none_of TEXT, - exactly_one_of TEXT, - any_of TEXT, - all_of TEXT, - PRIMARY KEY (name), - FOREIGN KEY(domain) REFERENCES class_definition (name), - FOREIGN KEY(subproperty_of) REFERENCES slot_definition (name), - FOREIGN KEY(inverse) REFERENCES slot_definition (name), - FOREIGN KEY(transitive_form_of) REFERENCES slot_definition (name), - FOREIGN KEY(reflexive_transitive_form_of) REFERENCES slot_definition (name), - FOREIGN KEY(slot_group) REFERENCES slot_definition (name), - FOREIGN KEY(is_a) REFERENCES slot_definition (name) -); - -CREATE TABLE unique_key ( - unique_key_name TEXT NOT NULL, - unique_key_slots TEXT NOT NULL, - consider_nulls_inequal BOOLEAN, - 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, + range_expression_id INTEGER, + enum_range_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + structured_pattern_id INTEGER, + unit_id INTEGER, + has_member_id INTEGER, + all_members_id INTEGER, + array_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(range) REFERENCES element (name), + FOREIGN KEY(range_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(enum_range_id) REFERENCES enum_expression (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(has_member_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(all_members_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(array_id) REFERENCES array_expression (id) +); +CREATE TABLE local_name ( + local_name_source TEXT NOT NULL, + local_name_value TEXT NOT NULL, + element_name TEXT, + schema_definition_name TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + slot_definition_name TEXT, class_definition_name TEXT, - PRIMARY KEY (unique_key_name, unique_key_slots, consider_nulls_inequal, 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, class_definition_name), + PRIMARY KEY (local_name_source, local_name_value, element_name, schema_definition_name, type_definition_name, subset_definition_name, definition_name, enum_definition_name, slot_definition_name, class_definition_name), + UNIQUE (element_name, local_name_source), + UNIQUE (schema_definition_name, local_name_source), + UNIQUE (type_definition_name, local_name_source), + UNIQUE (subset_definition_name, local_name_source), + UNIQUE (definition_name, local_name_source), + UNIQUE (enum_definition_name, local_name_source), + UNIQUE (slot_definition_name, local_name_source), + UNIQUE (class_definition_name, local_name_source), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), FOREIGN KEY(class_definition_name) REFERENCES class_definition (name) ); - -CREATE TABLE class_definition_id_prefixes ( - backref_id TEXT, +CREATE TABLE permissible_value ( + text TEXT NOT NULL, + description TEXT, + meaning TEXT, + is_a TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + enum_expression_id INTEGER, + anonymous_enum_expression_id INTEGER, + enum_definition_name TEXT, + unit_id INTEGER, + PRIMARY KEY (text), + FOREIGN KEY(is_a) REFERENCES permissible_value (text), + FOREIGN KEY(enum_expression_id) REFERENCES enum_expression (id), + FOREIGN KEY(anonymous_enum_expression_id) REFERENCES anonymous_enum_expression (id), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id) +); +CREATE TABLE common_metadata_in_subset ( + common_metadata_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (common_metadata_id, in_subset_name), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE element_in_subset ( + element_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (element_name, in_subset_name), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE schema_definition_in_subset ( + schema_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (schema_definition_name, in_subset_name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE type_expression_equals_string_in ( + type_expression_id INTEGER, + equals_string_in TEXT, + PRIMARY KEY (type_expression_id, equals_string_in), + FOREIGN KEY(type_expression_id) REFERENCES type_expression (id) +); +CREATE TABLE type_expression_none_of ( + type_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (type_expression_id, none_of_id), + FOREIGN KEY(type_expression_id) REFERENCES type_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_expression_exactly_one_of ( + type_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (type_expression_id, exactly_one_of_id), + FOREIGN KEY(type_expression_id) REFERENCES type_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_expression_any_of ( + type_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (type_expression_id, any_of_id), + FOREIGN KEY(type_expression_id) REFERENCES type_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_expression_all_of ( + type_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (type_expression_id, all_of_id), + FOREIGN KEY(type_expression_id) REFERENCES type_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE anonymous_type_expression_equals_string_in ( + anonymous_type_expression_id INTEGER, + equals_string_in TEXT, + PRIMARY KEY (anonymous_type_expression_id, equals_string_in), + FOREIGN KEY(anonymous_type_expression_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE anonymous_type_expression_none_of ( + anonymous_type_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (anonymous_type_expression_id, none_of_id), + FOREIGN KEY(anonymous_type_expression_id) REFERENCES anonymous_type_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE anonymous_type_expression_exactly_one_of ( + anonymous_type_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (anonymous_type_expression_id, exactly_one_of_id), + FOREIGN KEY(anonymous_type_expression_id) REFERENCES anonymous_type_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE anonymous_type_expression_any_of ( + anonymous_type_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (anonymous_type_expression_id, any_of_id), + FOREIGN KEY(anonymous_type_expression_id) REFERENCES anonymous_type_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE anonymous_type_expression_all_of ( + anonymous_type_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (anonymous_type_expression_id, all_of_id), + FOREIGN KEY(anonymous_type_expression_id) REFERENCES anonymous_type_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_definition_none_of ( + type_definition_name TEXT, + none_of_id INTEGER, + PRIMARY KEY (type_definition_name, none_of_id), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(none_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_definition_exactly_one_of ( + type_definition_name TEXT, + exactly_one_of_id INTEGER, + PRIMARY KEY (type_definition_name, exactly_one_of_id), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_definition_any_of ( + type_definition_name TEXT, + any_of_id INTEGER, + PRIMARY KEY (type_definition_name, any_of_id), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(any_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_definition_all_of ( + type_definition_name TEXT, + all_of_id INTEGER, + PRIMARY KEY (type_definition_name, all_of_id), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(all_of_id) REFERENCES anonymous_type_expression (id) +); +CREATE TABLE type_definition_in_subset ( + type_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (type_definition_name, in_subset_name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE subset_definition_id_prefixes ( + subset_definition_name TEXT, id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, id_prefixes), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_implements ( - backref_id TEXT, +CREATE TABLE subset_definition_implements ( + subset_definition_name TEXT, implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, implements), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_instantiates ( - backref_id TEXT, +CREATE TABLE subset_definition_instantiates ( + subset_definition_name TEXT, instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, instantiates), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_todos ( - backref_id TEXT, +CREATE TABLE subset_definition_todos ( + subset_definition_name TEXT, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, todos), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_notes ( - backref_id TEXT, +CREATE TABLE subset_definition_notes ( + subset_definition_name TEXT, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, notes), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_comments ( - backref_id TEXT, +CREATE TABLE subset_definition_comments ( + subset_definition_name TEXT, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, comments), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_see_also ( - backref_id TEXT, +CREATE TABLE subset_definition_in_subset ( + subset_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (subset_definition_name, in_subset_name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE subset_definition_see_also ( + subset_definition_name TEXT, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, see_also), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_aliases ( - backref_id TEXT, +CREATE TABLE subset_definition_aliases ( + subset_definition_name TEXT, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, aliases), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_mappings ( + subset_definition_name TEXT, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_exact_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_exact_mappings ( + subset_definition_name TEXT, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, exact_mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_close_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_close_mappings ( + subset_definition_name TEXT, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, close_mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_related_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_related_mappings ( + subset_definition_name TEXT, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, related_mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_narrow_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_narrow_mappings ( + subset_definition_name TEXT, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, narrow_mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_broad_mappings ( - backref_id TEXT, +CREATE TABLE subset_definition_broad_mappings ( + subset_definition_name TEXT, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, broad_mappings), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) ); - -CREATE TABLE class_definition_contributors ( - backref_id TEXT, +CREATE TABLE subset_definition_contributors ( + subset_definition_name TEXT, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (subset_definition_name, contributors), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) +); +CREATE TABLE subset_definition_category ( + subset_definition_name TEXT, + category TEXT, + PRIMARY KEY (subset_definition_name, category), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) +); +CREATE TABLE subset_definition_keyword ( + subset_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (subset_definition_name, keyword), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name) +); +CREATE TABLE definition_in_subset ( + definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (definition_name, in_subset_name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE enum_expression_include ( + enum_expression_id INTEGER, + include_id INTEGER, + PRIMARY KEY (enum_expression_id, include_id), + FOREIGN KEY(enum_expression_id) REFERENCES enum_expression (id), + FOREIGN KEY(include_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE enum_expression_minus ( + enum_expression_id INTEGER, + minus_id INTEGER, + PRIMARY KEY (enum_expression_id, minus_id), + FOREIGN KEY(enum_expression_id) REFERENCES enum_expression (id), + FOREIGN KEY(minus_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE enum_expression_inherits ( + enum_expression_id INTEGER, + inherits_name TEXT, + PRIMARY KEY (enum_expression_id, inherits_name), + FOREIGN KEY(enum_expression_id) REFERENCES enum_expression (id), + FOREIGN KEY(inherits_name) REFERENCES enum_definition (name) +); +CREATE TABLE enum_expression_concepts ( + enum_expression_id INTEGER, + concepts TEXT, + PRIMARY KEY (enum_expression_id, concepts), + FOREIGN KEY(enum_expression_id) REFERENCES enum_expression (id) +); +CREATE TABLE anonymous_enum_expression_include ( + anonymous_enum_expression_id INTEGER, + include_id INTEGER, + PRIMARY KEY (anonymous_enum_expression_id, include_id), + FOREIGN KEY(anonymous_enum_expression_id) REFERENCES anonymous_enum_expression (id), + FOREIGN KEY(include_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE anonymous_enum_expression_minus ( + anonymous_enum_expression_id INTEGER, + minus_id INTEGER, + PRIMARY KEY (anonymous_enum_expression_id, minus_id), + FOREIGN KEY(anonymous_enum_expression_id) REFERENCES anonymous_enum_expression (id), + FOREIGN KEY(minus_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE anonymous_enum_expression_inherits ( + anonymous_enum_expression_id INTEGER, + inherits_name TEXT, + PRIMARY KEY (anonymous_enum_expression_id, inherits_name), + FOREIGN KEY(anonymous_enum_expression_id) REFERENCES anonymous_enum_expression (id), + FOREIGN KEY(inherits_name) REFERENCES enum_definition (name) +); +CREATE TABLE anonymous_enum_expression_concepts ( + anonymous_enum_expression_id INTEGER, + concepts TEXT, + PRIMARY KEY (anonymous_enum_expression_id, concepts), + FOREIGN KEY(anonymous_enum_expression_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE enum_definition_include ( + enum_definition_name TEXT, + include_id INTEGER, + PRIMARY KEY (enum_definition_name, include_id), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(include_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE enum_definition_minus ( + enum_definition_name TEXT, + minus_id INTEGER, + PRIMARY KEY (enum_definition_name, minus_id), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(minus_id) REFERENCES anonymous_enum_expression (id) +); +CREATE TABLE enum_definition_inherits ( + enum_definition_name TEXT, + inherits_name TEXT, + PRIMARY KEY (enum_definition_name, inherits_name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(inherits_name) REFERENCES enum_definition (name) ); - -CREATE TABLE class_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) +CREATE TABLE enum_definition_concepts ( + enum_definition_name TEXT, + concepts TEXT, + PRIMARY KEY (enum_definition_name, concepts), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - -CREATE TABLE class_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) +CREATE TABLE enum_definition_mixins ( + enum_definition_name TEXT, + mixins_name TEXT, + PRIMARY KEY (enum_definition_name, mixins_name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(mixins_name) REFERENCES definition (name) ); - -CREATE TABLE class_definition_values_from ( - backref_id TEXT, +CREATE TABLE enum_definition_apply_to ( + enum_definition_name TEXT, + apply_to_name TEXT, + PRIMARY KEY (enum_definition_name, apply_to_name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(apply_to_name) REFERENCES definition (name) +); +CREATE TABLE enum_definition_values_from ( + enum_definition_name TEXT, values_from TEXT, - PRIMARY KEY (backref_id, values_from), - FOREIGN KEY(backref_id) REFERENCES class_definition (name) + PRIMARY KEY (enum_definition_name, values_from), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_id_prefixes ( - backref_id TEXT, + enum_definition_name TEXT, id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, id_prefixes), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_implements ( - backref_id TEXT, + enum_definition_name TEXT, implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, implements), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_instantiates ( - backref_id TEXT, + enum_definition_name TEXT, instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, instantiates), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_todos ( - backref_id TEXT, + enum_definition_name TEXT, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, todos), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_notes ( - backref_id TEXT, + enum_definition_name TEXT, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, notes), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_comments ( - backref_id TEXT, + enum_definition_name TEXT, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, comments), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) +); +CREATE TABLE enum_definition_in_subset ( + enum_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (enum_definition_name, in_subset_name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) ); - CREATE TABLE enum_definition_see_also ( - backref_id TEXT, + enum_definition_name TEXT, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, see_also), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_aliases ( - backref_id TEXT, + enum_definition_name TEXT, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, aliases), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_mappings ( - backref_id TEXT, + enum_definition_name TEXT, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_exact_mappings ( - backref_id TEXT, + enum_definition_name TEXT, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, exact_mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_close_mappings ( - backref_id TEXT, + enum_definition_name TEXT, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, close_mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_related_mappings ( - backref_id TEXT, + enum_definition_name TEXT, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, related_mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_narrow_mappings ( - backref_id TEXT, + enum_definition_name TEXT, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, narrow_mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_broad_mappings ( - backref_id TEXT, + enum_definition_name TEXT, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, broad_mappings), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) ); - CREATE TABLE enum_definition_contributors ( - backref_id TEXT, + enum_definition_name TEXT, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) + PRIMARY KEY (enum_definition_name, contributors), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) +); +CREATE TABLE enum_definition_category ( + enum_definition_name TEXT, + category TEXT, + PRIMARY KEY (enum_definition_name, category), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) +); +CREATE TABLE enum_definition_keyword ( + enum_definition_name TEXT, + keyword TEXT, + PRIMARY KEY (enum_definition_name, keyword), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name) +); +CREATE TABLE anonymous_expression_in_subset ( + anonymous_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (anonymous_expression_id, in_subset_name), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE path_expression_in_subset ( + path_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (path_expression_id, in_subset_name), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE slot_definition_type_mappings ( + slot_definition_name TEXT, + type_mappings_framework TEXT, + PRIMARY KEY (slot_definition_name, type_mappings_framework), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(type_mappings_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE slot_definition_in_subset ( + slot_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (slot_definition_name, in_subset_name), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE anonymous_class_expression_in_subset ( + anonymous_class_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (anonymous_class_expression_id, in_subset_name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE class_definition_in_subset ( + class_definition_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (class_definition_name, in_subset_name), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) ); - -CREATE TABLE enum_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_todos ( + class_rule_id INTEGER, + todos TEXT, + PRIMARY KEY (class_rule_id, todos), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE enum_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_notes ( + class_rule_id INTEGER, + notes TEXT, + PRIMARY KEY (class_rule_id, notes), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE enum_definition_mixins ( - backref_id TEXT, - mixins TEXT, - PRIMARY KEY (backref_id, mixins), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_comments ( + class_rule_id INTEGER, + comments TEXT, + PRIMARY KEY (class_rule_id, comments), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_in_subset ( + class_rule_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (class_rule_id, in_subset_name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE class_rule_see_also ( + class_rule_id INTEGER, + see_also TEXT, + PRIMARY KEY (class_rule_id, see_also), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE enum_definition_apply_to ( - backref_id TEXT, - apply_to TEXT, - PRIMARY KEY (backref_id, apply_to), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_aliases ( + class_rule_id INTEGER, + aliases TEXT, + PRIMARY KEY (class_rule_id, aliases), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE enum_definition_values_from ( - backref_id TEXT, - values_from TEXT, - PRIMARY KEY (backref_id, values_from), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_mappings ( + class_rule_id INTEGER, + mappings TEXT, + PRIMARY KEY (class_rule_id, mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE enum_definition_concepts ( - backref_id TEXT, - concepts TEXT, - PRIMARY KEY (backref_id, concepts), - FOREIGN KEY(backref_id) REFERENCES enum_definition (name) +CREATE TABLE class_rule_exact_mappings ( + class_rule_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (class_rule_id, exact_mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) ); - -CREATE TABLE permissible_value_todos ( - backref_id TEXT, +CREATE TABLE class_rule_close_mappings ( + class_rule_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (class_rule_id, close_mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_related_mappings ( + class_rule_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (class_rule_id, related_mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_narrow_mappings ( + class_rule_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (class_rule_id, narrow_mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_broad_mappings ( + class_rule_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (class_rule_id, broad_mappings), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_contributors ( + class_rule_id INTEGER, + contributors TEXT, + PRIMARY KEY (class_rule_id, contributors), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_category ( + class_rule_id INTEGER, + category TEXT, + PRIMARY KEY (class_rule_id, category), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE class_rule_keyword ( + class_rule_id INTEGER, + keyword TEXT, + PRIMARY KEY (class_rule_id, keyword), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id) +); +CREATE TABLE array_expression_dimensions ( + array_expression_id INTEGER, + dimensions_id INTEGER, + PRIMARY KEY (array_expression_id, dimensions_id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimensions_id) REFERENCES dimension_expression (id) +); +CREATE TABLE array_expression_todos ( + array_expression_id INTEGER, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (array_expression_id, todos), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) ); - -CREATE TABLE permissible_value_notes ( - backref_id TEXT, +CREATE TABLE array_expression_notes ( + array_expression_id INTEGER, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (array_expression_id, notes), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) ); - -CREATE TABLE permissible_value_comments ( - backref_id TEXT, +CREATE TABLE array_expression_comments ( + array_expression_id INTEGER, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (array_expression_id, comments), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_in_subset ( + array_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (array_expression_id, in_subset_name), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE array_expression_see_also ( + array_expression_id INTEGER, + see_also TEXT, + PRIMARY KEY (array_expression_id, see_also), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) ); - -CREATE TABLE permissible_value_see_also ( - backref_id TEXT, +CREATE TABLE array_expression_aliases ( + array_expression_id INTEGER, + aliases TEXT, + PRIMARY KEY (array_expression_id, aliases), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_mappings ( + array_expression_id INTEGER, + mappings TEXT, + PRIMARY KEY (array_expression_id, mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_exact_mappings ( + array_expression_id INTEGER, + exact_mappings TEXT, + PRIMARY KEY (array_expression_id, exact_mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_close_mappings ( + array_expression_id INTEGER, + close_mappings TEXT, + PRIMARY KEY (array_expression_id, close_mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_related_mappings ( + array_expression_id INTEGER, + related_mappings TEXT, + PRIMARY KEY (array_expression_id, related_mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_narrow_mappings ( + array_expression_id INTEGER, + narrow_mappings TEXT, + PRIMARY KEY (array_expression_id, narrow_mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_broad_mappings ( + array_expression_id INTEGER, + broad_mappings TEXT, + PRIMARY KEY (array_expression_id, broad_mappings), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_contributors ( + array_expression_id INTEGER, + contributors TEXT, + PRIMARY KEY (array_expression_id, contributors), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_category ( + array_expression_id INTEGER, + category TEXT, + PRIMARY KEY (array_expression_id, category), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE array_expression_keyword ( + array_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (array_expression_id, keyword), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id) +); +CREATE TABLE dimension_expression_in_subset ( + dimension_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (dimension_expression_id, in_subset_name), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE pattern_expression_in_subset ( + pattern_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (pattern_expression_id, in_subset_name), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE import_expression_in_subset ( + import_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (import_expression_id, in_subset_name), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE unique_key_unique_key_slots ( + unique_key_unique_key_name TEXT, + unique_key_slots_name TEXT NOT NULL, + PRIMARY KEY (unique_key_unique_key_name, unique_key_slots_name), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(unique_key_slots_name) REFERENCES slot_definition (name) +); +CREATE TABLE unique_key_todos ( + unique_key_unique_key_name TEXT, + todos TEXT, + PRIMARY KEY (unique_key_unique_key_name, todos), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE unique_key_notes ( + unique_key_unique_key_name TEXT, + notes TEXT, + PRIMARY KEY (unique_key_unique_key_name, notes), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE unique_key_comments ( + unique_key_unique_key_name TEXT, + comments TEXT, + PRIMARY KEY (unique_key_unique_key_name, comments), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE unique_key_in_subset ( + unique_key_unique_key_name TEXT, + in_subset_name TEXT, + PRIMARY KEY (unique_key_unique_key_name, in_subset_name), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE unique_key_see_also ( + unique_key_unique_key_name TEXT, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, see_also), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_aliases ( - backref_id TEXT, +CREATE TABLE unique_key_aliases ( + unique_key_unique_key_name TEXT, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, aliases), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_mappings ( + unique_key_unique_key_name TEXT, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_exact_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_exact_mappings ( + unique_key_unique_key_name TEXT, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, exact_mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_close_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_close_mappings ( + unique_key_unique_key_name TEXT, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, close_mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_related_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_related_mappings ( + unique_key_unique_key_name TEXT, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, related_mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_narrow_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_narrow_mappings ( + unique_key_unique_key_name TEXT, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, narrow_mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_broad_mappings ( - backref_id TEXT, +CREATE TABLE unique_key_broad_mappings ( + unique_key_unique_key_name TEXT, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, broad_mappings), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) ); - -CREATE TABLE permissible_value_contributors ( - backref_id TEXT, +CREATE TABLE unique_key_contributors ( + unique_key_unique_key_name TEXT, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) + PRIMARY KEY (unique_key_unique_key_name, contributors), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE unique_key_category ( + unique_key_unique_key_name TEXT, + category TEXT, + PRIMARY KEY (unique_key_unique_key_name, category), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE unique_key_keyword ( + unique_key_unique_key_name TEXT, + keyword TEXT, + PRIMARY KEY (unique_key_unique_key_name, keyword), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name) +); +CREATE TABLE type_mapping_todos ( + type_mapping_framework TEXT, + todos TEXT, + PRIMARY KEY (type_mapping_framework, todos), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE permissible_value_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) +CREATE TABLE type_mapping_notes ( + type_mapping_framework TEXT, + notes TEXT, + PRIMARY KEY (type_mapping_framework, notes), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE permissible_value_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES permissible_value (text) +CREATE TABLE type_mapping_comments ( + type_mapping_framework TEXT, + comments TEXT, + PRIMARY KEY (type_mapping_framework, comments), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_in_subset ( + type_mapping_framework TEXT, + in_subset_name TEXT, + PRIMARY KEY (type_mapping_framework, in_subset_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE type_mapping_see_also ( + type_mapping_framework TEXT, + see_also TEXT, + PRIMARY KEY (type_mapping_framework, see_also), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE subset_definition_id_prefixes ( - backref_id TEXT, - id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) +CREATE TABLE type_mapping_aliases ( + type_mapping_framework TEXT, + aliases TEXT, + PRIMARY KEY (type_mapping_framework, aliases), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE subset_definition_implements ( - backref_id TEXT, - implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) +CREATE TABLE type_mapping_mappings ( + type_mapping_framework TEXT, + mappings TEXT, + PRIMARY KEY (type_mapping_framework, mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE subset_definition_instantiates ( - backref_id TEXT, - instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) +CREATE TABLE type_mapping_exact_mappings ( + type_mapping_framework TEXT, + exact_mappings TEXT, + PRIMARY KEY (type_mapping_framework, exact_mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE subset_definition_todos ( - backref_id TEXT, +CREATE TABLE type_mapping_close_mappings ( + type_mapping_framework TEXT, + close_mappings TEXT, + PRIMARY KEY (type_mapping_framework, close_mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_related_mappings ( + type_mapping_framework TEXT, + related_mappings TEXT, + PRIMARY KEY (type_mapping_framework, related_mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_narrow_mappings ( + type_mapping_framework TEXT, + narrow_mappings TEXT, + PRIMARY KEY (type_mapping_framework, narrow_mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_broad_mappings ( + type_mapping_framework TEXT, + broad_mappings TEXT, + PRIMARY KEY (type_mapping_framework, broad_mappings), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_contributors ( + type_mapping_framework TEXT, + contributors TEXT, + PRIMARY KEY (type_mapping_framework, contributors), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_category ( + type_mapping_framework TEXT, + category TEXT, + PRIMARY KEY (type_mapping_framework, category), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE type_mapping_keyword ( + type_mapping_framework TEXT, + keyword TEXT, + PRIMARY KEY (type_mapping_framework, keyword), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE slot_expression ( + id INTEGER NOT NULL, + range TEXT, + required BOOLEAN, + recommended BOOLEAN, + multivalued BOOLEAN, + inlined BOOLEAN, + inlined_as_list BOOLEAN, + pattern TEXT, + implicit_prefix TEXT, + value_presence VARCHAR(11), + equals_string TEXT, + equals_number INTEGER, + equals_expression TEXT, + exact_cardinality INTEGER, + minimum_cardinality INTEGER, + maximum_cardinality INTEGER, + range_expression_id INTEGER, + enum_range_id INTEGER, + minimum_value_id INTEGER, + maximum_value_id INTEGER, + structured_pattern_id INTEGER, + unit_id INTEGER, + has_member_id INTEGER, + all_members_id INTEGER, + array_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(range) REFERENCES element (name), + FOREIGN KEY(range_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(enum_range_id) REFERENCES enum_expression (id), + FOREIGN KEY(minimum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(maximum_value_id) REFERENCES "Anything" (id), + FOREIGN KEY(structured_pattern_id) REFERENCES pattern_expression (id), + FOREIGN KEY(unit_id) REFERENCES "UnitOfMeasure" (id), + FOREIGN KEY(has_member_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(all_members_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(array_id) REFERENCES array_expression (id) +); +CREATE TABLE anonymous_slot_expression_equals_string_in ( + anonymous_slot_expression_id INTEGER, + equals_string_in TEXT, + PRIMARY KEY (anonymous_slot_expression_id, equals_string_in), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_none_of ( + anonymous_slot_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (anonymous_slot_expression_id, none_of_id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_exactly_one_of ( + anonymous_slot_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (anonymous_slot_expression_id, exactly_one_of_id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_any_of ( + anonymous_slot_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (anonymous_slot_expression_id, any_of_id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_all_of ( + anonymous_slot_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (anonymous_slot_expression_id, all_of_id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_todos ( + anonymous_slot_expression_id INTEGER, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, todos), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_notes ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_notes ( + anonymous_slot_expression_id INTEGER, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, notes), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_comments ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_comments ( + anonymous_slot_expression_id INTEGER, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) -); - -CREATE TABLE subset_definition_see_also ( - backref_id TEXT, + PRIMARY KEY (anonymous_slot_expression_id, comments), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_in_subset ( + anonymous_slot_expression_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (anonymous_slot_expression_id, in_subset_name), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE anonymous_slot_expression_see_also ( + anonymous_slot_expression_id INTEGER, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, see_also), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_aliases ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_aliases ( + anonymous_slot_expression_id INTEGER, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, aliases), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_mappings ( + anonymous_slot_expression_id INTEGER, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_exact_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_exact_mappings ( + anonymous_slot_expression_id INTEGER, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, exact_mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_close_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_close_mappings ( + anonymous_slot_expression_id INTEGER, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, close_mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_related_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_related_mappings ( + anonymous_slot_expression_id INTEGER, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, related_mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_narrow_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_narrow_mappings ( + anonymous_slot_expression_id INTEGER, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, narrow_mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_broad_mappings ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_broad_mappings ( + anonymous_slot_expression_id INTEGER, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, broad_mappings), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE subset_definition_contributors ( - backref_id TEXT, +CREATE TABLE anonymous_slot_expression_contributors ( + anonymous_slot_expression_id INTEGER, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) -); - -CREATE TABLE subset_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) -); - -CREATE TABLE subset_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES subset_definition (name) -); - -CREATE TABLE type_definition_id_prefixes ( - backref_id TEXT, - id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (anonymous_slot_expression_id, contributors), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_category ( + anonymous_slot_expression_id INTEGER, + category TEXT, + PRIMARY KEY (anonymous_slot_expression_id, category), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE anonymous_slot_expression_keyword ( + anonymous_slot_expression_id INTEGER, + keyword TEXT, + PRIMARY KEY (anonymous_slot_expression_id, keyword), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_definition_none_of ( + slot_definition_name TEXT, + none_of_id INTEGER, + PRIMARY KEY (slot_definition_name, none_of_id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(none_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_definition_exactly_one_of ( + slot_definition_name TEXT, + exactly_one_of_id INTEGER, + PRIMARY KEY (slot_definition_name, exactly_one_of_id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_definition_any_of ( + slot_definition_name TEXT, + any_of_id INTEGER, + PRIMARY KEY (slot_definition_name, any_of_id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(any_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_definition_all_of ( + slot_definition_name TEXT, + all_of_id INTEGER, + PRIMARY KEY (slot_definition_name, all_of_id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(all_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE permissible_value_instantiates ( + permissible_value_text TEXT, + instantiates TEXT, + PRIMARY KEY (permissible_value_text, instantiates), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_implements ( - backref_id TEXT, +CREATE TABLE permissible_value_implements ( + permissible_value_text TEXT, implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, implements), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_instantiates ( - backref_id TEXT, - instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) +CREATE TABLE permissible_value_mixins ( + permissible_value_text TEXT, + mixins_text TEXT, + PRIMARY KEY (permissible_value_text, mixins_text), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(mixins_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_todos ( - backref_id TEXT, +CREATE TABLE permissible_value_todos ( + permissible_value_text TEXT, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, todos), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_notes ( - backref_id TEXT, +CREATE TABLE permissible_value_notes ( + permissible_value_text TEXT, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, notes), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_comments ( - backref_id TEXT, +CREATE TABLE permissible_value_comments ( + permissible_value_text TEXT, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, comments), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_see_also ( - backref_id TEXT, +CREATE TABLE permissible_value_in_subset ( + permissible_value_text TEXT, + in_subset_name TEXT, + PRIMARY KEY (permissible_value_text, in_subset_name), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE permissible_value_see_also ( + permissible_value_text TEXT, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, see_also), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_aliases ( - backref_id TEXT, +CREATE TABLE permissible_value_aliases ( + permissible_value_text TEXT, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, aliases), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_mappings ( + permissible_value_text TEXT, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_exact_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_exact_mappings ( + permissible_value_text TEXT, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, exact_mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_close_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_close_mappings ( + permissible_value_text TEXT, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, close_mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_related_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_related_mappings ( + permissible_value_text TEXT, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, related_mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_narrow_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_narrow_mappings ( + permissible_value_text TEXT, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, narrow_mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_broad_mappings ( - backref_id TEXT, +CREATE TABLE permissible_value_broad_mappings ( + permissible_value_text TEXT, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (permissible_value_text, broad_mappings), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) ); - -CREATE TABLE type_definition_contributors ( - backref_id TEXT, +CREATE TABLE permissible_value_contributors ( + permissible_value_text TEXT, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) -); - -CREATE TABLE type_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) -); - -CREATE TABLE type_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) -); - -CREATE TABLE type_definition_equals_string_in ( - backref_id TEXT, + PRIMARY KEY (permissible_value_text, contributors), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) +); +CREATE TABLE permissible_value_category ( + permissible_value_text TEXT, + category TEXT, + PRIMARY KEY (permissible_value_text, category), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) +); +CREATE TABLE permissible_value_keyword ( + permissible_value_text TEXT, + keyword TEXT, + PRIMARY KEY (permissible_value_text, keyword), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text) +); +CREATE TABLE enum_binding ( + id INTEGER NOT NULL, + range TEXT, + obligation_level VARCHAR(11), + binds_value_of TEXT, + pv_formula VARCHAR(11), + description TEXT, + title TEXT, + deprecated TEXT, + from_schema TEXT, + imported_from TEXT, + source TEXT, + in_language TEXT, + deprecated_element_has_exact_replacement TEXT, + deprecated_element_has_possible_replacement TEXT, + created_by TEXT, + created_on DATETIME, + last_updated_on DATETIME, + modified_by TEXT, + status TEXT, + rank INTEGER, + schema_definition_name TEXT, + slot_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + PRIMARY KEY (id), + FOREIGN KEY(range) REFERENCES enum_definition (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name) +); +CREATE TABLE slot_expression_equals_string_in ( + slot_expression_id INTEGER, equals_string_in TEXT, - PRIMARY KEY (backref_id, equals_string_in), - FOREIGN KEY(backref_id) REFERENCES type_definition (name) + PRIMARY KEY (slot_expression_id, equals_string_in), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id) +); +CREATE TABLE slot_expression_none_of ( + slot_expression_id INTEGER, + none_of_id INTEGER, + PRIMARY KEY (slot_expression_id, none_of_id), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id), + FOREIGN KEY(none_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_expression_exactly_one_of ( + slot_expression_id INTEGER, + exactly_one_of_id INTEGER, + PRIMARY KEY (slot_expression_id, exactly_one_of_id), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id), + FOREIGN KEY(exactly_one_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_expression_any_of ( + slot_expression_id INTEGER, + any_of_id INTEGER, + PRIMARY KEY (slot_expression_id, any_of_id), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id), + FOREIGN KEY(any_of_id) REFERENCES anonymous_slot_expression (id) +); +CREATE TABLE slot_expression_all_of ( + slot_expression_id INTEGER, + all_of_id INTEGER, + PRIMARY KEY (slot_expression_id, all_of_id), + FOREIGN KEY(slot_expression_id) REFERENCES slot_expression (id), + FOREIGN KEY(all_of_id) REFERENCES anonymous_slot_expression (id) ); - -CREATE TABLE path_expression ( - followed_by TEXT, - none_of TEXT, - any_of TEXT, - all_of TEXT, - exactly_one_of TEXT, - reversed BOOLEAN, - traverse TEXT, - range_expression TEXT, - extensions TEXT, - annotations TEXT, +CREATE TABLE structured_alias ( + id INTEGER NOT NULL, + literal_form TEXT NOT NULL, + predicate VARCHAR(15), 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 (followed_by, none_of, any_of, all_of, exactly_one_of, reversed, traverse, range_expression, 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), - FOREIGN KEY(traverse) REFERENCES slot_definition (name) -); - -CREATE TABLE prefix ( - prefix_prefix TEXT NOT NULL, - prefix_reference TEXT NOT NULL, + common_metadata_id INTEGER, + element_name TEXT, schema_definition_name TEXT, - PRIMARY KEY (prefix_prefix, prefix_reference, schema_definition_name), - FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_id_prefixes ( - backref_id TEXT, - id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_implements ( - backref_id TEXT, - implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_instantiates ( - backref_id TEXT, - instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_todos ( - backref_id TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + enum_binding_id INTEGER, + structured_alias_id INTEGER, + anonymous_expression_id INTEGER, + path_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + class_rule_id INTEGER, + array_expression_id INTEGER, + dimension_expression_id INTEGER, + pattern_expression_id INTEGER, + import_expression_id INTEGER, + permissible_value_text TEXT, + unique_key_unique_key_name TEXT, + type_mapping_framework TEXT, + PRIMARY KEY (id), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) +); +CREATE TABLE enum_binding_todos ( + enum_binding_id INTEGER, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, todos), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_notes ( - backref_id TEXT, +CREATE TABLE enum_binding_notes ( + enum_binding_id INTEGER, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, notes), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_comments ( - backref_id TEXT, +CREATE TABLE enum_binding_comments ( + enum_binding_id INTEGER, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_see_also ( - backref_id TEXT, + PRIMARY KEY (enum_binding_id, comments), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) +); +CREATE TABLE enum_binding_in_subset ( + enum_binding_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (enum_binding_id, in_subset_name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE enum_binding_see_also ( + enum_binding_id INTEGER, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, see_also), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_aliases ( - backref_id TEXT, +CREATE TABLE enum_binding_aliases ( + enum_binding_id INTEGER, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, aliases), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_mappings ( + enum_binding_id INTEGER, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_exact_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_exact_mappings ( + enum_binding_id INTEGER, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, exact_mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_close_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_close_mappings ( + enum_binding_id INTEGER, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, close_mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_related_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_related_mappings ( + enum_binding_id INTEGER, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, related_mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_narrow_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_narrow_mappings ( + enum_binding_id INTEGER, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, narrow_mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_broad_mappings ( - backref_id TEXT, +CREATE TABLE enum_binding_broad_mappings ( + enum_binding_id INTEGER, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, broad_mappings), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_contributors ( - backref_id TEXT, +CREATE TABLE enum_binding_contributors ( + enum_binding_id INTEGER, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_imports ( - backref_id TEXT, - imports TEXT, - PRIMARY KEY (backref_id, imports), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) -); - -CREATE TABLE schema_definition_emit_prefixes ( - backref_id TEXT, - emit_prefixes TEXT, - PRIMARY KEY (backref_id, emit_prefixes), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) + PRIMARY KEY (enum_binding_id, contributors), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE schema_definition_default_curi_maps ( - backref_id TEXT, - default_curi_maps TEXT, - PRIMARY KEY (backref_id, default_curi_maps), - FOREIGN KEY(backref_id) REFERENCES schema_definition (name) +CREATE TABLE enum_binding_category ( + enum_binding_id INTEGER, + category TEXT, + PRIMARY KEY (enum_binding_id, category), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE slot_definition_id_prefixes ( - backref_id TEXT, - id_prefixes TEXT, - PRIMARY KEY (backref_id, id_prefixes), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) +CREATE TABLE enum_binding_keyword ( + enum_binding_id INTEGER, + keyword TEXT, + PRIMARY KEY (enum_binding_id, keyword), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id) ); - -CREATE TABLE slot_definition_implements ( - backref_id TEXT, - implements TEXT, - PRIMARY KEY (backref_id, implements), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) +CREATE TABLE example ( + id INTEGER NOT NULL, + value TEXT, + description TEXT, + common_metadata_id INTEGER, + element_name TEXT, + schema_definition_name TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + enum_binding_id INTEGER, + structured_alias_id INTEGER, + anonymous_expression_id INTEGER, + path_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + class_rule_id INTEGER, + array_expression_id INTEGER, + dimension_expression_id INTEGER, + pattern_expression_id INTEGER, + import_expression_id INTEGER, + permissible_value_text TEXT, + unique_key_unique_key_name TEXT, + type_mapping_framework TEXT, + object_id INTEGER, + PRIMARY KEY (id), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework), + FOREIGN KEY(object_id) REFERENCES "Anything" (id) ); - -CREATE TABLE slot_definition_instantiates ( - backref_id TEXT, - instantiates TEXT, - PRIMARY KEY (backref_id, instantiates), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) +CREATE TABLE alt_description ( + source TEXT NOT NULL, + description TEXT NOT NULL, + common_metadata_id INTEGER, + element_name TEXT, + schema_definition_name TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + enum_binding_id INTEGER, + structured_alias_id INTEGER, + anonymous_expression_id INTEGER, + path_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + class_rule_id INTEGER, + array_expression_id INTEGER, + dimension_expression_id INTEGER, + pattern_expression_id INTEGER, + import_expression_id INTEGER, + permissible_value_text TEXT, + unique_key_unique_key_name TEXT, + type_mapping_framework TEXT, + PRIMARY KEY (source, description, common_metadata_id, element_name, schema_definition_name, type_definition_name, subset_definition_name, definition_name, enum_definition_name, enum_binding_id, structured_alias_id, anonymous_expression_id, path_expression_id, anonymous_slot_expression_id, slot_definition_name, anonymous_class_expression_id, class_definition_name, class_rule_id, array_expression_id, dimension_expression_id, pattern_expression_id, import_expression_id, permissible_value_text, unique_key_unique_key_name, type_mapping_framework), + UNIQUE (common_metadata_id, source), + UNIQUE (element_name, source), + UNIQUE (schema_definition_name, source), + UNIQUE (type_definition_name, source), + UNIQUE (subset_definition_name, source), + UNIQUE (definition_name, source), + UNIQUE (enum_definition_name, source), + UNIQUE (enum_binding_id, source), + UNIQUE (structured_alias_id, source), + UNIQUE (anonymous_expression_id, source), + UNIQUE (path_expression_id, source), + UNIQUE (anonymous_slot_expression_id, source), + UNIQUE (slot_definition_name, source), + UNIQUE (anonymous_class_expression_id, source), + UNIQUE (class_definition_name, source), + UNIQUE (class_rule_id, source), + UNIQUE (array_expression_id, source), + UNIQUE (dimension_expression_id, source), + UNIQUE (pattern_expression_id, source), + UNIQUE (import_expression_id, source), + UNIQUE (permissible_value_text, source), + UNIQUE (unique_key_unique_key_name, source), + UNIQUE (type_mapping_framework, source), + FOREIGN KEY(common_metadata_id) REFERENCES common_metadata (id), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework) ); - -CREATE TABLE slot_definition_todos ( - backref_id TEXT, +CREATE TABLE annotation ( + tag TEXT NOT NULL, + element_name TEXT, + schema_definition_name TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + enum_binding_id INTEGER, + structured_alias_id INTEGER, + anonymous_expression_id INTEGER, + path_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + class_rule_id INTEGER, + array_expression_id INTEGER, + dimension_expression_id INTEGER, + pattern_expression_id INTEGER, + import_expression_id INTEGER, + permissible_value_text TEXT, + unique_key_unique_key_name TEXT, + type_mapping_framework TEXT, + annotatable_id INTEGER, + annotation_tag TEXT, + value_id INTEGER NOT NULL, + PRIMARY KEY (tag, element_name, schema_definition_name, type_definition_name, subset_definition_name, definition_name, enum_definition_name, enum_binding_id, structured_alias_id, anonymous_expression_id, path_expression_id, anonymous_slot_expression_id, slot_definition_name, anonymous_class_expression_id, class_definition_name, class_rule_id, array_expression_id, dimension_expression_id, pattern_expression_id, import_expression_id, permissible_value_text, unique_key_unique_key_name, type_mapping_framework, annotatable_id, annotation_tag, value_id), + UNIQUE (element_name, tag), + UNIQUE (schema_definition_name, tag), + UNIQUE (type_definition_name, tag), + UNIQUE (subset_definition_name, tag), + UNIQUE (definition_name, tag), + UNIQUE (enum_definition_name, tag), + UNIQUE (enum_binding_id, tag), + UNIQUE (structured_alias_id, tag), + UNIQUE (anonymous_expression_id, tag), + UNIQUE (path_expression_id, tag), + UNIQUE (anonymous_slot_expression_id, tag), + UNIQUE (slot_definition_name, tag), + UNIQUE (anonymous_class_expression_id, tag), + UNIQUE (class_definition_name, tag), + UNIQUE (class_rule_id, tag), + UNIQUE (array_expression_id, tag), + UNIQUE (dimension_expression_id, tag), + UNIQUE (pattern_expression_id, tag), + UNIQUE (import_expression_id, tag), + UNIQUE (permissible_value_text, tag), + UNIQUE (unique_key_unique_key_name, tag), + UNIQUE (type_mapping_framework, tag), + UNIQUE (annotatable_id, tag), + UNIQUE (annotation_tag, tag), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework), + FOREIGN KEY(annotatable_id) REFERENCES annotatable (id), + FOREIGN KEY(annotation_tag) REFERENCES annotation (tag), + FOREIGN KEY(value_id) REFERENCES "AnyValue" (id) +); +CREATE TABLE structured_alias_category ( + structured_alias_id INTEGER, + category TEXT, + PRIMARY KEY (structured_alias_id, category), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) +); +CREATE TABLE structured_alias_contexts ( + structured_alias_id INTEGER, + contexts TEXT, + PRIMARY KEY (structured_alias_id, contexts), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) +); +CREATE TABLE structured_alias_todos ( + structured_alias_id INTEGER, todos TEXT, - PRIMARY KEY (backref_id, todos), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, todos), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_notes ( - backref_id TEXT, +CREATE TABLE structured_alias_notes ( + structured_alias_id INTEGER, notes TEXT, - PRIMARY KEY (backref_id, notes), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, notes), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_comments ( - backref_id TEXT, +CREATE TABLE structured_alias_comments ( + structured_alias_id INTEGER, comments TEXT, - PRIMARY KEY (backref_id, comments), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) -); - -CREATE TABLE slot_definition_see_also ( - backref_id TEXT, + PRIMARY KEY (structured_alias_id, comments), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) +); +CREATE TABLE structured_alias_in_subset ( + structured_alias_id INTEGER, + in_subset_name TEXT, + PRIMARY KEY (structured_alias_id, in_subset_name), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(in_subset_name) REFERENCES subset_definition (name) +); +CREATE TABLE structured_alias_see_also ( + structured_alias_id INTEGER, see_also TEXT, - PRIMARY KEY (backref_id, see_also), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, see_also), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_aliases ( - backref_id TEXT, +CREATE TABLE structured_alias_aliases ( + structured_alias_id INTEGER, aliases TEXT, - PRIMARY KEY (backref_id, aliases), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, aliases), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_mappings ( + structured_alias_id INTEGER, mappings TEXT, - PRIMARY KEY (backref_id, mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_exact_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_exact_mappings ( + structured_alias_id INTEGER, exact_mappings TEXT, - PRIMARY KEY (backref_id, exact_mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, exact_mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_close_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_close_mappings ( + structured_alias_id INTEGER, close_mappings TEXT, - PRIMARY KEY (backref_id, close_mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, close_mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_related_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_related_mappings ( + structured_alias_id INTEGER, related_mappings TEXT, - PRIMARY KEY (backref_id, related_mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, related_mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_narrow_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_narrow_mappings ( + structured_alias_id INTEGER, narrow_mappings TEXT, - PRIMARY KEY (backref_id, narrow_mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, narrow_mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_broad_mappings ( - backref_id TEXT, +CREATE TABLE structured_alias_broad_mappings ( + structured_alias_id INTEGER, broad_mappings TEXT, - PRIMARY KEY (backref_id, broad_mappings), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, broad_mappings), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_contributors ( - backref_id TEXT, +CREATE TABLE structured_alias_contributors ( + structured_alias_id INTEGER, contributors TEXT, - PRIMARY KEY (backref_id, contributors), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) -); - -CREATE TABLE slot_definition_categories ( - backref_id TEXT, - categories TEXT, - PRIMARY KEY (backref_id, categories), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) -); - -CREATE TABLE slot_definition_keywords ( - backref_id TEXT, - keywords TEXT, - PRIMARY KEY (backref_id, keywords), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) -); - -CREATE TABLE slot_definition_values_from ( - backref_id TEXT, - values_from TEXT, - PRIMARY KEY (backref_id, values_from), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) + PRIMARY KEY (structured_alias_id, contributors), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); - -CREATE TABLE slot_definition_equals_string_in ( - backref_id TEXT, - equals_string_in TEXT, - PRIMARY KEY (backref_id, equals_string_in), - FOREIGN KEY(backref_id) REFERENCES slot_definition (name) +CREATE TABLE structured_alias_keyword ( + structured_alias_id INTEGER, + keyword TEXT, + PRIMARY KEY (structured_alias_id, keyword), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id) ); +CREATE TABLE extension ( + tag TEXT NOT NULL, + element_name TEXT, + schema_definition_name TEXT, + type_definition_name TEXT, + subset_definition_name TEXT, + definition_name TEXT, + enum_definition_name TEXT, + enum_binding_id INTEGER, + structured_alias_id INTEGER, + anonymous_expression_id INTEGER, + path_expression_id INTEGER, + anonymous_slot_expression_id INTEGER, + slot_definition_name TEXT, + anonymous_class_expression_id INTEGER, + class_definition_name TEXT, + class_rule_id INTEGER, + array_expression_id INTEGER, + dimension_expression_id INTEGER, + pattern_expression_id INTEGER, + import_expression_id INTEGER, + permissible_value_text TEXT, + unique_key_unique_key_name TEXT, + type_mapping_framework TEXT, + extension_tag TEXT, + extensible_id INTEGER, + annotation_tag TEXT, + value_id INTEGER NOT NULL, + PRIMARY KEY (tag, element_name, schema_definition_name, type_definition_name, subset_definition_name, definition_name, enum_definition_name, enum_binding_id, structured_alias_id, anonymous_expression_id, path_expression_id, anonymous_slot_expression_id, slot_definition_name, anonymous_class_expression_id, class_definition_name, class_rule_id, array_expression_id, dimension_expression_id, pattern_expression_id, import_expression_id, permissible_value_text, unique_key_unique_key_name, type_mapping_framework, extension_tag, extensible_id, annotation_tag, value_id), + UNIQUE (element_name, tag), + UNIQUE (schema_definition_name, tag), + UNIQUE (type_definition_name, tag), + UNIQUE (subset_definition_name, tag), + UNIQUE (definition_name, tag), + UNIQUE (enum_definition_name, tag), + UNIQUE (enum_binding_id, tag), + UNIQUE (structured_alias_id, tag), + UNIQUE (anonymous_expression_id, tag), + UNIQUE (path_expression_id, tag), + UNIQUE (anonymous_slot_expression_id, tag), + UNIQUE (slot_definition_name, tag), + UNIQUE (anonymous_class_expression_id, tag), + UNIQUE (class_definition_name, tag), + UNIQUE (class_rule_id, tag), + UNIQUE (array_expression_id, tag), + UNIQUE (dimension_expression_id, tag), + UNIQUE (pattern_expression_id, tag), + UNIQUE (import_expression_id, tag), + UNIQUE (permissible_value_text, tag), + UNIQUE (unique_key_unique_key_name, tag), + UNIQUE (type_mapping_framework, tag), + UNIQUE (extension_tag, tag), + UNIQUE (extensible_id, tag), + UNIQUE (annotation_tag, tag), + FOREIGN KEY(element_name) REFERENCES element (name), + FOREIGN KEY(schema_definition_name) REFERENCES schema_definition (name), + FOREIGN KEY(type_definition_name) REFERENCES type_definition (name), + FOREIGN KEY(subset_definition_name) REFERENCES subset_definition (name), + FOREIGN KEY(definition_name) REFERENCES definition (name), + FOREIGN KEY(enum_definition_name) REFERENCES enum_definition (name), + FOREIGN KEY(enum_binding_id) REFERENCES enum_binding (id), + FOREIGN KEY(structured_alias_id) REFERENCES structured_alias (id), + FOREIGN KEY(anonymous_expression_id) REFERENCES anonymous_expression (id), + FOREIGN KEY(path_expression_id) REFERENCES path_expression (id), + FOREIGN KEY(anonymous_slot_expression_id) REFERENCES anonymous_slot_expression (id), + FOREIGN KEY(slot_definition_name) REFERENCES slot_definition (name), + FOREIGN KEY(anonymous_class_expression_id) REFERENCES anonymous_class_expression (id), + FOREIGN KEY(class_definition_name) REFERENCES class_definition (name), + FOREIGN KEY(class_rule_id) REFERENCES class_rule (id), + FOREIGN KEY(array_expression_id) REFERENCES array_expression (id), + FOREIGN KEY(dimension_expression_id) REFERENCES dimension_expression (id), + FOREIGN KEY(pattern_expression_id) REFERENCES pattern_expression (id), + FOREIGN KEY(import_expression_id) REFERENCES import_expression (id), + FOREIGN KEY(permissible_value_text) REFERENCES permissible_value (text), + FOREIGN KEY(unique_key_unique_key_name) REFERENCES unique_key (unique_key_name), + FOREIGN KEY(type_mapping_framework) REFERENCES type_mapping (framework), + FOREIGN KEY(extension_tag) REFERENCES extension (tag), + FOREIGN KEY(extensible_id) REFERENCES extensible (id), + FOREIGN KEY(annotation_tag) REFERENCES annotation (tag), + FOREIGN KEY(value_id) REFERENCES "AnyValue" (id) +); \ No newline at end of file diff --git a/linkml_model/types.py b/linkml_model/types.py index 522a9e97..c79393b2 100644 --- a/linkml_model/types.py +++ b/linkml_model/types.py @@ -1,5 +1,5 @@ # Auto generated from types.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:42 +# Generation date: 2024-12-24T09:44:54 # Schema: types # # id: https://w3id.org/linkml/types @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from linkml_runtime.utils.metamodelcore import Bool, Curie, Decimal, ElementIdentifier, NCName, NodeIdentifier, URI, URIorCURIE, XSDDate, XSDDateTime, XSDTime metamodel_version = "1.7.0" diff --git a/linkml_model/units.py b/linkml_model/units.py index 30fbae46..18be047a 100644 --- a/linkml_model/units.py +++ b/linkml_model/units.py @@ -1,5 +1,5 @@ # Auto generated from units.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:43 +# Generation date: 2024-12-24T09:44:55 # Schema: units # # id: https://w3id.org/linkml/units @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .types import String, Uriorcurie from linkml_runtime.utils.metamodelcore import URIorCURIE @@ -47,7 +79,7 @@ -@dataclass +@dataclass(repr=False) class UnitOfMeasure(YAMLRoot): """ A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other diff --git a/linkml_model/validation.py b/linkml_model/validation.py index b9fe24f8..3db113ec 100644 --- a/linkml_model/validation.py +++ b/linkml_model/validation.py @@ -1,5 +1,5 @@ # Auto generated from validation.yaml by pythongen.py version: 0.0.1 -# Generation date: 2024-02-07T17:29:45 +# Generation date: 2024-12-24T09:44:55 # Schema: reporting # # id: https://w3id.org/linkml/reporting @@ -8,18 +8,50 @@ 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 datetime import ( + date, + datetime, + time +) +from typing import ( + Any, + ClassVar, + Dict, + List, + Optional, + Union +) + +from jsonasobj2 import ( + JsonObj, + as_dict +) +from linkml_runtime.utils.curienamespace import CurieNamespace 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 linkml_runtime.utils.formatutils import ( + camelcase, + sfx, + underscore +) +from linkml_runtime.utils.metamodelcore import ( + bnode, + empty_dict, + empty_list +) +from linkml_runtime.utils.slot import Slot +from linkml_runtime.utils.yamlutils import ( + YAMLRoot, + extended_float, + extended_int, + extended_str +) +from rdflib import ( + Namespace, + URIRef +) + from .types import Nodeidentifier, String from linkml_runtime.utils.metamodelcore import NodeIdentifier @@ -49,7 +81,7 @@ -@dataclass +@dataclass(repr=False) class ValidationReport(YAMLRoot): """ A report object @@ -71,7 +103,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): super().__post_init__(**kwargs) -@dataclass +@dataclass(repr=False) class ValidationResult(YAMLRoot): """ An individual result arising from validation of a data instance using a particular rule diff --git a/poetry.lock b/poetry.lock index fcd6ed7c..38f304b8 100644 --- a/poetry.lock +++ b/poetry.lock @@ -1,10 +1,20 @@ -# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand. + +[[package]] +name = "annotated-types" +version = "0.7.0" +description = "Reusable constraint types to use with typing.Annotated" +optional = false +python-versions = ">=3.8" +files = [ + {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"}, + {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"}, +] [[package]] name = "antlr4-python3-runtime" version = "4.9.3" description = "ANTLR 4.9.3 runtime for Python 3.7" -category = "dev" optional = false python-versions = "*" files = [ @@ -13,74 +23,78 @@ files = [ [[package]] name = "arrow" -version = "1.2.3" +version = "1.3.0" description = "Better dates & times for Python" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "arrow-1.2.3-py3-none-any.whl", hash = "sha256:5a49ab92e3b7b71d96cd6bfcc4df14efefc9dfa96ea19045815914a6ab6b1fe2"}, - {file = "arrow-1.2.3.tar.gz", hash = "sha256:3934b30ca1b9f292376d9db15b19446088d12ec58629bc3f0da28fd55fb633a1"}, + {file = "arrow-1.3.0-py3-none-any.whl", hash = "sha256:c728b120ebc00eb84e01882a6f5e7927a53960aa990ce7dd2b10f39005a67f80"}, + {file = "arrow-1.3.0.tar.gz", hash = "sha256:d4540617648cb5f895730f1ad8c82a65f2dad0166f57b75f3ca54759c4d67a85"}, ] [package.dependencies] python-dateutil = ">=2.7.0" +types-python-dateutil = ">=2.8.10" + +[package.extras] +doc = ["doc8", "sphinx (>=7.0.0)", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx_rtd_theme (>=1.3.0)"] +test = ["dateparser (==1.*)", "pre-commit", "pytest", "pytest-cov", "pytest-mock", "pytz (==2021.1)", "simplejson (==3.*)"] [[package]] name = "attrs" -version = "22.2.0" +version = "24.3.0" description = "Classes Without Boilerplate" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "attrs-22.2.0-py3-none-any.whl", hash = "sha256:29e95c7f6778868dbd49170f98f8818f78f3dc5e0e37c0b1f474e3561b240836"}, - {file = "attrs-22.2.0.tar.gz", hash = "sha256:c9227bfc2f01993c03f68db37d1d15c9690188323c067c641f1a35ca58185f99"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] -cov = ["attrs[tests]", "coverage-enable-subprocess", "coverage[toml] (>=5.3)"] -dev = ["attrs[docs,tests]"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope.interface"] -tests = ["attrs[tests-no-zope]", "zope.interface"] -tests-no-zope = ["cloudpickle", "cloudpickle", "hypothesis", "hypothesis", "mypy (>=0.971,<0.990)", "mypy (>=0.971,<0.990)", "pympler", "pympler", "pytest (>=4.3.0)", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-mypy-plugins", "pytest-xdist[psutil]", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "beautifulsoup4" -version = "4.12.0" +version = "4.12.3" description = "Screen-scraping library" -category = "dev" optional = false python-versions = ">=3.6.0" files = [ - {file = "beautifulsoup4-4.12.0-py3-none-any.whl", hash = "sha256:2130a5ad7f513200fae61a17abb5e338ca980fa28c439c0571014bc0217e9591"}, - {file = "beautifulsoup4-4.12.0.tar.gz", hash = "sha256:c5fceeaec29d09c84970e47c65f2f0efe57872f7cff494c9691a26ec0ff13234"}, + {file = "beautifulsoup4-4.12.3-py3-none-any.whl", hash = "sha256:b80878c9f40111313e55da8ba20bdba06d8fa3969fc68304167741bbf9e082ed"}, + {file = "beautifulsoup4-4.12.3.tar.gz", hash = "sha256:74e3d1928edc070d21748185c46e3fb33490f22f52a3addee9aee0f4f7781051"}, ] [package.dependencies] soupsieve = ">1.2" [package.extras] +cchardet = ["cchardet"] +chardet = ["chardet"] +charset-normalizer = ["charset-normalizer"] html5lib = ["html5lib"] lxml = ["lxml"] [[package]] name = "certifi" -version = "2022.12.7" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." -category = "main" optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2022.12.7-py3-none-any.whl", hash = "sha256:4ad3232f5e926d6718ec31cfc1fcadfde020920e278684144551c91769c7bc18"}, - {file = "certifi-2022.12.7.tar.gz", hash = "sha256:35824b4c3a97115964b408844d64aa14db1cc518f6562e8d7261699d1350a9e3"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] name = "cfgraph" version = "0.2.1" description = "rdflib collections flattening graph" -category = "dev" optional = false python-versions = "*" files = [ @@ -92,111 +106,138 @@ rdflib = ">=0.4.2" [[package]] name = "chardet" -version = "5.1.0" +version = "5.2.0" description = "Universal encoding detector for Python 3" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "chardet-5.1.0-py3-none-any.whl", hash = "sha256:362777fb014af596ad31334fde1e8c327dfdb076e1960d1694662d46a6917ab9"}, - {file = "chardet-5.1.0.tar.gz", hash = "sha256:0d62712b956bc154f85fb0a266e2a3c5913c2967e00348701b32411d6def31e5"}, + {file = "chardet-5.2.0-py3-none-any.whl", hash = "sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970"}, + {file = "chardet-5.2.0.tar.gz", hash = "sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7"}, ] [[package]] name = "charset-normalizer" -version = "3.1.0" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." -category = "main" optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.1.0.tar.gz", hash = "sha256:34e0a2f9c370eb95597aae63bf85eb5e96826d81e3dcf88b8886012906f509b5"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e0ac8959c929593fee38da1c2b64ee9778733cdf03c482c9ff1d508b6b593b2b"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d7fc3fca01da18fbabe4625d64bb612b533533ed10045a2ac3dd194bfa656b60"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:04eefcee095f58eaabe6dc3cc2262f3bcd776d2c67005880894f447b3f2cb9c1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20064ead0717cf9a73a6d1e779b23d149b53daf971169289ed2ed43a71e8d3b0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1435ae15108b1cb6fffbcea2af3d468683b7afed0169ad718451f8db5d1aff6f"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c84132a54c750fda57729d1e2599bb598f5fa0344085dbde5003ba429a4798c0"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75f2568b4189dda1c567339b48cba4ac7384accb9c2a7ed655cd86b04055c795"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11d3bcb7be35e7b1bba2c23beedac81ee893ac9871d0ba79effc7fc01167db6c"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:891cf9b48776b5c61c700b55a598621fdb7b1e301a550365571e9624f270c203"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:5f008525e02908b20e04707a4f704cd286d94718f48bb33edddc7d7b584dddc1"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:b06f0d3bf045158d2fb8837c5785fe9ff9b8c93358be64461a1089f5da983137"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:49919f8400b5e49e961f320c735388ee686a62327e773fa5b3ce6721f7e785ce"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:22908891a380d50738e1f978667536f6c6b526a2064156203d418f4856d6e86a"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win32.whl", hash = "sha256:12d1a39aa6b8c6f6248bb54550efcc1c38ce0d8096a146638fd4738e42284448"}, - {file = "charset_normalizer-3.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:65ed923f84a6844de5fd29726b888e58c62820e0769b76565480e1fdc3d062f8"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9a3267620866c9d17b959a84dd0bd2d45719b817245e49371ead79ed4f710d19"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:6734e606355834f13445b6adc38b53c0fd45f1a56a9ba06c2058f86893ae8017"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f8303414c7b03f794347ad062c0516cee0e15f7a612abd0ce1e25caf6ceb47df"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aaf53a6cebad0eae578f062c7d462155eada9c172bd8c4d250b8c1d8eb7f916a"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3dc5b6a8ecfdc5748a7e429782598e4f17ef378e3e272eeb1340ea57c9109f41"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1b25e3ad6c909f398df8921780d6a3d120d8c09466720226fc621605b6f92b1"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0ca564606d2caafb0abe6d1b5311c2649e8071eb241b2d64e75a0d0065107e62"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b82fab78e0b1329e183a65260581de4375f619167478dddab510c6c6fb04d9b6"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bd7163182133c0c7701b25e604cf1611c0d87712e56e88e7ee5d72deab3e76b5"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:11d117e6c63e8f495412d37e7dc2e2fff09c34b2d09dbe2bee3c6229577818be"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:cf6511efa4801b9b38dc5546d7547d5b5c6ef4b081c60b23e4d941d0eba9cbeb"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:abc1185d79f47c0a7aaf7e2412a0eb2c03b724581139193d2d82b3ad8cbb00ac"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:cb7b2ab0188829593b9de646545175547a70d9a6e2b63bf2cd87a0a391599324"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win32.whl", hash = "sha256:c36bcbc0d5174a80d6cccf43a0ecaca44e81d25be4b7f90f0ed7bcfbb5a00909"}, - {file = "charset_normalizer-3.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:cca4def576f47a09a943666b8f829606bcb17e2bc2d5911a46c8f8da45f56755"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:0c95f12b74681e9ae127728f7e5409cbbef9cd914d5896ef238cc779b8152373"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fca62a8301b605b954ad2e9c3666f9d97f63872aa4efcae5492baca2056b74ab"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ac0aa6cd53ab9a31d397f8303f92c42f534693528fafbdb997c82bae6e477ad9"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c3af8e0f07399d3176b179f2e2634c3ce9c1301379a6b8c9c9aeecd481da494f"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a5fc78f9e3f501a1614a98f7c54d3969f3ad9bba8ba3d9b438c3bc5d047dd28"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:628c985afb2c7d27a4800bfb609e03985aaecb42f955049957814e0491d4006d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:74db0052d985cf37fa111828d0dd230776ac99c740e1a758ad99094be4f1803d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:1e8fcdd8f672a1c4fc8d0bd3a2b576b152d2a349782d1eb0f6b8e52e9954731d"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:04afa6387e2b282cf78ff3dbce20f0cc071c12dc8f685bd40960cc68644cfea6"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:dd5653e67b149503c68c4018bf07e42eeed6b4e956b24c00ccdf93ac79cdff84"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d2686f91611f9e17f4548dbf050e75b079bbc2a82be565832bc8ea9047b61c8c"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win32.whl", hash = "sha256:4155b51ae05ed47199dc5b2a4e62abccb274cee6b01da5b895099b61b1982974"}, - {file = "charset_normalizer-3.1.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322102cdf1ab682ecc7d9b1c5eed4ec59657a65e1c146a0da342b78f4112db23"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:e633940f28c1e913615fd624fcdd72fdba807bf53ea6925d6a588e84e1151531"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3a06f32c9634a8705f4ca9946d667609f52cf130d5548881401f1eb2c39b1e2c"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:7381c66e0561c5757ffe616af869b916c8b4e42b367ab29fedc98481d1e74e14"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3573d376454d956553c356df45bb824262c397c6e26ce43e8203c4c540ee0acb"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e89df2958e5159b811af9ff0f92614dabf4ff617c03a4c1c6ff53bf1c399e0e1"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:78cacd03e79d009d95635e7d6ff12c21eb89b894c354bd2b2ed0b4763373693b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:de5695a6f1d8340b12a5d6d4484290ee74d61e467c39ff03b39e30df62cf83a0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c60b9c202d00052183c9be85e5eaf18a4ada0a47d188a83c8f5c5b23252f649"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f645caaf0008bacf349875a974220f1f1da349c5dbe7c4ec93048cdc785a3326"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:ea9f9c6034ea2d93d9147818f17c2a0860d41b71c38b9ce4d55f21b6f9165a11"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:80d1543d58bd3d6c271b66abf454d437a438dff01c3e62fdbcd68f2a11310d4b"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:73dc03a6a7e30b7edc5b01b601e53e7fc924b04e1835e8e407c12c037e81adbd"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:6f5c2e7bc8a4bf7c426599765b1bd33217ec84023033672c1e9a8b35eaeaaaf8"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win32.whl", hash = "sha256:12a2b561af122e3d94cdb97fe6fb2bb2b82cef0cdca131646fdb940a1eda04f0"}, - {file = "charset_normalizer-3.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:3160a0fd9754aab7d47f95a6b63ab355388d890163eb03b2d2b87ab0a30cfa59"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:38e812a197bf8e71a59fe55b757a84c1f946d0ac114acafaafaf21667a7e169e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6baf0baf0d5d265fa7944feb9f7451cc316bfe30e8df1a61b1bb08577c554f31"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8f25e17ab3039b05f762b0a55ae0b3632b2e073d9c8fc88e89aca31a6198e88f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3747443b6a904001473370d7810aa19c3a180ccd52a7157aacc264a5ac79265e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b116502087ce8a6b7a5f1814568ccbd0e9f6cfd99948aa59b0e241dc57cf739f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d16fd5252f883eb074ca55cb622bc0bee49b979ae4e8639fff6ca3ff44f9f854"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21fa558996782fc226b529fdd2ed7866c2c6ec91cee82735c98a197fae39f706"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f6c7a8a57e9405cad7485f4c9d3172ae486cfef1344b5ddd8e5239582d7355e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:ac3775e3311661d4adace3697a52ac0bab17edd166087d493b52d4f4f553f9f0"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:10c93628d7497c81686e8e5e557aafa78f230cd9e77dd0c40032ef90c18f2230"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:6f4f4668e1831850ebcc2fd0b1cd11721947b6dc7c00bf1c6bd3c929ae14f2c7"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:0be65ccf618c1e7ac9b849c315cc2e8a8751d9cfdaa43027d4f6624bd587ab7e"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:53d0a3fa5f8af98a1e261de6a3943ca631c526635eb5817a87a59d9a57ebf48f"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win32.whl", hash = "sha256:a04f86f41a8916fe45ac5024ec477f41f886b3c435da2d4e3d2709b22ab02af1"}, - {file = "charset_normalizer-3.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:830d2948a5ec37c386d3170c483063798d7879037492540f10a475e3fd6f244b"}, - {file = "charset_normalizer-3.1.0-py3-none-any.whl", hash = "sha256:3d9098b479e78c85080c98e1e35ff40b4a31d8953102bb0fd7d1b6f8a2111a3d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] name = "click" -version = "8.1.3" +version = "8.1.8" description = "Composable command line interface toolkit" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "click-8.1.3-py3-none-any.whl", hash = "sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48"}, - {file = "click-8.1.3.tar.gz", hash = "sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e"}, + {file = "click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2"}, + {file = "click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a"}, ] [package.dependencies] @@ -204,18 +245,17 @@ colorama = {version = "*", markers = "platform_system == \"Windows\""} [[package]] name = "codespell" -version = "2.2.5" +version = "2.3.0" description = "Codespell" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "codespell-2.2.5-py3-none-any.whl", hash = "sha256:efa037f54b73c84f7bd14ce8e853d5f822cdd6386ef0ff32e957a3919435b9ec"}, - {file = "codespell-2.2.5.tar.gz", hash = "sha256:6d9faddf6eedb692bf80c9a94ec13ab4f5fb585aabae5f3750727148d7b5be56"}, + {file = "codespell-2.3.0-py3-none-any.whl", hash = "sha256:a9c7cef2501c9cfede2110fd6d4e5e62296920efe9abfb84648df866e47f58d1"}, + {file = "codespell-2.3.0.tar.gz", hash = "sha256:360c7d10f75e65f67bad720af7007e1060a5d395670ec11a7ed1fed9dd17471f"}, ] [package.extras] -dev = ["Pygments", "build", "chardet", "pytest", "pytest-cov", "pytest-dependency", "ruff", "tomli"] +dev = ["Pygments", "build", "chardet", "pre-commit", "pytest", "pytest-cov", "pytest-dependency", "ruff", "tomli", "twine"] hard-encoding-detection = ["chardet"] toml = ["tomli"] types = ["chardet (>=5.1.0)", "mypy", "pytest", "pytest-cov", "pytest-dependency"] @@ -224,7 +264,6 @@ types = ["chardet (>=5.1.0)", "mypy", "pytest", "pytest-cov", "pytest-dependency name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." -category = "main" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ @@ -234,94 +273,91 @@ files = [ [[package]] name = "curies" -version = "0.5.5" -description = "Idiomatic conversion between URIs and compact URIs (CURIEs)." -category = "main" +version = "0.10.1" +description = "Idiomatic conversion between URIs and compact URIs (CURIEs)" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "curies-0.5.5-py3-none-any.whl", hash = "sha256:265ab8c95a2a6478ca22a1f9a2fac2902d71fa7737534b6380297e4dc49decd6"}, - {file = "curies-0.5.5.tar.gz", hash = "sha256:4c1ddf6e7be2afdccb8e9dad76e4c22c4f9d506bbe0dbb1cfaf2cf29fc488ce2"}, + {file = "curies-0.10.1-py3-none-any.whl", hash = "sha256:48a4da42bfaf778e9d8ec68cdca72a7aee3ee2b0800a1988df7d52067e8a32ba"}, + {file = "curies-0.10.1.tar.gz", hash = "sha256:28fb1c4dcf19e4ff924095c92a61ba03179ce1313e234a8e422f3062315d15c1"}, ] [package.dependencies] -pydantic = "*" +eval-type-backport = {version = "*", markers = "python_version < \"3.10\""} +pydantic = ">=2.0" pytrie = "*" -requests = "*" +typing-extensions = "*" [package.extras] -bioregistry = ["bioregistry (>=0.5.136)"] -docs = ["sphinx", "sphinx-autodoc-typehints", "sphinx-automodapi", "sphinx-rtd-theme"] +docs = ["sphinx (>=8)", "sphinx-automodapi", "sphinx-rtd-theme (>=3.0)"] fastapi = ["defusedxml", "fastapi", "httpx", "python-multipart", "uvicorn"] flask = ["defusedxml", "flask"] pandas = ["pandas"] rdflib = ["rdflib"] -tests = ["coverage", "pytest"] - -[[package]] -name = "decorator" -version = "5.1.1" -description = "Decorators for Humans" -category = "dev" -optional = false -python-versions = ">=3.5" -files = [ - {file = "decorator-5.1.1-py3-none-any.whl", hash = "sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186"}, - {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, -] +tests = ["coverage[toml]", "pytest", "requests"] [[package]] name = "deprecated" -version = "1.2.13" +version = "1.2.15" description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" files = [ - {file = "Deprecated-1.2.13-py2.py3-none-any.whl", hash = "sha256:64756e3e14c8c5eea9795d93c524551432a0be75629f8f29e67ab8caf076c76d"}, - {file = "Deprecated-1.2.13.tar.gz", hash = "sha256:43ac5335da90c31c24ba028af536a91d41d53f9e6901ddb021bcc572ce44e38d"}, + {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, + {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, ] [package.dependencies] wrapt = ">=1.10,<2" [package.extras] -dev = ["PyTest", "PyTest (<5)", "PyTest-Cov", "PyTest-Cov (<2.6)", "bump2version (<1)", "configparser (<5)", "importlib-metadata (<3)", "importlib-resources (<4)", "sphinx (<2)", "sphinxcontrib-websupport (<2)", "tox", "zipp (<2)"] +dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] [[package]] name = "editorconfig" -version = "0.12.3" +version = "0.17.0" description = "EditorConfig File Locator and Interpreter for Python" -category = "dev" optional = false python-versions = "*" files = [ - {file = "EditorConfig-0.12.3-py3-none-any.whl", hash = "sha256:6b0851425aa875b08b16789ee0eeadbd4ab59666e9ebe728e526314c4a2e52c1"}, - {file = "EditorConfig-0.12.3.tar.gz", hash = "sha256:57f8ce78afcba15c8b18d46b5170848c88d56fd38f05c2ec60dbbfcb8996e89e"}, + {file = "EditorConfig-0.17.0-py3-none-any.whl", hash = "sha256:fe491719c5f65959ec00b167d07740e7ffec9a3f362038c72b289330b9991dfc"}, + {file = "editorconfig-0.17.0.tar.gz", hash = "sha256:8739052279699840065d3a9f5c125d7d5a98daeefe53b0e5274261d77cb49aa2"}, ] [[package]] name = "et-xmlfile" -version = "1.1.0" +version = "2.0.0" description = "An implementation of lxml.xmlfile for the standard library" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "et_xmlfile-1.1.0-py3-none-any.whl", hash = "sha256:a2ba85d1d6a74ef63837eed693bcb89c3f752169b0e3e7ae5b16ca5e1b3deada"}, - {file = "et_xmlfile-1.1.0.tar.gz", hash = "sha256:8eb9e2bc2f8c97e37a2dc85a09ecdcdec9d8a396530a6d5a33b30b9a92da0c5c"}, + {file = "et_xmlfile-2.0.0-py3-none-any.whl", hash = "sha256:7a91720bc756843502c3b7504c77b8fe44217c85c537d85037f0f536151b2caa"}, + {file = "et_xmlfile-2.0.0.tar.gz", hash = "sha256:dab3f4764309081ce75662649be815c4c9081e88f0837825f90fd28317d4da54"}, ] +[[package]] +name = "eval-type-backport" +version = "0.2.2" +description = "Like `typing._eval_type`, but lets older Python versions use newer typing features." +optional = false +python-versions = ">=3.8" +files = [ + {file = "eval_type_backport-0.2.2-py3-none-any.whl", hash = "sha256:cb6ad7c393517f476f96d456d0412ea80f0a8cf96f6892834cd9340149111b0a"}, + {file = "eval_type_backport-0.2.2.tar.gz", hash = "sha256:f0576b4cf01ebb5bd358d02314d31846af5e07678387486e2c798af0e7d849c1"}, +] + +[package.extras] +tests = ["pytest"] + [[package]] name = "exceptiongroup" -version = "1.1.1" +version = "1.2.2" description = "Backport of PEP 654 (exception groups)" -category = "main" optional = false python-versions = ">=3.7" files = [ - {file = "exceptiongroup-1.1.1-py3-none-any.whl", hash = "sha256:232c37c63e4f682982c8b6459f33a8981039e5fb8756b2074364e5055c498c9e"}, - {file = "exceptiongroup-1.1.1.tar.gz", hash = "sha256:d484c3090ba2889ae2928419117447a14daf3c1231d5e30d0aae34f354f01785"}, + {file = "exceptiongroup-1.2.2-py3-none-any.whl", hash = "sha256:3111b9d131c238bec2f8f516e123e14ba243563fb135d3fe885990585aa7795b"}, + {file = "exceptiongroup-1.2.2.tar.gz", hash = "sha256:47c2edf7c6738fafb49fd34290706d1a1a2f4d1c6df275526b62cbb4aa5393cc"}, ] [package.extras] @@ -331,7 +367,6 @@ test = ["pytest (>=6)"] name = "fqdn" version = "1.5.1" description = "Validates fully-qualified domain names against RFC 1123, so that they are acceptable to modern bowsers" -category = "dev" optional = false python-versions = ">=2.7, !=3.0, !=3.1, !=3.2, !=3.3, !=3.4, <4" files = [ @@ -343,7 +378,6 @@ files = [ name = "ghp-import" version = "2.1.0" description = "Copy your docs directly to the gh-pages branch." -category = "dev" optional = false python-versions = "*" files = [ @@ -359,104 +393,110 @@ dev = ["flake8", "markdown", "twine", "wheel"] [[package]] name = "graphviz" -version = "0.20.1" +version = "0.20.3" description = "Simple Python interface for Graphviz" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "graphviz-0.20.1-py3-none-any.whl", hash = "sha256:587c58a223b51611c0cf461132da386edd896a029524ca61a1462b880bf97977"}, - {file = "graphviz-0.20.1.zip", hash = "sha256:8c58f14adaa3b947daf26c19bc1e98c4e0702cdc31cf99153e6f06904d492bf8"}, + {file = "graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5"}, + {file = "graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d"}, ] [package.extras] dev = ["flake8", "pep8-naming", "tox (>=3)", "twine", "wheel"] -docs = ["sphinx (>=5)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] -test = ["coverage", "mock (>=4)", "pytest (>=7)", "pytest-cov", "pytest-mock (>=3)"] +docs = ["sphinx (>=5,<7)", "sphinx-autodoc-typehints", "sphinx-rtd-theme"] +test = ["coverage", "pytest (>=7,<8.1)", "pytest-cov", "pytest-mock (>=3)"] [[package]] name = "greenlet" -version = "2.0.2" +version = "3.1.1" description = "Lightweight in-process concurrent programming" -category = "dev" -optional = false -python-versions = ">=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*" -files = [ - {file = "greenlet-2.0.2-cp27-cp27m-macosx_10_14_x86_64.whl", hash = "sha256:bdfea8c661e80d3c1c99ad7c3ff74e6e87184895bbaca6ee8cc61209f8b9b85d"}, - {file = "greenlet-2.0.2-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:9d14b83fab60d5e8abe587d51c75b252bcc21683f24699ada8fb275d7712f5a9"}, - {file = "greenlet-2.0.2-cp27-cp27m-win32.whl", hash = "sha256:6c3acb79b0bfd4fe733dff8bc62695283b57949ebcca05ae5c129eb606ff2d74"}, - {file = "greenlet-2.0.2-cp27-cp27m-win_amd64.whl", hash = "sha256:283737e0da3f08bd637b5ad058507e578dd462db259f7f6e4c5c365ba4ee9343"}, - {file = "greenlet-2.0.2-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:d27ec7509b9c18b6d73f2f5ede2622441de812e7b1a80bbd446cb0633bd3d5ae"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d967650d3f56af314b72df7089d96cda1083a7fc2da05b375d2bc48c82ab3f3c"}, - {file = "greenlet-2.0.2-cp310-cp310-macosx_11_0_x86_64.whl", hash = "sha256:30bcf80dda7f15ac77ba5af2b961bdd9dbc77fd4ac6105cee85b0d0a5fcf74df"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:26fbfce90728d82bc9e6c38ea4d038cba20b7faf8a0ca53a9c07b67318d46088"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9190f09060ea4debddd24665d6804b995a9c122ef5917ab26e1566dcc712ceeb"}, - {file = "greenlet-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d75209eed723105f9596807495d58d10b3470fa6732dd6756595e89925ce2470"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:3a51c9751078733d88e013587b108f1b7a1fb106d402fb390740f002b6f6551a"}, - {file = "greenlet-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:76ae285c8104046b3a7f06b42f29c7b73f77683df18c49ab5af7983994c2dd91"}, - {file = "greenlet-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:2d4686f195e32d36b4d7cf2d166857dbd0ee9f3d20ae349b6bf8afc8485b3645"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c4302695ad8027363e96311df24ee28978162cdcdd2006476c43970b384a244c"}, - {file = "greenlet-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d4606a527e30548153be1a9f155f4e283d109ffba663a15856089fb55f933e47"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c48f54ef8e05f04d6eff74b8233f6063cb1ed960243eacc474ee73a2ea8573ca"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1846f1b999e78e13837c93c778dcfc3365902cfb8d1bdb7dd73ead37059f0d0"}, - {file = "greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a06ad5312349fec0ab944664b01d26f8d1f05009566339ac6f63f56589bc1a2"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:eff4eb9b7eb3e4d0cae3d28c283dc16d9bed6b193c2e1ace3ed86ce48ea8df19"}, - {file = "greenlet-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:5454276c07d27a740c5892f4907c86327b632127dd9abec42ee62e12427ff7e3"}, - {file = "greenlet-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:7cafd1208fdbe93b67c7086876f061f660cfddc44f404279c1585bbf3cdc64c5"}, - {file = "greenlet-2.0.2-cp35-cp35m-macosx_10_14_x86_64.whl", hash = "sha256:910841381caba4f744a44bf81bfd573c94e10b3045ee00de0cbf436fe50673a6"}, - {file = "greenlet-2.0.2-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:18a7f18b82b52ee85322d7a7874e676f34ab319b9f8cce5de06067384aa8ff43"}, - {file = "greenlet-2.0.2-cp35-cp35m-win32.whl", hash = "sha256:03a8f4f3430c3b3ff8d10a2a86028c660355ab637cee9333d63d66b56f09d52a"}, - {file = "greenlet-2.0.2-cp35-cp35m-win_amd64.whl", hash = "sha256:4b58adb399c4d61d912c4c331984d60eb66565175cdf4a34792cd9600f21b394"}, - {file = "greenlet-2.0.2-cp36-cp36m-macosx_10_14_x86_64.whl", hash = "sha256:703f18f3fda276b9a916f0934d2fb6d989bf0b4fb5a64825260eb9bfd52d78f0"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux2010_x86_64.whl", hash = "sha256:32e5b64b148966d9cccc2c8d35a671409e45f195864560829f395a54226408d3"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2dd11f291565a81d71dab10b7033395b7a3a5456e637cf997a6f33ebdf06f8db"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e0f72c9ddb8cd28532185f54cc1453f2c16fb417a08b53a855c4e6a418edd099"}, - {file = "greenlet-2.0.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cd021c754b162c0fb55ad5d6b9d960db667faad0fa2ff25bb6e1301b0b6e6a75"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:3c9b12575734155d0c09d6c3e10dbd81665d5c18e1a7c6597df72fd05990c8cf"}, - {file = "greenlet-2.0.2-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b9ec052b06a0524f0e35bd8790686a1da006bd911dd1ef7d50b77bfbad74e292"}, - {file = "greenlet-2.0.2-cp36-cp36m-win32.whl", hash = "sha256:dbfcfc0218093a19c252ca8eb9aee3d29cfdcb586df21049b9d777fd32c14fd9"}, - {file = "greenlet-2.0.2-cp36-cp36m-win_amd64.whl", hash = "sha256:9f35ec95538f50292f6d8f2c9c9f8a3c6540bbfec21c9e5b4b751e0a7c20864f"}, - {file = "greenlet-2.0.2-cp37-cp37m-macosx_10_15_x86_64.whl", hash = "sha256:d5508f0b173e6aa47273bdc0a0b5ba055b59662ba7c7ee5119528f466585526b"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux2010_x86_64.whl", hash = "sha256:f82d4d717d8ef19188687aa32b8363e96062911e63ba22a0cff7802a8e58e5f1"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c9c59a2120b55788e800d82dfa99b9e156ff8f2227f07c5e3012a45a399620b7"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2780572ec463d44c1d3ae850239508dbeb9fed38e294c68d19a24d925d9223ca"}, - {file = "greenlet-2.0.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:937e9020b514ceedb9c830c55d5c9872abc90f4b5862f89c0887033ae33c6f73"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:36abbf031e1c0f79dd5d596bfaf8e921c41df2bdf54ee1eed921ce1f52999a86"}, - {file = "greenlet-2.0.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:18e98fb3de7dba1c0a852731c3070cf022d14f0d68b4c87a19cc1016f3bb8b33"}, - {file = "greenlet-2.0.2-cp37-cp37m-win32.whl", hash = "sha256:3f6ea9bd35eb450837a3d80e77b517ea5bc56b4647f5502cd28de13675ee12f7"}, - {file = "greenlet-2.0.2-cp37-cp37m-win_amd64.whl", hash = "sha256:7492e2b7bd7c9b9916388d9df23fa49d9b88ac0640db0a5b4ecc2b653bf451e3"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b864ba53912b6c3ab6bcb2beb19f19edd01a6bfcbdfe1f37ddd1778abfe75a30"}, - {file = "greenlet-2.0.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:1087300cf9700bbf455b1b97e24db18f2f77b55302a68272c56209d5587c12d1"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux2010_x86_64.whl", hash = "sha256:ba2956617f1c42598a308a84c6cf021a90ff3862eddafd20c3333d50f0edb45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3a569657468b6f3fb60587e48356fe512c1754ca05a564f11366ac9e306526"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8eab883b3b2a38cc1e050819ef06a7e6344d4a990d24d45bc6f2cf959045a45b"}, - {file = "greenlet-2.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:acd2162a36d3de67ee896c43effcd5ee3de247eb00354db411feb025aa319857"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:0bf60faf0bc2468089bdc5edd10555bab6e85152191df713e2ab1fcc86382b5a"}, - {file = "greenlet-2.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0ef99cdbe2b682b9ccbb964743a6aca37905fda5e0452e5ee239b1654d37f2a"}, - {file = "greenlet-2.0.2-cp38-cp38-win32.whl", hash = "sha256:b80f600eddddce72320dbbc8e3784d16bd3fb7b517e82476d8da921f27d4b249"}, - {file = "greenlet-2.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:4d2e11331fc0c02b6e84b0d28ece3a36e0548ee1a1ce9ddde03752d9b79bba40"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8512a0c38cfd4e66a858ddd1b17705587900dd760c6003998e9472b77b56d417"}, - {file = "greenlet-2.0.2-cp39-cp39-macosx_11_0_x86_64.whl", hash = "sha256:88d9ab96491d38a5ab7c56dd7a3cc37d83336ecc564e4e8816dbed12e5aaefc8"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux2010_x86_64.whl", hash = "sha256:561091a7be172ab497a3527602d467e2b3fbe75f9e783d8b8ce403fa414f71a6"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:971ce5e14dc5e73715755d0ca2975ac88cfdaefcaab078a284fea6cfabf866df"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:be4ed120b52ae4d974aa40215fcdfde9194d63541c7ded40ee12eb4dda57b76b"}, - {file = "greenlet-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:94c817e84245513926588caf1152e3b559ff794d505555211ca041f032abbb6b"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1a819eef4b0e0b96bb0d98d797bef17dc1b4a10e8d7446be32d1da33e095dbb8"}, - {file = "greenlet-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7efde645ca1cc441d6dc4b48c0f7101e8d86b54c8530141b09fd31cef5149ec9"}, - {file = "greenlet-2.0.2-cp39-cp39-win32.whl", hash = "sha256:ea9872c80c132f4663822dd2a08d404073a5a9b5ba6155bea72fb2a79d1093b5"}, - {file = "greenlet-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:db1a39669102a1d8d12b57de2bb7e2ec9066a6f2b3da35ae511ff93b01b5d564"}, - {file = "greenlet-2.0.2.tar.gz", hash = "sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0"}, +optional = false +python-versions = ">=3.7" +files = [ + {file = "greenlet-3.1.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:0bbae94a29c9e5c7e4a2b7f0aae5c17e8e90acbfd3bf6270eeba60c39fce3563"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0fde093fb93f35ca72a556cf72c92ea3ebfda3d79fc35bb19fbe685853869a83"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:36b89d13c49216cadb828db8dfa6ce86bbbc476a82d3a6c397f0efae0525bdd0"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94b6150a85e1b33b40b1464a3f9988dcc5251d6ed06842abff82e42632fac120"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:93147c513fac16385d1036b7e5b102c7fbbdb163d556b791f0f11eada7ba65dc"}, + {file = "greenlet-3.1.1-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da7a9bff22ce038e19bf62c4dd1ec8391062878710ded0a845bcf47cc0200617"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b2795058c23988728eec1f36a4e5e4ebad22f8320c85f3587b539b9ac84128d7"}, + {file = "greenlet-3.1.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ed10eac5830befbdd0c32f83e8aa6288361597550ba669b04c48f0f9a2c843c6"}, + {file = "greenlet-3.1.1-cp310-cp310-win_amd64.whl", hash = "sha256:77c386de38a60d1dfb8e55b8c1101d68c79dfdd25c7095d51fec2dd800892b80"}, + {file = "greenlet-3.1.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:e4d333e558953648ca09d64f13e6d8f0523fa705f51cae3f03b5983489958c70"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09fc016b73c94e98e29af67ab7b9a879c307c6731a2c9da0db5a7d9b7edd1159"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5e975ca70269d66d17dd995dafc06f1b06e8cb1ec1e9ed54c1d1e4a7c4cf26e"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3b2813dc3de8c1ee3f924e4d4227999285fd335d1bcc0d2be6dc3f1f6a318ec1"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e347b3bfcf985a05e8c0b7d462ba6f15b1ee1c909e2dcad795e49e91b152c383"}, + {file = "greenlet-3.1.1-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9e8f8c9cb53cdac7ba9793c276acd90168f416b9ce36799b9b885790f8ad6c0a"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:62ee94988d6b4722ce0028644418d93a52429e977d742ca2ccbe1c4f4a792511"}, + {file = "greenlet-3.1.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1776fd7f989fc6b8d8c8cb8da1f6b82c5814957264d1f6cf818d475ec2bf6395"}, + {file = "greenlet-3.1.1-cp311-cp311-win_amd64.whl", hash = "sha256:48ca08c771c268a768087b408658e216133aecd835c0ded47ce955381105ba39"}, + {file = "greenlet-3.1.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:4afe7ea89de619adc868e087b4d2359282058479d7cfb94970adf4b55284574d"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f406b22b7c9a9b4f8aa9d2ab13d6ae0ac3e85c9a809bd590ad53fed2bf70dc79"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3a701fe5a9695b238503ce5bbe8218e03c3bcccf7e204e455e7462d770268aa"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2846930c65b47d70b9d178e89c7e1a69c95c1f68ea5aa0a58646b7a96df12441"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99cfaa2110534e2cf3ba31a7abcac9d328d1d9f1b95beede58294a60348fba36"}, + {file = "greenlet-3.1.1-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1443279c19fca463fc33e65ef2a935a5b09bb90f978beab37729e1c3c6c25fe9"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b7cede291382a78f7bb5f04a529cb18e068dd29e0fb27376074b6d0317bf4dd0"}, + {file = "greenlet-3.1.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:23f20bb60ae298d7d8656c6ec6db134bca379ecefadb0b19ce6f19d1f232a942"}, + {file = "greenlet-3.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:7124e16b4c55d417577c2077be379514321916d5790fa287c9ed6f23bd2ffd01"}, + {file = "greenlet-3.1.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:05175c27cb459dcfc05d026c4232f9de8913ed006d42713cb8a5137bd49375f1"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:935e943ec47c4afab8965954bf49bfa639c05d4ccf9ef6e924188f762145c0ff"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667a9706c970cb552ede35aee17339a18e8f2a87a51fba2ed39ceeeb1004798a"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b8a678974d1f3aa55f6cc34dc480169d58f2e6d8958895d68845fa4ab566509e"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efc0f674aa41b92da8c49e0346318c6075d734994c3c4e4430b1c3f853e498e4"}, + {file = "greenlet-3.1.1-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0153404a4bb921f0ff1abeb5ce8a5131da56b953eda6e14b88dc6bbc04d2049e"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:275f72decf9932639c1c6dd1013a1bc266438eb32710016a1c742df5da6e60a1"}, + {file = "greenlet-3.1.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c4aab7f6381f38a4b42f269057aee279ab0fc7bf2e929e3d4abfae97b682a12c"}, + {file = "greenlet-3.1.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42703b1cf69f2aa1df7d1030b9d77d3e584a70755674d60e710f0af570f3761"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f1695e76146579f8c06c1509c7ce4dfe0706f49c6831a817ac04eebb2fd02011"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7876452af029456b3f3549b696bb36a06db7c90747740c5302f74a9e9fa14b13"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4ead44c85f8ab905852d3de8d86f6f8baf77109f9da589cb4fa142bd3b57b475"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8320f64b777d00dd7ccdade271eaf0cad6636343293a25074cc5566160e4de7b"}, + {file = "greenlet-3.1.1-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6510bf84a6b643dabba74d3049ead221257603a253d0a9873f55f6a59a65f822"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:04b013dc07c96f83134b1e99888e7a79979f1a247e2a9f59697fa14b5862ed01"}, + {file = "greenlet-3.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:411f015496fec93c1c8cd4e5238da364e1da7a124bcb293f085bf2860c32c6f6"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47da355d8687fd65240c364c90a31569a133b7b60de111c255ef5b606f2ae291"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98884ecf2ffb7d7fe6bd517e8eb99d31ff7855a840fa6d0d63cd07c037f6a981"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1d4aeb8891338e60d1ab6127af1fe45def5259def8094b9c7e34690c8858803"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db32b5348615a04b82240cc67983cb315309e88d444a288934ee6ceaebcad6cc"}, + {file = "greenlet-3.1.1-cp37-cp37m-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:dcc62f31eae24de7f8dce72134c8651c58000d3b1868e01392baea7c32c247de"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1d3755bcb2e02de341c55b4fca7a745a24a9e7212ac953f6b3a48d117d7257aa"}, + {file = "greenlet-3.1.1-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:b8da394b34370874b4572676f36acabac172602abf054cbc4ac910219f3340af"}, + {file = "greenlet-3.1.1-cp37-cp37m-win32.whl", hash = "sha256:a0dfc6c143b519113354e780a50381508139b07d2177cb6ad6a08278ec655798"}, + {file = "greenlet-3.1.1-cp37-cp37m-win_amd64.whl", hash = "sha256:54558ea205654b50c438029505def3834e80f0869a70fb15b871c29b4575ddef"}, + {file = "greenlet-3.1.1-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:346bed03fe47414091be4ad44786d1bd8bef0c3fcad6ed3dee074a032ab408a9"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dfc59d69fc48664bc693842bd57acfdd490acafda1ab52c7836e3fc75c90a111"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d21e10da6ec19b457b82636209cbe2331ff4306b54d06fa04b7c138ba18c8a81"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37b9de5a96111fc15418819ab4c4432e4f3c2ede61e660b1e33971eba26ef9ba"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef9ea3f137e5711f0dbe5f9263e8c009b7069d8a1acea822bd5e9dae0ae49c8"}, + {file = "greenlet-3.1.1-cp38-cp38-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:85f3ff71e2e60bd4b4932a043fbbe0f499e263c628390b285cb599154a3b03b1"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:95ffcf719966dd7c453f908e208e14cde192e09fde6c7186c8f1896ef778d8cd"}, + {file = "greenlet-3.1.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:03a088b9de532cbfe2ba2034b2b85e82df37874681e8c470d6fb2f8c04d7e4b7"}, + {file = "greenlet-3.1.1-cp38-cp38-win32.whl", hash = "sha256:8b8b36671f10ba80e159378df9c4f15c14098c4fd73a36b9ad715f057272fbef"}, + {file = "greenlet-3.1.1-cp38-cp38-win_amd64.whl", hash = "sha256:7017b2be767b9d43cc31416aba48aab0d2309ee31b4dbf10a1d38fb7972bdf9d"}, + {file = "greenlet-3.1.1-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:396979749bd95f018296af156201d6211240e7a23090f50a8d5d18c370084dc3"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca9d0ff5ad43e785350894d97e13633a66e2b50000e8a183a50a88d834752d42"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f6ff3b14f2df4c41660a7dec01045a045653998784bf8cfcb5a525bdffffbc8f"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94ebba31df2aa506d7b14866fed00ac141a867e63143fe5bca82a8e503b36437"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:73aaad12ac0ff500f62cebed98d8789198ea0e6f233421059fa68a5aa7220145"}, + {file = "greenlet-3.1.1-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:63e4844797b975b9af3a3fb8f7866ff08775f5426925e1e0bbcfe7932059a12c"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7939aa3ca7d2a1593596e7ac6d59391ff30281ef280d8632fa03d81f7c5f955e"}, + {file = "greenlet-3.1.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d0028e725ee18175c6e422797c407874da24381ce0690d6b9396c204c7f7276e"}, + {file = "greenlet-3.1.1-cp39-cp39-win32.whl", hash = "sha256:5e06afd14cbaf9e00899fae69b24a32f2196c19de08fcb9f4779dd4f004e5e7c"}, + {file = "greenlet-3.1.1-cp39-cp39-win_amd64.whl", hash = "sha256:3319aa75e0e0639bc15ff54ca327e8dc7a6fe404003496e3c6925cd3142e0e22"}, + {file = "greenlet-3.1.1.tar.gz", hash = "sha256:4ce3ac6cdb6adf7946475d7ef31777c26d94bccc377e070a7986bd2d5c515467"}, ] [package.extras] -docs = ["Sphinx", "docutils (<0.18)"] +docs = ["Sphinx", "furo"] test = ["objgraph", "psutil"] [[package]] name = "hbreader" version = "0.9.1" description = "Honey Badger reader - a generic file/url/string open and read tool" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -466,60 +506,67 @@ files = [ [[package]] name = "idna" -version = "3.4" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" -category = "main" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.4-py3-none-any.whl", hash = "sha256:90b77e79eaa3eba6de819a0c442c0b4ceefc341a7a2ab77d7562bf49f425c5c2"}, - {file = "idna-3.4.tar.gz", hash = "sha256:814f528e8dead7d329833b91c5faa87d60bf71824cd12a7530b5526063d02cb4"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "importlib-metadata" -version = "4.13.0" +version = "8.5.0" description = "Read metadata from Python packages" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "importlib_metadata-4.13.0-py3-none-any.whl", hash = "sha256:8a8a81bcf996e74fee46f0d16bd3eaa382a7eb20fd82445c3ad11f4090334116"}, - {file = "importlib_metadata-4.13.0.tar.gz", hash = "sha256:dd0173e8f150d6815e098fd354f6414b0f079af4644ddfe90c71e2fc6174346d"}, + {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, + {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, ] [package.dependencies] -zipp = ">=0.5" +zipp = ">=3.20" [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] perf = ["ipython"] -testing = ["flake8 (<5)", "flufl.flake8", "importlib-resources (>=1.3)", "packaging", "pyfakefs", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf (>=0.9.2)"] +test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] +type = ["pytest-mypy"] [[package]] name = "importlib-resources" -version = "6.0.1" +version = "6.4.5" description = "Read resources from Python packages" -category = "dev" optional = false python-versions = ">=3.8" files = [ - {file = "importlib_resources-6.0.1-py3-none-any.whl", hash = "sha256:134832a506243891221b88b4ae1213327eea96ceb4e407a00d790bb0626f45cf"}, - {file = "importlib_resources-6.0.1.tar.gz", hash = "sha256:4359457e42708462b9626a04657c6208ad799ceb41e5c58c57ffa0e6a098a5d4"}, + {file = "importlib_resources-6.4.5-py3-none-any.whl", hash = "sha256:ac29d5f956f01d5e4bb63102a5a19957f1b9175e45649977264a1416783bb717"}, + {file = "importlib_resources-6.4.5.tar.gz", hash = "sha256:980862a1d16c9e147a59603677fa2aa5fd82b87f223b6cb870695bcfce830065"}, ] [package.dependencies] zipp = {version = ">=3.1.0", markers = "python_version < \"3.10\""} [package.extras] -docs = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=2.2)", "pytest-mypy (>=0.9.1)", "pytest-ruff"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["jaraco.test (>=5.4)", "pytest (>=6,!=8.1.*)", "zipp (>=3.17)"] +type = ["pytest-mypy"] [[package]] name = "iniconfig" version = "2.0.0" description = "brain-dead simple config-ini parsing" -category = "main" optional = false python-versions = ">=3.7" files = [ @@ -529,24 +576,19 @@ files = [ [[package]] name = "isodate" -version = "0.6.1" +version = "0.7.2" description = "An ISO 8601 date/time/duration parser and formatter" -category = "main" optional = false -python-versions = "*" +python-versions = ">=3.7" files = [ - {file = "isodate-0.6.1-py2.py3-none-any.whl", hash = "sha256:0751eece944162659049d35f4f549ed815792b38793f07cf73381c1c87cbed96"}, - {file = "isodate-0.6.1.tar.gz", hash = "sha256:48c5881de7e8b0a0d648cb024c8062dc84e7b840ed81e864c7614fd3c127bde9"}, + {file = "isodate-0.7.2-py3-none-any.whl", hash = "sha256:28009937d8031054830160fce6d409ed342816b543597cece116d966c6d99e15"}, + {file = "isodate-0.7.2.tar.gz", hash = "sha256:4cd1aa0f43ca76f4a6c6c0292a85f40b35ec2e43e315b59f06e6d32171a953e6"}, ] -[package.dependencies] -six = "*" - [[package]] name = "isoduration" version = "20.11.0" description = "Operations with ISO 8601 durations" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -559,14 +601,13 @@ arrow = ">=0.15.0" [[package]] name = "jinja2" -version = "3.1.2" +version = "3.1.5" description = "A very fast and expressive template engine." -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "Jinja2-3.1.2-py3-none-any.whl", hash = "sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61"}, - {file = "Jinja2-3.1.2.tar.gz", hash = "sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852"}, + {file = "jinja2-3.1.5-py3-none-any.whl", hash = "sha256:aba0f4dc9ed8013c424088f68a5c226f7d6097ed89b246d7749c2ec4175c6adb"}, + {file = "jinja2-3.1.5.tar.gz", hash = "sha256:8fefff8dc3034e27bb80d67c671eb8a9bc424c0ef4c0826edbff304cceff43bb"}, ] [package.dependencies] @@ -577,13 +618,12 @@ i18n = ["Babel (>=2.7)"] [[package]] name = "jsbeautifier" -version = "1.14.7" +version = "1.15.1" description = "JavaScript unobfuscator and beautifier." -category = "dev" optional = false python-versions = "*" files = [ - {file = "jsbeautifier-1.14.7.tar.gz", hash = "sha256:77993254db1ff6f84eb6e1d75e3b6b72cba2ef20813a585b2d81e8e5e3c713c6"}, + {file = "jsbeautifier-1.15.1.tar.gz", hash = "sha256:ebd733b560704c602d744eafc839db60a1ee9326e30a2a80c4adb8718adc1b24"}, ] [package.dependencies] @@ -594,7 +634,6 @@ six = ">=1.13.0" name = "json-flattener" version = "0.1.9" description = "Python library for denormalizing nested dicts or json objects to tables and back" -category = "main" optional = false python-versions = ">=3.7.0" files = [ @@ -610,7 +649,6 @@ pyyaml = "*" name = "jsonasobj" version = "1.3.1" description = "JSON as python objects" -category = "dev" optional = false python-versions = "*" files = [ @@ -622,7 +660,6 @@ files = [ name = "jsonasobj2" version = "1.0.4" description = "JSON as python objects - version 2" -category = "main" optional = false python-versions = ">=3.6" files = [ @@ -635,14 +672,13 @@ hbreader = "*" [[package]] name = "jsonpatch" -version = "1.32" +version = "1.33" description = "Apply JSON-Patches (RFC 6902)" -category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*" files = [ - {file = "jsonpatch-1.32-py2.py3-none-any.whl", hash = "sha256:26ac385719ac9f54df8a2f0827bb8253aa3ea8ab7b3368457bcdb8c14595a397"}, - {file = "jsonpatch-1.32.tar.gz", hash = "sha256:b6ddfe6c3db30d81a96aaeceb6baf916094ffa23d7dd5fa2c13e13f8b6e600c2"}, + {file = "jsonpatch-1.33-py2.py3-none-any.whl", hash = "sha256:0ae28c0cd062bbd8b8ecc26d7d164fbbea9652a1a3693f3b956c1eae5145dade"}, + {file = "jsonpatch-1.33.tar.gz", hash = "sha256:9fcd4009c41e6d12348b4a0ff2563ba56a2923a7dfee731d004e212e1ee5030c"}, ] [package.dependencies] @@ -650,72 +686,82 @@ jsonpointer = ">=1.9" [[package]] name = "jsonpath-ng" -version = "1.5.3" +version = "1.7.0" description = "A final implementation of JSONPath for Python that aims to be standard compliant, including arithmetic and binary comparison operators and providing clear AST for metaprogramming." -category = "dev" optional = false python-versions = "*" files = [ - {file = "jsonpath-ng-1.5.3.tar.gz", hash = "sha256:a273b182a82c1256daab86a313b937059261b5c5f8c4fa3fc38b882b344dd567"}, - {file = "jsonpath_ng-1.5.3-py2-none-any.whl", hash = "sha256:f75b95dbecb8a0f3b86fd2ead21c2b022c3f5770957492b9b6196ecccfeb10aa"}, - {file = "jsonpath_ng-1.5.3-py3-none-any.whl", hash = "sha256:292a93569d74029ba75ac2dc3d3630fc0e17b2df26119a165fa1d498ca47bf65"}, + {file = "jsonpath-ng-1.7.0.tar.gz", hash = "sha256:f6f5f7fd4e5ff79c785f1573b394043b39849fb2bb47bcead935d12b00beab3c"}, + {file = "jsonpath_ng-1.7.0-py2-none-any.whl", hash = "sha256:898c93fc173f0c336784a3fa63d7434297544b7198124a68f9a3ef9597b0ae6e"}, + {file = "jsonpath_ng-1.7.0-py3-none-any.whl", hash = "sha256:f3d7f9e848cba1b6da28c55b1c26ff915dc9e0b1ba7e752a53d6da8d5cbd00b6"}, ] [package.dependencies] -decorator = "*" ply = "*" -six = "*" [[package]] name = "jsonpointer" -version = "2.3" +version = "3.0.0" description = "Identify specific nodes in a JSON document (RFC 6901)" -category = "dev" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.7" files = [ - {file = "jsonpointer-2.3-py2.py3-none-any.whl", hash = "sha256:51801e558539b4e9cd268638c078c6c5746c9ac96bc38152d443400e4f3793e9"}, - {file = "jsonpointer-2.3.tar.gz", hash = "sha256:97cba51526c829282218feb99dab1b1e6bdf8efd1c43dc9d57be093c0d69c99a"}, + {file = "jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942"}, + {file = "jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef"}, ] [[package]] name = "jsonschema" -version = "4.17.3" +version = "4.23.0" description = "An implementation of JSON Schema validation for Python" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "jsonschema-4.17.3-py3-none-any.whl", hash = "sha256:a870ad254da1a8ca84b6a2905cac29d265f805acc57af304784962a2aa6508f6"}, - {file = "jsonschema-4.17.3.tar.gz", hash = "sha256:0f864437ab8b6076ba6707453ef8f98a6a0d512a80e93f8abdb676f737ecb60d"}, + {file = "jsonschema-4.23.0-py3-none-any.whl", hash = "sha256:fbadb6f8b144a8f8cf9f0b89ba94501d143e50411a1278633f56a7acf7fd5566"}, + {file = "jsonschema-4.23.0.tar.gz", hash = "sha256:d71497fef26351a33265337fa77ffeb82423f3ea21283cd9467bb03999266bc4"}, ] [package.dependencies] -attrs = ">=17.4.0" +attrs = ">=22.2.0" fqdn = {version = "*", optional = true, markers = "extra == \"format\""} idna = {version = "*", optional = true, markers = "extra == \"format\""} isoduration = {version = "*", optional = true, markers = "extra == \"format\""} jsonpointer = {version = ">1.13", optional = true, markers = "extra == \"format\""} -pyrsistent = ">=0.14.0,<0.17.0 || >0.17.0,<0.17.1 || >0.17.1,<0.17.2 || >0.17.2" +jsonschema-specifications = ">=2023.03.6" +referencing = ">=0.28.4" rfc3339-validator = {version = "*", optional = true, markers = "extra == \"format\""} rfc3987 = {version = "*", optional = true, markers = "extra == \"format\""} +rpds-py = ">=0.7.1" uri-template = {version = "*", optional = true, markers = "extra == \"format\""} webcolors = {version = ">=1.11", optional = true, markers = "extra == \"format\""} [package.extras] format = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3987", "uri-template", "webcolors (>=1.11)"] -format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=1.11)"] +format-nongpl = ["fqdn", "idna", "isoduration", "jsonpointer (>1.13)", "rfc3339-validator", "rfc3986-validator (>0.1.0)", "uri-template", "webcolors (>=24.6.0)"] + +[[package]] +name = "jsonschema-specifications" +version = "2024.10.1" +description = "The JSON Schema meta-schemas and vocabularies, exposed as a Registry" +optional = false +python-versions = ">=3.9" +files = [ + {file = "jsonschema_specifications-2024.10.1-py3-none-any.whl", hash = "sha256:a09a0680616357d9a0ecf05c12ad234479f549239d0f5b55f3deea67475da9bf"}, + {file = "jsonschema_specifications-2024.10.1.tar.gz", hash = "sha256:0f38b83639958ce1152d02a7f062902c41c8fd20d558b0c34344292d417ae272"}, +] + +[package.dependencies] +referencing = ">=0.31.0" [[package]] name = "linkml" -version = "1.6.11" +version = "1.8.5" description = "Linked Open Data Modeling Language" -category = "dev" optional = false -python-versions = ">=3.8.1,<4.0.0" +python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "linkml-1.6.11-py3-none-any.whl", hash = "sha256:a7f90f8cc5bd3d171812b23eebde04de3b4318ac4f48a5eae476ce890f09907c"}, - {file = "linkml-1.6.11.tar.gz", hash = "sha256:963e88c1548c5462bc885e4cd96cabbda066866f8737bcc3bb92f4b0247419ae"}, + {file = "linkml-1.8.5-py3-none-any.whl", hash = "sha256:5a45577a4bb380f3a128f45764545cb2da92dd3310a110de7dc5355796d5ac43"}, + {file = "linkml-1.8.5.tar.gz", hash = "sha256:8f31834560ade4b7f1aebc973d22b31951d7061643d32bdcba258a650db9b140"}, ] [package.dependencies] @@ -728,11 +774,11 @@ jinja2 = ">=3.1.0" jsonasobj2 = ">=1.0.3,<2.0.0" jsonschema = {version = ">=4.0.0", extras = ["format"]} linkml-dataops = "*" -linkml-runtime = ">=1.6.0" +linkml-runtime = ">=1.8.1,<2.0.0" openpyxl = "*" parse = "*" prefixcommons = ">=0.1.7" -prefixmaps = ">=0.1.3" +prefixmaps = ">=0.2.2" pydantic = ">=1.0.0,<3.0.0" pyjsg = ">=0.11.6" pyshex = ">=0.7.20" @@ -744,11 +790,16 @@ requests = ">=2.22" sqlalchemy = ">=1.4.31" watchdog = ">=0.9.0" +[package.extras] +black = ["black (>=24.0.0)"] +numpydantic = ["numpydantic (>=1.6.1)"] +shacl = ["pyshacl (>=0.25.0,<0.26.0)"] +tests = ["black (>=24.0.0)", "numpydantic (>=1.6.1)", "pyshacl (>=0.25.0,<0.26.0)"] + [[package]] name = "linkml-dataops" version = "0.1.0" description = "LinkML Data Operations API" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -765,14 +816,13 @@ linkml-runtime = ">=1.1.6" [[package]] name = "linkml-runtime" -version = "1.6.3" +version = "1.8.3" description = "Runtime environment for LinkML, the Linked open data modeling language" -category = "main" optional = false -python-versions = ">=3.7.6,<4.0.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "linkml_runtime-1.6.3-py3-none-any.whl", hash = "sha256:08f616302ce493be775104c87bd5a2ec0eb2c67624e611a3f7e28c978d08a4d1"}, - {file = "linkml_runtime-1.6.3.tar.gz", hash = "sha256:88e3d0b776055723d187128c03527145dc1ffdc2d2a69e89f8aabce203d418a3"}, + {file = "linkml_runtime-1.8.3-py3-none-any.whl", hash = "sha256:0750920f1348fffa903d99e7b5834ce425a2a538285aff9068dbd96d05caabd1"}, + {file = "linkml_runtime-1.8.3.tar.gz", hash = "sha256:5b7f682eef54aaf0a59c50eeacdb11463b43b124a044caf496cde59936ac05c8"}, ] [package.dependencies] @@ -792,87 +842,96 @@ requests = "*" [[package]] name = "markdown" -version = "3.3.7" -description = "Python implementation of Markdown." -category = "dev" +version = "3.7" +description = "Python implementation of John Gruber's Markdown." optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "Markdown-3.3.7-py3-none-any.whl", hash = "sha256:f5da449a6e1c989a4cea2631aa8ee67caa5a2ef855d551c88f9e309f4634c621"}, - {file = "Markdown-3.3.7.tar.gz", hash = "sha256:cbb516f16218e643d8e0a95b309f77eb118cb138d39a4f27851e6a63581db874"}, + {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, + {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, ] [package.dependencies] importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} [package.extras] +docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] testing = ["coverage", "pyyaml"] [[package]] name = "markupsafe" -version = "2.1.2" +version = "3.0.2" description = "Safely add untrusted strings to HTML/XML markup." -category = "dev" optional = false -python-versions = ">=3.7" -files = [ - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:665a36ae6f8f20a4676b53224e33d456a6f5a72657d9c83c2aa00765072f31f7"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:340bea174e9761308703ae988e982005aedf427de816d1afe98147668cc03036"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22152d00bf4a9c7c83960521fc558f55a1adbc0631fbb00a9471e097b19d72e1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:28057e985dace2f478e042eaa15606c7efccb700797660629da387eb289b9323"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ca244fa73f50a800cf8c3ebf7fd93149ec37f5cb9596aa8873ae2c1d23498601"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:d9d971ec1e79906046aa3ca266de79eac42f1dbf3612a05dc9368125952bd1a1"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:7e007132af78ea9df29495dbf7b5824cb71648d7133cf7848a2a5dd00d36f9ff"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7313ce6a199651c4ed9d7e4cfb4aa56fe923b1adf9af3b420ee14e6d9a73df65"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win32.whl", hash = "sha256:c4a549890a45f57f1ebf99c067a4ad0cb423a05544accaf2b065246827ed9603"}, - {file = "MarkupSafe-2.1.2-cp310-cp310-win_amd64.whl", hash = "sha256:835fb5e38fd89328e9c81067fd642b3593c33e1e17e2fdbf77f5676abb14a156"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2ec4f2d48ae59bbb9d1f9d7efb9236ab81429a764dedca114f5fdabbc3788013"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:608e7073dfa9e38a85d38474c082d4281f4ce276ac0010224eaba11e929dd53a"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:65608c35bfb8a76763f37036547f7adfd09270fbdbf96608be2bead319728fcd"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2bfb563d0211ce16b63c7cb9395d2c682a23187f54c3d79bfec33e6705473c6"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:da25303d91526aac3672ee6d49a2f3db2d9502a4a60b55519feb1a4c7714e07d"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:9cad97ab29dfc3f0249b483412c85c8ef4766d96cdf9dcf5a1e3caa3f3661cf1"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:085fd3201e7b12809f9e6e9bc1e5c96a368c8523fad5afb02afe3c051ae4afcc"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:1bea30e9bf331f3fef67e0a3877b2288593c98a21ccb2cf29b74c581a4eb3af0"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win32.whl", hash = "sha256:7df70907e00c970c60b9ef2938d894a9381f38e6b9db73c5be35e59d92e06625"}, - {file = "MarkupSafe-2.1.2-cp311-cp311-win_amd64.whl", hash = "sha256:e55e40ff0cc8cc5c07996915ad367fa47da6b3fc091fdadca7f5403239c5fec3"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:a6e40afa7f45939ca356f348c8e23048e02cb109ced1eb8420961b2f40fb373a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf877ab4ed6e302ec1d04952ca358b381a882fbd9d1b07cccbfd61783561f98a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:63ba06c9941e46fa389d389644e2d8225e0e3e5ebcc4ff1ea8506dce646f8c8a"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f1cd098434e83e656abf198f103a8207a8187c0fc110306691a2e94a78d0abb2"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:55f44b440d491028addb3b88f72207d71eeebfb7b5dbf0643f7c023ae1fba619"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:a6f2fcca746e8d5910e18782f976489939d54a91f9411c32051b4aab2bd7c513"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0b462104ba25f1ac006fdab8b6a01ebbfbce9ed37fd37fd4acd70c67c973e460"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win32.whl", hash = "sha256:7668b52e102d0ed87cb082380a7e2e1e78737ddecdde129acadb0eccc5423859"}, - {file = "MarkupSafe-2.1.2-cp37-cp37m-win_amd64.whl", hash = "sha256:6d6607f98fcf17e534162f0709aaad3ab7a96032723d8ac8750ffe17ae5a0666"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a806db027852538d2ad7555b203300173dd1b77ba116de92da9afbc3a3be3eed"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:a4abaec6ca3ad8660690236d11bfe28dfd707778e2442b45addd2f086d6ef094"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f03a532d7dee1bed20bc4884194a16160a2de9ffc6354b3878ec9682bb623c54"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cf06cdc1dda95223e9d2d3c58d3b178aa5dacb35ee7e3bbac10e4e1faacb419"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22731d79ed2eb25059ae3df1dfc9cb1546691cc41f4e3130fe6bfbc3ecbbecfa"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:f8ffb705ffcf5ddd0e80b65ddf7bed7ee4f5a441ea7d3419e861a12eaf41af58"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:8db032bf0ce9022a8e41a22598eefc802314e81b879ae093f36ce9ddf39ab1ba"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:2298c859cfc5463f1b64bd55cb3e602528db6fa0f3cfd568d3605c50678f8f03"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win32.whl", hash = "sha256:50c42830a633fa0cf9e7d27664637532791bfc31c731a87b202d2d8ac40c3ea2"}, - {file = "MarkupSafe-2.1.2-cp38-cp38-win_amd64.whl", hash = "sha256:bb06feb762bade6bf3c8b844462274db0c76acc95c52abe8dbed28ae3d44a147"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99625a92da8229df6d44335e6fcc558a5037dd0a760e11d84be2260e6f37002f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8bca7e26c1dd751236cfb0c6c72d4ad61d986e9a41bbf76cb445f69488b2a2bd"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40627dcf047dadb22cd25ea7ecfe9cbf3bbbad0482ee5920b582f3809c97654f"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:40dfd3fefbef579ee058f139733ac336312663c6706d1163b82b3003fb1925c4"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:090376d812fb6ac5f171e5938e82e7f2d7adc2b629101cec0db8b267815c85e2"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2e7821bffe00aa6bd07a23913b7f4e01328c3d5cc0b40b36c0bd81d362faeb65"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:c0a33bc9f02c2b17c3ea382f91b4db0e6cde90b63b296422a939886a7a80de1c"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:b8526c6d437855442cdd3d87eede9c425c4445ea011ca38d937db299382e6fa3"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win32.whl", hash = "sha256:137678c63c977754abe9086a3ec011e8fd985ab90631145dfb9294ad09c102a7"}, - {file = "MarkupSafe-2.1.2-cp39-cp39-win_amd64.whl", hash = "sha256:0576fe974b40a400449768941d5d0858cc624e3249dfd1e0c33674e5c7ca7aed"}, - {file = "MarkupSafe-2.1.2.tar.gz", hash = "sha256:abcabc8c2b26036d62d4c746381a6f7cf60aafcc653198ad678306986b09450d"}, +python-versions = ">=3.9" +files = [ + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7e94c425039cde14257288fd61dcfb01963e658efbc0ff54f5306b06054700f8"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9e2d922824181480953426608b81967de705c3cef4d1af983af849d7bd619158"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:38a9ef736c01fccdd6600705b09dc574584b89bea478200c5fbf112a6b0d5579"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bbcb445fa71794da8f178f0f6d66789a28d7319071af7a496d4d507ed566270d"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57cb5a3cf367aeb1d316576250f65edec5bb3be939e9247ae594b4bcbc317dfb"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:3809ede931876f5b2ec92eef964286840ed3540dadf803dd570c3b7e13141a3b"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e07c3764494e3776c602c1e78e298937c3315ccc9043ead7e685b7f2b8d47b3c"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b424c77b206d63d500bcb69fa55ed8d0e6a3774056bdc4839fc9298a7edca171"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win32.whl", hash = "sha256:fcabf5ff6eea076f859677f5f0b6b5c1a51e70a376b0579e0eadef8db48c6b50"}, + {file = "MarkupSafe-3.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:6af100e168aa82a50e186c82875a5893c5597a0c1ccdb0d8b40240b1f28b969a"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:9025b4018f3a1314059769c7bf15441064b2207cb3f065e6ea1e7359cb46db9d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:93335ca3812df2f366e80509ae119189886b0f3c2b81325d39efdb84a1e2ae93"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2cb8438c3cbb25e220c2ab33bb226559e7afb3baec11c4f218ffa7308603c832"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a123e330ef0853c6e822384873bef7507557d8e4a082961e1defa947aa59ba84"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1e084f686b92e5b83186b07e8a17fc09e38fff551f3602b249881fec658d3eca"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8213e09c917a951de9d09ecee036d5c7d36cb6cb7dbaece4c71a60d79fb9798"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:5b02fb34468b6aaa40dfc198d813a641e3a63b98c2b05a16b9f80b7ec314185e"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0bff5e0ae4ef2e1ae4fdf2dfd5b76c75e5c2fa4132d05fc1b0dabcd20c7e28c4"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win32.whl", hash = "sha256:6c89876f41da747c8d3677a2b540fb32ef5715f97b66eeb0c6b66f5e3ef6f59d"}, + {file = "MarkupSafe-3.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:70a87b411535ccad5ef2f1df5136506a10775d267e197e4cf531ced10537bd6b"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30"}, + {file = "MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:ba9527cdd4c926ed0760bc301f6728ef34d841f405abf9d4f959c478421e4efd"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f8b3d067f2e40fe93e1ccdd6b2e1d16c43140e76f02fb1319a05cf2b79d99430"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:569511d3b58c8791ab4c2e1285575265991e6d8f8700c7be0e88f86cb0672094"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15ab75ef81add55874e7ab7055e9c397312385bd9ced94920f2802310c930396"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f3818cb119498c0678015754eba762e0d61e5b52d34c8b13d770f0719f7b1d79"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:cdb82a876c47801bb54a690c5ae105a46b392ac6099881cdfb9f6e95e4014c6a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:cabc348d87e913db6ab4aa100f01b08f481097838bdddf7c7a84b7575b7309ca"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:444dcda765c8a838eaae23112db52f1efaf750daddb2d9ca300bcae1039adc5c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win32.whl", hash = "sha256:bcf3e58998965654fdaff38e58584d8937aa3096ab5354d493c77d1fdd66d7a1"}, + {file = "MarkupSafe-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:e6a2a455bd412959b57a172ce6328d2dd1f01cb2135efda2e4576e8a23fa3b0f"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:b5a6b3ada725cea8a5e634536b1b01c30bcdcd7f9c6fff4151548d5bf6b3a36c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:a904af0a6162c73e3edcb969eeeb53a63ceeb5d8cf642fade7d39e7963a22ddb"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4aa4e5faecf353ed117801a068ebab7b7e09ffb6e1d5e412dc852e0da018126c"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0ef13eaeee5b615fb07c9a7dadb38eac06a0608b41570d8ade51c56539e509d"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d16a81a06776313e817c951135cf7340a3e91e8c1ff2fac444cfd75fffa04afe"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:6381026f158fdb7c72a168278597a5e3a5222e83ea18f543112b2662a9b699c5"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:3d79d162e7be8f996986c064d1c7c817f6df3a77fe3d6859f6f9e7be4b8c213a"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6"}, + {file = "MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f"}, + {file = "MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a"}, + {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] [[package]] name = "mergedeep" version = "1.3.4" description = "A deep merge function for 🐍." -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -884,15 +943,14 @@ files = [ name = "mike" version = "1.2.0.dev0" description = "Manage multiple versions of your MkDocs-powered documentation" -category = "dev" optional = false python-versions = "*" files = [] develop = false [package.dependencies] -importlib-metadata = "*" -importlib-resources = "*" +importlib_metadata = "*" +importlib_resources = "*" jinja2 = ">=2.7" mkdocs = ">=1.0" pyyaml = ">=5.1" @@ -910,38 +968,56 @@ resolved_reference = "be1aafe244bc86172fbce52a903c9ab83e2e4a26" [[package]] name = "mkdocs" -version = "1.4.2" +version = "1.6.1" description = "Project documentation with Markdown." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mkdocs-1.4.2-py3-none-any.whl", hash = "sha256:c8856a832c1e56702577023cd64cc5f84948280c1c0fcc6af4cd39006ea6aa8c"}, - {file = "mkdocs-1.4.2.tar.gz", hash = "sha256:8947af423a6d0facf41ea1195b8e1e8c85ad94ac95ae307fe11232e0424b11c5"}, + {file = "mkdocs-1.6.1-py3-none-any.whl", hash = "sha256:db91759624d1647f3f34aa0c3f327dd2601beae39a366d6e064c03468d35c20e"}, + {file = "mkdocs-1.6.1.tar.gz", hash = "sha256:7b432f01d928c084353ab39c57282f29f92136665bdd6abf7c1ec8d822ef86f2"}, ] [package.dependencies] click = ">=7.0" colorama = {version = ">=0.4", markers = "platform_system == \"Windows\""} ghp-import = ">=1.0" -importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} +importlib-metadata = {version = ">=4.4", markers = "python_version < \"3.10\""} jinja2 = ">=2.11.1" -markdown = ">=3.2.1,<3.4" +markdown = ">=3.3.6" +markupsafe = ">=2.0.1" mergedeep = ">=1.3.4" +mkdocs-get-deps = ">=0.2.0" packaging = ">=20.5" +pathspec = ">=0.11.1" pyyaml = ">=5.1" pyyaml-env-tag = ">=0.1" watchdog = ">=2.0" [package.extras] i18n = ["babel (>=2.9.0)"] -min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.3)", "jinja2 (==2.11.1)", "markdown (==3.2.1)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "packaging (==20.5)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "typing-extensions (==3.10)", "watchdog (==2.0)"] +min-versions = ["babel (==2.9.0)", "click (==7.0)", "colorama (==0.4)", "ghp-import (==1.0)", "importlib-metadata (==4.4)", "jinja2 (==2.11.1)", "markdown (==3.3.6)", "markupsafe (==2.0.1)", "mergedeep (==1.3.4)", "mkdocs-get-deps (==0.2.0)", "packaging (==20.5)", "pathspec (==0.11.1)", "pyyaml (==5.1)", "pyyaml-env-tag (==0.1)", "watchdog (==2.0)"] + +[[package]] +name = "mkdocs-get-deps" +version = "0.2.0" +description = "MkDocs extension that lists all dependencies according to a mkdocs.yml file" +optional = false +python-versions = ">=3.8" +files = [ + {file = "mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134"}, + {file = "mkdocs_get_deps-0.2.0.tar.gz", hash = "sha256:162b3d129c7fad9b19abfdcb9c1458a651628e4b1dea628ac68790fb3061c60c"}, +] + +[package.dependencies] +importlib-metadata = {version = ">=4.3", markers = "python_version < \"3.10\""} +mergedeep = ">=1.3.4" +platformdirs = ">=2.2.0" +pyyaml = ">=5.1" [[package]] name = "mkdocs-material" version = "8.5.11" description = "Documentation that simply works" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -960,21 +1036,19 @@ requests = ">=2.26" [[package]] name = "mkdocs-material-extensions" -version = "1.1.1" +version = "1.3.1" description = "Extension pack for Python Markdown and MkDocs Material." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "mkdocs_material_extensions-1.1.1-py3-none-any.whl", hash = "sha256:e41d9f38e4798b6617ad98ca8f7f1157b1e4385ac1459ca1e4ea219b556df945"}, - {file = "mkdocs_material_extensions-1.1.1.tar.gz", hash = "sha256:9c003da71e2cc2493d910237448c672e00cefc800d3d6ae93d2fc69979e3bd93"}, + {file = "mkdocs_material_extensions-1.3.1-py3-none-any.whl", hash = "sha256:adff8b62700b25cb77b53358dad940f3ef973dd6db797907c49e3c2ef3ab4e31"}, + {file = "mkdocs_material_extensions-1.3.1.tar.gz", hash = "sha256:10c9511cea88f568257f960358a467d12b970e1f7b2c0e5fb2bb48cab1928443"}, ] [[package]] name = "mkdocs-mermaid2-plugin" version = "0.6.0" description = "A MkDocs plugin for including mermaid graphs in markdown sources" -category = "dev" optional = false python-versions = ">=3.5" files = [ @@ -994,14 +1068,13 @@ setuptools = ">=18.5" [[package]] name = "openpyxl" -version = "3.1.2" +version = "3.1.5" description = "A Python library to read/write Excel 2010 xlsx/xlsm files" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "openpyxl-3.1.2-py2.py3-none-any.whl", hash = "sha256:f91456ead12ab3c6c2e9491cf33ba6d08357d802192379bb482f1033ade496f5"}, - {file = "openpyxl-3.1.2.tar.gz", hash = "sha256:a6f5977418eff3b2d5500d54d9db50c8277a368436f4e4f8ddb1be3422870184"}, + {file = "openpyxl-3.1.5-py2.py3-none-any.whl", hash = "sha256:5282c12b107bffeef825f4617dc029afaf41d0ea60823bbb665ef3079dc79de2"}, + {file = "openpyxl-3.1.5.tar.gz", hash = "sha256:cf0e3cf56142039133628b5acffe8ef0c12bc902d2aadd3e0fe5878dc08d1050"}, ] [package.dependencies] @@ -1009,50 +1082,62 @@ et-xmlfile = "*" [[package]] name = "packaging" -version = "23.0" +version = "24.2" description = "Core utilities for Python packages" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "packaging-23.0-py3-none-any.whl", hash = "sha256:714ac14496c3e68c99c29b00845f7a2b85f3bb6f1078fd9f72fd20f0570002b2"}, - {file = "packaging-23.0.tar.gz", hash = "sha256:b6ad297f8907de0fa2fe1ccbd26fdaf387f5f47c7275fedf8cce89f99446cf97"}, + {file = "packaging-24.2-py3-none-any.whl", hash = "sha256:09abb1bccd265c01f4a3aa3f7a7db064b36514d2cba19a2f694fe6150451a759"}, + {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] [[package]] name = "parse" -version = "1.19.0" +version = "1.20.2" description = "parse() is the opposite of format()" -category = "dev" optional = false python-versions = "*" files = [ - {file = "parse-1.19.0-py2.py3-none-any.whl", hash = "sha256:6ce007645384a91150cb7cd7c8a9db2559e273c2e2542b508cd1e342508c2601"}, - {file = "parse-1.19.0.tar.gz", hash = "sha256:9ff82852bcb65d139813e2a5197627a94966245c897796760a3a2a8eb66f020b"}, + {file = "parse-1.20.2-py2.py3-none-any.whl", hash = "sha256:967095588cb802add9177d0c0b6133b5ba33b1ea9007ca800e526f42a85af558"}, + {file = "parse-1.20.2.tar.gz", hash = "sha256:b41d604d16503c79d81af5165155c0b20f6c8d6c559efa66b4b695c3e5a0a0ce"}, ] [[package]] name = "pathspec" -version = "0.11.2" +version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.3.6" +description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +optional = false +python-versions = ">=3.8" files = [ - {file = "pathspec-0.11.2-py3-none-any.whl", hash = "sha256:1d6ed233af05e679efb96b1851550ea95bbb64b7c490b0f5aa52996c11e92a20"}, - {file = "pathspec-0.11.2.tar.gz", hash = "sha256:e0d8d0ac2f12da61956eb2306b69f9469b42f4deb0f3cb6ed47b9cce9996ced3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] +[package.extras] +docs = ["furo (>=2024.8.6)", "proselint (>=0.14)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2.4)"] +test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.3.2)", "pytest-cov (>=5)", "pytest-mock (>=3.14)"] +type = ["mypy (>=1.11.2)"] + [[package]] name = "pluggy" -version = "1.0.0" +version = "1.5.0" description = "plugin and hook calling mechanisms for python" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "pluggy-1.0.0-py2.py3-none-any.whl", hash = "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3"}, - {file = "pluggy-1.0.0.tar.gz", hash = "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159"}, + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, ] [package.extras] @@ -1063,7 +1148,6 @@ testing = ["pytest", "pytest-benchmark"] name = "ply" version = "3.11" description = "Python Lex & Yacc" -category = "dev" optional = false python-versions = "*" files = [ @@ -1075,7 +1159,6 @@ files = [ name = "prefixcommons" version = "0.1.12" description = "A python API for working with ID prefixes" -category = "main" optional = false python-versions = ">=3.7,<4.0" files = [ @@ -1091,93 +1174,169 @@ requests = ">=2.28.1,<3.0.0" [[package]] name = "prefixmaps" -version = "0.1.4" +version = "0.2.6" description = "A python library for retrieving semantic prefix maps" -category = "main" optional = false -python-versions = ">=3.7.6,<4.0.0" +python-versions = "<4.0,>=3.8" files = [ - {file = "prefixmaps-0.1.4-py3-none-any.whl", hash = "sha256:845457a5149e56b676827d002200840ae487052f08879a8d6ca9093aa6b9213e"}, - {file = "prefixmaps-0.1.4.tar.gz", hash = "sha256:7ce9c8c1f1987f0341a71a2f869344e621b49c478c78a931817ce3dda5965980"}, + {file = "prefixmaps-0.2.6-py3-none-any.whl", hash = "sha256:f6cef28a7320fc6337cf411be212948ce570333a0ce958940ef684c7fb192a62"}, + {file = "prefixmaps-0.2.6.tar.gz", hash = "sha256:7421e1244eea610217fa1ba96c9aebd64e8162a930dc0626207cd8bf62ecf4b9"}, ] [package.dependencies] -importlib-metadata = ">=4.12.0,<5.0.0" +curies = ">=0.5.3" pyyaml = ">=5.3.1" [[package]] name = "pydantic" -version = "1.10.7" -description = "Data validation and settings management using python type hints" -category = "main" +version = "2.10.4" +description = "Data validation using Python type hints" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pydantic-1.10.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e79e999e539872e903767c417c897e729e015872040e56b96e67968c3b918b2d"}, - {file = "pydantic-1.10.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:01aea3a42c13f2602b7ecbbea484a98169fb568ebd9e247593ea05f01b884b2e"}, - {file = "pydantic-1.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:516f1ed9bc2406a0467dd777afc636c7091d71f214d5e413d64fef45174cfc7a"}, - {file = "pydantic-1.10.7-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ae150a63564929c675d7f2303008d88426a0add46efd76c3fc797cd71cb1b46f"}, - {file = "pydantic-1.10.7-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:ecbbc51391248116c0a055899e6c3e7ffbb11fb5e2a4cd6f2d0b93272118a209"}, - {file = "pydantic-1.10.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:f4a2b50e2b03d5776e7f21af73e2070e1b5c0d0df255a827e7c632962f8315af"}, - {file = "pydantic-1.10.7-cp310-cp310-win_amd64.whl", hash = "sha256:a7cd2251439988b413cb0a985c4ed82b6c6aac382dbaff53ae03c4b23a70e80a"}, - {file = "pydantic-1.10.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:68792151e174a4aa9e9fc1b4e653e65a354a2fa0fed169f7b3d09902ad2cb6f1"}, - {file = "pydantic-1.10.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:dfe2507b8ef209da71b6fb5f4e597b50c5a34b78d7e857c4f8f3115effaef5fe"}, - {file = "pydantic-1.10.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10a86d8c8db68086f1e30a530f7d5f83eb0685e632e411dbbcf2d5c0150e8dcd"}, - {file = "pydantic-1.10.7-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d75ae19d2a3dbb146b6f324031c24f8a3f52ff5d6a9f22f0683694b3afcb16fb"}, - {file = "pydantic-1.10.7-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:464855a7ff7f2cc2cf537ecc421291b9132aa9c79aef44e917ad711b4a93163b"}, - {file = "pydantic-1.10.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:193924c563fae6ddcb71d3f06fa153866423ac1b793a47936656e806b64e24ca"}, - {file = "pydantic-1.10.7-cp311-cp311-win_amd64.whl", hash = "sha256:b4a849d10f211389502059c33332e91327bc154acc1845f375a99eca3afa802d"}, - {file = "pydantic-1.10.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:cc1dde4e50a5fc1336ee0581c1612215bc64ed6d28d2c7c6f25d2fe3e7c3e918"}, - {file = "pydantic-1.10.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e0cfe895a504c060e5d36b287ee696e2fdad02d89e0d895f83037245218a87fe"}, - {file = "pydantic-1.10.7-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:670bb4683ad1e48b0ecb06f0cfe2178dcf74ff27921cdf1606e527d2617a81ee"}, - {file = "pydantic-1.10.7-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:950ce33857841f9a337ce07ddf46bc84e1c4946d2a3bba18f8280297157a3fd1"}, - {file = "pydantic-1.10.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:c15582f9055fbc1bfe50266a19771bbbef33dd28c45e78afbe1996fd70966c2a"}, - {file = "pydantic-1.10.7-cp37-cp37m-win_amd64.whl", hash = "sha256:82dffb306dd20bd5268fd6379bc4bfe75242a9c2b79fec58e1041fbbdb1f7914"}, - {file = "pydantic-1.10.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:8c7f51861d73e8b9ddcb9916ae7ac39fb52761d9ea0df41128e81e2ba42886cd"}, - {file = "pydantic-1.10.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6434b49c0b03a51021ade5c4daa7d70c98f7a79e95b551201fff682fc1661245"}, - {file = "pydantic-1.10.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64d34ab766fa056df49013bb6e79921a0265204c071984e75a09cbceacbbdd5d"}, - {file = "pydantic-1.10.7-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:701daea9ffe9d26f97b52f1d157e0d4121644f0fcf80b443248434958fd03dc3"}, - {file = "pydantic-1.10.7-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:cf135c46099ff3f919d2150a948ce94b9ce545598ef2c6c7bf55dca98a304b52"}, - {file = "pydantic-1.10.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:b0f85904f73161817b80781cc150f8b906d521fa11e3cdabae19a581c3606209"}, - {file = "pydantic-1.10.7-cp38-cp38-win_amd64.whl", hash = "sha256:9f6f0fd68d73257ad6685419478c5aece46432f4bdd8d32c7345f1986496171e"}, - {file = "pydantic-1.10.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c230c0d8a322276d6e7b88c3f7ce885f9ed16e0910354510e0bae84d54991143"}, - {file = "pydantic-1.10.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:976cae77ba6a49d80f461fd8bba183ff7ba79f44aa5cfa82f1346b5626542f8e"}, - {file = "pydantic-1.10.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d45fc99d64af9aaf7e308054a0067fdcd87ffe974f2442312372dfa66e1001d"}, - {file = "pydantic-1.10.7-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d2a5ebb48958754d386195fe9e9c5106f11275867051bf017a8059410e9abf1f"}, - {file = "pydantic-1.10.7-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:abfb7d4a7cd5cc4e1d1887c43503a7c5dd608eadf8bc615413fc498d3e4645cd"}, - {file = "pydantic-1.10.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:80b1fab4deb08a8292d15e43a6edccdffa5377a36a4597bb545b93e79c5ff0a5"}, - {file = "pydantic-1.10.7-cp39-cp39-win_amd64.whl", hash = "sha256:d71e69699498b020ea198468e2480a2f1e7433e32a3a99760058c6520e2bea7e"}, - {file = "pydantic-1.10.7-py3-none-any.whl", hash = "sha256:0cd181f1d0b1d00e2b705f1bf1ac7799a2d938cce3376b8007df62b29be3c2c6"}, - {file = "pydantic-1.10.7.tar.gz", hash = "sha256:cfc83c0678b6ba51b0532bea66860617c4cd4251ecf76e9846fa5a9f3454e97e"}, + {file = "pydantic-2.10.4-py3-none-any.whl", hash = "sha256:597e135ea68be3a37552fb524bc7d0d66dcf93d395acd93a00682f1efcb8ee3d"}, + {file = "pydantic-2.10.4.tar.gz", hash = "sha256:82f12e9723da6de4fe2ba888b5971157b3be7ad914267dea8f05f82b28254f06"}, ] [package.dependencies] -typing-extensions = ">=4.2.0" +annotated-types = ">=0.6.0" +pydantic-core = "2.27.2" +typing-extensions = ">=4.12.2" [package.extras] -dotenv = ["python-dotenv (>=0.10.4)"] -email = ["email-validator (>=1.0.3)"] +email = ["email-validator (>=2.0.0)"] +timezone = ["tzdata"] + +[[package]] +name = "pydantic-core" +version = "2.27.2" +description = "Core functionality for Pydantic validation and serialization" +optional = false +python-versions = ">=3.8" +files = [ + {file = "pydantic_core-2.27.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2d367ca20b2f14095a8f4fa1210f5a7b78b8a20009ecced6b12818f455b1e9fa"}, + {file = "pydantic_core-2.27.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:491a2b73db93fab69731eaee494f320faa4e093dbed776be1a829c2eb222c34c"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7969e133a6f183be60e9f6f56bfae753585680f3b7307a8e555a948d443cc05a"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3de9961f2a346257caf0aa508a4da705467f53778e9ef6fe744c038119737ef5"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2bb4d3e5873c37bb3dd58714d4cd0b0e6238cebc4177ac8fe878f8b3aa8e74c"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:280d219beebb0752699480fe8f1dc61ab6615c2046d76b7ab7ee38858de0a4e7"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:47956ae78b6422cbd46f772f1746799cbb862de838fd8d1fbd34a82e05b0983a"}, + {file = "pydantic_core-2.27.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:14d4a5c49d2f009d62a2a7140d3064f686d17a5d1a268bc641954ba181880236"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:337b443af21d488716f8d0b6164de833e788aa6bd7e3a39c005febc1284f4962"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:03d0f86ea3184a12f41a2d23f7ccb79cdb5a18e06993f8a45baa8dfec746f0e9"}, + {file = "pydantic_core-2.27.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:7041c36f5680c6e0f08d922aed302e98b3745d97fe1589db0a3eebf6624523af"}, + {file = "pydantic_core-2.27.2-cp310-cp310-win32.whl", hash = "sha256:50a68f3e3819077be2c98110c1f9dcb3817e93f267ba80a2c05bb4f8799e2ff4"}, + {file = "pydantic_core-2.27.2-cp310-cp310-win_amd64.whl", hash = "sha256:e0fd26b16394ead34a424eecf8a31a1f5137094cabe84a1bcb10fa6ba39d3d31"}, + {file = "pydantic_core-2.27.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:8e10c99ef58cfdf2a66fc15d66b16c4a04f62bca39db589ae8cba08bc55331bc"}, + {file = "pydantic_core-2.27.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:26f32e0adf166a84d0cb63be85c562ca8a6fa8de28e5f0d92250c6b7e9e2aff7"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c19d1ea0673cd13cc2f872f6c9ab42acc4e4f492a7ca9d3795ce2b112dd7e15"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5e68c4446fe0810e959cdff46ab0a41ce2f2c86d227d96dc3847af0ba7def306"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9640b0059ff4f14d1f37321b94061c6db164fbe49b334b31643e0528d100d99"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:40d02e7d45c9f8af700f3452f329ead92da4c5f4317ca9b896de7ce7199ea459"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1c1fd185014191700554795c99b347d64f2bb637966c4cfc16998a0ca700d048"}, + {file = "pydantic_core-2.27.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d81d2068e1c1228a565af076598f9e7451712700b673de8f502f0334f281387d"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:1a4207639fb02ec2dbb76227d7c751a20b1a6b4bc52850568e52260cae64ca3b"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:3de3ce3c9ddc8bbd88f6e0e304dea0e66d843ec9de1b0042b0911c1663ffd474"}, + {file = "pydantic_core-2.27.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:30c5f68ded0c36466acede341551106821043e9afaad516adfb6e8fa80a4e6a6"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win32.whl", hash = "sha256:c70c26d2c99f78b125a3459f8afe1aed4d9687c24fd677c6a4436bc042e50d6c"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win_amd64.whl", hash = "sha256:08e125dbdc505fa69ca7d9c499639ab6407cfa909214d500897d02afb816e7cc"}, + {file = "pydantic_core-2.27.2-cp311-cp311-win_arm64.whl", hash = "sha256:26f0d68d4b235a2bae0c3fc585c585b4ecc51382db0e3ba402a22cbc440915e4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:9e0c8cfefa0ef83b4da9588448b6d8d2a2bf1a53c3f1ae5fca39eb3061e2f0b0"}, + {file = "pydantic_core-2.27.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:83097677b8e3bd7eaa6775720ec8e0405f1575015a463285a92bfdfe254529ef"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:172fce187655fece0c90d90a678424b013f8fbb0ca8b036ac266749c09438cb7"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:519f29f5213271eeeeb3093f662ba2fd512b91c5f188f3bb7b27bc5973816934"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05e3a55d124407fffba0dd6b0c0cd056d10e983ceb4e5dbd10dda135c31071d6"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9c3ed807c7b91de05e63930188f19e921d1fe90de6b4f5cd43ee7fcc3525cb8c"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fb4aadc0b9a0c063206846d603b92030eb6f03069151a625667f982887153e2"}, + {file = "pydantic_core-2.27.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:28ccb213807e037460326424ceb8b5245acb88f32f3d2777427476e1b32c48c4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:de3cd1899e2c279b140adde9357c4495ed9d47131b4a4eaff9052f23398076b3"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:220f892729375e2d736b97d0e51466252ad84c51857d4d15f5e9692f9ef12be4"}, + {file = "pydantic_core-2.27.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:a0fcd29cd6b4e74fe8ddd2c90330fd8edf2e30cb52acda47f06dd615ae72da57"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win32.whl", hash = "sha256:1e2cb691ed9834cd6a8be61228471d0a503731abfb42f82458ff27be7b2186fc"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win_amd64.whl", hash = "sha256:cc3f1a99a4f4f9dd1de4fe0312c114e740b5ddead65bb4102884b384c15d8bc9"}, + {file = "pydantic_core-2.27.2-cp312-cp312-win_arm64.whl", hash = "sha256:3911ac9284cd8a1792d3cb26a2da18f3ca26c6908cc434a18f730dc0db7bfa3b"}, + {file = "pydantic_core-2.27.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7d14bd329640e63852364c306f4d23eb744e0f8193148d4044dd3dacdaacbd8b"}, + {file = "pydantic_core-2.27.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:82f91663004eb8ed30ff478d77c4d1179b3563df6cdb15c0817cd1cdaf34d154"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71b24c7d61131bb83df10cc7e687433609963a944ccf45190cfc21e0887b08c9"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fa8e459d4954f608fa26116118bb67f56b93b209c39b008277ace29937453dc9"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce8918cbebc8da707ba805b7fd0b382816858728ae7fe19a942080c24e5b7cd1"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eda3f5c2a021bbc5d976107bb302e0131351c2ba54343f8a496dc8783d3d3a6a"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8086fa684c4775c27f03f062cbb9eaa6e17f064307e86b21b9e0abc9c0f02e"}, + {file = "pydantic_core-2.27.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8d9b3388db186ba0c099a6d20f0604a44eabdeef1777ddd94786cdae158729e4"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7a66efda2387de898c8f38c0cf7f14fca0b51a8ef0b24bfea5849f1b3c95af27"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:18a101c168e4e092ab40dbc2503bdc0f62010e95d292b27827871dc85450d7ee"}, + {file = "pydantic_core-2.27.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ba5dd002f88b78a4215ed2f8ddbdf85e8513382820ba15ad5ad8955ce0ca19a1"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win32.whl", hash = "sha256:1ebaf1d0481914d004a573394f4be3a7616334be70261007e47c2a6fe7e50130"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win_amd64.whl", hash = "sha256:953101387ecf2f5652883208769a79e48db18c6df442568a0b5ccd8c2723abee"}, + {file = "pydantic_core-2.27.2-cp313-cp313-win_arm64.whl", hash = "sha256:ac4dbfd1691affb8f48c2c13241a2e3b60ff23247cbcf981759c768b6633cf8b"}, + {file = "pydantic_core-2.27.2-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d3e8d504bdd3f10835468f29008d72fc8359d95c9c415ce6e767203db6127506"}, + {file = "pydantic_core-2.27.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:521eb9b7f036c9b6187f0b47318ab0d7ca14bd87f776240b90b21c1f4f149320"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85210c4d99a0114f5a9481b44560d7d1e35e32cc5634c656bc48e590b669b145"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d716e2e30c6f140d7560ef1538953a5cd1a87264c737643d481f2779fc247fe1"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f66d89ba397d92f840f8654756196d93804278457b5fbede59598a1f9f90b228"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:669e193c1c576a58f132e3158f9dfa9662969edb1a250c54d8fa52590045f046"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdbe7629b996647b99c01b37f11170a57ae675375b14b8c13b8518b8320ced5"}, + {file = "pydantic_core-2.27.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d262606bf386a5ba0b0af3b97f37c83d7011439e3dc1a9298f21efb292e42f1a"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:cabb9bcb7e0d97f74df8646f34fc76fbf793b7f6dc2438517d7a9e50eee4f14d"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_armv7l.whl", hash = "sha256:d2d63f1215638d28221f664596b1ccb3944f6e25dd18cd3b86b0a4c408d5ebb9"}, + {file = "pydantic_core-2.27.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:bca101c00bff0adb45a833f8451b9105d9df18accb8743b08107d7ada14bd7da"}, + {file = "pydantic_core-2.27.2-cp38-cp38-win32.whl", hash = "sha256:f6f8e111843bbb0dee4cb6594cdc73e79b3329b526037ec242a3e49012495b3b"}, + {file = "pydantic_core-2.27.2-cp38-cp38-win_amd64.whl", hash = "sha256:fd1aea04935a508f62e0d0ef1f5ae968774a32afc306fb8545e06f5ff5cdf3ad"}, + {file = "pydantic_core-2.27.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c10eb4f1659290b523af58fa7cffb452a61ad6ae5613404519aee4bfbf1df993"}, + {file = "pydantic_core-2.27.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ef592d4bad47296fb11f96cd7dc898b92e795032b4894dfb4076cfccd43a9308"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c61709a844acc6bf0b7dce7daae75195a10aac96a596ea1b776996414791ede4"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c5f762659e47fdb7b16956c71598292f60a03aa92f8b6351504359dbdba6cf"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4c9775e339e42e79ec99c441d9730fccf07414af63eac2f0e48e08fd38a64d76"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:57762139821c31847cfb2df63c12f725788bd9f04bc2fb392790959b8f70f118"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d1e85068e818c73e048fe28cfc769040bb1f475524f4745a5dc621f75ac7630"}, + {file = "pydantic_core-2.27.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:097830ed52fd9e427942ff3b9bc17fab52913b2f50f2880dc4a5611446606a54"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:044a50963a614ecfae59bb1eaf7ea7efc4bc62f49ed594e18fa1e5d953c40e9f"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:4e0b4220ba5b40d727c7f879eac379b822eee5d8fff418e9d3381ee45b3b0362"}, + {file = "pydantic_core-2.27.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5e4f4bb20d75e9325cc9696c6802657b58bc1dbbe3022f32cc2b2b632c3fbb96"}, + {file = "pydantic_core-2.27.2-cp39-cp39-win32.whl", hash = "sha256:cca63613e90d001b9f2f9a9ceb276c308bfa2a43fafb75c8031c4f66039e8c6e"}, + {file = "pydantic_core-2.27.2-cp39-cp39-win_amd64.whl", hash = "sha256:77d1bca19b0f7021b3a982e6f903dcd5b2b06076def36a652e3907f596e29f67"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:2bf14caea37e91198329b828eae1618c068dfb8ef17bb33287a7ad4b61ac314e"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b0cb791f5b45307caae8810c2023a184c74605ec3bcbb67d13846c28ff731ff8"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:688d3fd9fcb71f41c4c015c023d12a79d1c4c0732ec9eb35d96e3388a120dcf3"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d591580c34f4d731592f0e9fe40f9cc1b430d297eecc70b962e93c5c668f15f"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:82f986faf4e644ffc189a7f1aafc86e46ef70372bb153e7001e8afccc6e54133"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bec317a27290e2537f922639cafd54990551725fc844249e64c523301d0822fc"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:0296abcb83a797db256b773f45773da397da75a08f5fcaef41f2044adec05f50"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:0d75070718e369e452075a6017fbf187f788e17ed67a3abd47fa934d001863d9"}, + {file = "pydantic_core-2.27.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:7e17b560be3c98a8e3aa66ce828bdebb9e9ac6ad5466fba92eb74c4c95cb1151"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c33939a82924da9ed65dab5a65d427205a73181d8098e79b6b426bdf8ad4e656"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:00bad2484fa6bda1e216e7345a798bd37c68fb2d97558edd584942aa41b7d278"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c817e2b40aba42bac6f457498dacabc568c3b7a986fc9ba7c8d9d260b71485fb"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:251136cdad0cb722e93732cb45ca5299fb56e1344a833640bf93b2803f8d1bfd"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2088237af596f0a524d3afc39ab3b036e8adb054ee57cbb1dcf8e09da5b29cc"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d4041c0b966a84b4ae7a09832eb691a35aec90910cd2dbe7a208de59be77965b"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:8083d4e875ebe0b864ffef72a4304827015cff328a1be6e22cc850753bfb122b"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f141ee28a0ad2123b6611b6ceff018039df17f32ada8b534e6aa039545a3efb2"}, + {file = "pydantic_core-2.27.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7d0c8399fcc1848491f00e0314bd59fb34a9c008761bcb422a057670c3f65e35"}, + {file = "pydantic_core-2.27.2.tar.gz", hash = "sha256:eb026e5a4c1fee05726072337ff51d1efb6f59090b7da90d30ea58625b1ffb39"}, +] + +[package.dependencies] +typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" [[package]] name = "pygments" -version = "2.14.0" +version = "2.18.0" description = "Pygments is a syntax highlighting package written in Python." -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "Pygments-2.14.0-py3-none-any.whl", hash = "sha256:fa7bd7bd2771287c0de303af8bfdfc731f51bd2c6a47ab69d117138893b82717"}, - {file = "Pygments-2.14.0.tar.gz", hash = "sha256:b3ed06a9e8ac9a9aae5a6f5dbe78a8a58655d17b43b93c078f094ddc476ae297"}, + {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, + {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, ] [package.extras] -plugins = ["importlib-metadata"] +windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pyjsg" version = "0.11.10" description = "Python JSON Schema Grammar interpreter" -category = "dev" optional = false python-versions = "*" files = [ @@ -1191,77 +1350,40 @@ jsonasobj = ">=1.2.1" [[package]] name = "pymdown-extensions" -version = "9.10" +version = "10.13" description = "Extension pack for Python Markdown." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pymdown_extensions-9.10-py3-none-any.whl", hash = "sha256:31eaa76ce6f96aabfcea98787c2fff2c5c0611b20a53a94213970cfbf05f02b8"}, - {file = "pymdown_extensions-9.10.tar.gz", hash = "sha256:562c38eee4ce3f101ce631b804bfc2177a8a76c7e4dc908871fb6741a90257a7"}, + {file = "pymdown_extensions-10.13-py3-none-any.whl", hash = "sha256:80bc33d715eec68e683e04298946d47d78c7739e79d808203df278ee8ef89428"}, + {file = "pymdown_extensions-10.13.tar.gz", hash = "sha256:e0b351494dc0d8d14a1f52b39b1499a00ef1566b4ba23dc74f1eba75c736f5dd"}, ] [package.dependencies] -markdown = ">=3.2" +markdown = ">=3.6" pyyaml = "*" +[package.extras] +extra = ["pygments (>=2.12)"] + [[package]] name = "pyparsing" -version = "3.0.9" +version = "3.2.0" description = "pyparsing module - Classes and methods to define and execute parsing grammars" -category = "main" optional = false -python-versions = ">=3.6.8" +python-versions = ">=3.9" files = [ - {file = "pyparsing-3.0.9-py3-none-any.whl", hash = "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc"}, - {file = "pyparsing-3.0.9.tar.gz", hash = "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb"}, + {file = "pyparsing-3.2.0-py3-none-any.whl", hash = "sha256:93d9577b88da0bbea8cc8334ee8b918ed014968fd2ec383e868fb8afb1ccef84"}, + {file = "pyparsing-3.2.0.tar.gz", hash = "sha256:cbf74e27246d595d9a74b186b810f6fbb86726dbf3b9532efb343f6d7294fe9c"}, ] [package.extras] diagrams = ["jinja2", "railroad-diagrams"] -[[package]] -name = "pyrsistent" -version = "0.19.3" -description = "Persistent/Functional/Immutable data structures" -category = "main" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pyrsistent-0.19.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:20460ac0ea439a3e79caa1dbd560344b64ed75e85d8703943e0b66c2a6150e4a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4c18264cb84b5e68e7085a43723f9e4c1fd1d935ab240ce02c0324a8e01ccb64"}, - {file = "pyrsistent-0.19.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4b774f9288dda8d425adb6544e5903f1fb6c273ab3128a355c6b972b7df39dcf"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win32.whl", hash = "sha256:5a474fb80f5e0d6c9394d8db0fc19e90fa540b82ee52dba7d246a7791712f74a"}, - {file = "pyrsistent-0.19.3-cp310-cp310-win_amd64.whl", hash = "sha256:49c32f216c17148695ca0e02a5c521e28a4ee6c5089f97e34fe24163113722da"}, - {file = "pyrsistent-0.19.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:f0774bf48631f3a20471dd7c5989657b639fd2d285b861237ea9e82c36a415a9"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3ab2204234c0ecd8b9368dbd6a53e83c3d4f3cab10ecaf6d0e772f456c442393"}, - {file = "pyrsistent-0.19.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e42296a09e83028b3476f7073fcb69ffebac0e66dbbfd1bd847d61f74db30f19"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win32.whl", hash = "sha256:64220c429e42a7150f4bfd280f6f4bb2850f95956bde93c6fda1b70507af6ef3"}, - {file = "pyrsistent-0.19.3-cp311-cp311-win_amd64.whl", hash = "sha256:016ad1afadf318eb7911baa24b049909f7f3bb2c5b1ed7b6a8f21db21ea3faa8"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:c4db1bd596fefd66b296a3d5d943c94f4fac5bcd13e99bffe2ba6a759d959a28"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aeda827381f5e5d65cced3024126529ddc4289d944f75e090572c77ceb19adbf"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42ac0b2f44607eb92ae88609eda931a4f0dfa03038c44c772e07f43e738bcac9"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win32.whl", hash = "sha256:e8f2b814a3dc6225964fa03d8582c6e0b6650d68a232df41e3cc1b66a5d2f8d1"}, - {file = "pyrsistent-0.19.3-cp37-cp37m-win_amd64.whl", hash = "sha256:c9bb60a40a0ab9aba40a59f68214eed5a29c6274c83b2cc206a359c4a89fa41b"}, - {file = "pyrsistent-0.19.3-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:a2471f3f8693101975b1ff85ffd19bb7ca7dd7c38f8a81701f67d6b4f97b87d8"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc5d149f31706762c1f8bda2e8c4f8fead6e80312e3692619a75301d3dbb819a"}, - {file = "pyrsistent-0.19.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3311cb4237a341aa52ab8448c27e3a9931e2ee09561ad150ba94e4cfd3fc888c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win32.whl", hash = "sha256:f0e7c4b2f77593871e918be000b96c8107da48444d57005b6a6bc61fb4331b2c"}, - {file = "pyrsistent-0.19.3-cp38-cp38-win_amd64.whl", hash = "sha256:c147257a92374fde8498491f53ffa8f4822cd70c0d85037e09028e478cababb7"}, - {file = "pyrsistent-0.19.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b735e538f74ec31378f5a1e3886a26d2ca6351106b4dfde376a26fc32a044edc"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:99abb85579e2165bd8522f0c0138864da97847875ecbd45f3e7e2af569bfc6f2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3a8cb235fa6d3fd7aae6a4f1429bbb1fec1577d978098da1252f0489937786f3"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win32.whl", hash = "sha256:c74bed51f9b41c48366a286395c67f4e894374306b197e62810e0fdaf2364da2"}, - {file = "pyrsistent-0.19.3-cp39-cp39-win_amd64.whl", hash = "sha256:878433581fc23e906d947a6814336eee031a00e6defba224234169ae3d3d6a98"}, - {file = "pyrsistent-0.19.3-py3-none-any.whl", hash = "sha256:ccf0d6bd208f8111179f0c26fdf84ed7c3891982f2edaeae7422575f47e66b64"}, - {file = "pyrsistent-0.19.3.tar.gz", hash = "sha256:1a2994773706bbb4995c31a97bc94f1418314923bd1048c6d964837040376440"}, -] - [[package]] name = "pyshex" version = "0.8.1" description = "Python ShEx Implementation" -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1284,7 +1406,6 @@ urllib3 = "*" name = "pyshexc" version = "0.9.1" description = "PyShExC - Python ShEx compiler" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1302,33 +1423,30 @@ shexjsg = ">=0.8.1" [[package]] name = "pytest" -version = "7.2.2" +version = "8.3.4" description = "pytest: simple powerful testing with Python" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "pytest-7.2.2-py3-none-any.whl", hash = "sha256:130328f552dcfac0b1cec75c12e3f005619dc5f874f0a06e8ff7263f0ee6225e"}, - {file = "pytest-7.2.2.tar.gz", hash = "sha256:c99ab0c73aceb050f68929bc93af19ab6db0558791c6a0715723abe9d0ade9d4"}, + {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, + {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, ] [package.dependencies] -attrs = ">=19.2.0" colorama = {version = "*", markers = "sys_platform == \"win32\""} exceptiongroup = {version = ">=1.0.0rc8", markers = "python_version < \"3.11\""} iniconfig = "*" packaging = "*" -pluggy = ">=0.12,<2.0" -tomli = {version = ">=1.0.0", markers = "python_version < \"3.11\""} +pluggy = ">=1.5,<2" +tomli = {version = ">=1", markers = "python_version < \"3.11\""} [package.extras] -testing = ["argcomplete", "hypothesis (>=3.56)", "mock", "nose", "pygments (>=2.7.2)", "requests", "xmlschema"] +dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-logging" version = "2015.11.4" description = "Configures logging and allows tweaking the log level with a py.test flag" -category = "main" optional = false python-versions = "*" files = [ @@ -1340,14 +1458,13 @@ pytest = ">=2.8.1" [[package]] name = "python-dateutil" -version = "2.8.2" +version = "2.9.0.post0" description = "Extensions to the standard Python datetime module" -category = "dev" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "python-dateutil-2.8.2.tar.gz", hash = "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86"}, - {file = "python_dateutil-2.8.2-py2.py3-none-any.whl", hash = "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9"}, + {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, + {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, ] [package.dependencies] @@ -1357,7 +1474,6 @@ six = ">=1.5" name = "pytrie" version = "0.4.0" description = "A pure Python implementation of the trie data structure." -category = "main" optional = false python-versions = "*" files = [ @@ -1369,59 +1485,70 @@ sortedcontainers = "*" [[package]] name = "pyyaml" -version = "6.0" +version = "6.0.2" description = "YAML parser and emitter for Python" -category = "main" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8" files = [ - {file = "PyYAML-6.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d4db7c7aef085872ef65a8fd7d6d09a14ae91f691dec3e87ee5ee0539d516f53"}, - {file = "PyYAML-6.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9df7ed3b3d2e0ecfe09e14741b857df43adb5a3ddadc919a2d94fbdf78fea53c"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:77f396e6ef4c73fdc33a9157446466f1cff553d979bd00ecb64385760c6babdc"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a80a78046a72361de73f8f395f1f1e49f956c6be882eed58505a15f3e430962b"}, - {file = "PyYAML-6.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f84fbc98b019fef2ee9a1cb3ce93e3187a6df0b2538a651bfb890254ba9f90b5"}, - {file = "PyYAML-6.0-cp310-cp310-win32.whl", hash = "sha256:2cd5df3de48857ed0544b34e2d40e9fac445930039f3cfe4bcc592a1f836d513"}, - {file = "PyYAML-6.0-cp310-cp310-win_amd64.whl", hash = "sha256:daf496c58a8c52083df09b80c860005194014c3698698d1a57cbcfa182142a3a"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d4b0ba9512519522b118090257be113b9468d804b19d63c71dbcf4a48fa32358"}, - {file = "PyYAML-6.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:81957921f441d50af23654aa6c5e5eaf9b06aba7f0a19c18a538dc7ef291c5a1"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:afa17f5bc4d1b10afd4466fd3a44dc0e245382deca5b3c353d8b757f9e3ecb8d"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dbad0e9d368bb989f4515da330b88a057617d16b6a8245084f1b05400f24609f"}, - {file = "PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:432557aa2c09802be39460360ddffd48156e30721f5e8d917f01d31694216782"}, - {file = "PyYAML-6.0-cp311-cp311-win32.whl", hash = "sha256:bfaef573a63ba8923503d27530362590ff4f576c626d86a9fed95822a8255fd7"}, - {file = "PyYAML-6.0-cp311-cp311-win_amd64.whl", hash = "sha256:01b45c0191e6d66c470b6cf1b9531a771a83c1c4208272ead47a3ae4f2f603bf"}, - {file = "PyYAML-6.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:897b80890765f037df3403d22bab41627ca8811ae55e9a722fd0392850ec4d86"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50602afada6d6cbfad699b0c7bb50d5ccffa7e46a3d738092afddc1f9758427f"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:48c346915c114f5fdb3ead70312bd042a953a8ce5c7106d5bfb1a5254e47da92"}, - {file = "PyYAML-6.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:98c4d36e99714e55cfbaaee6dd5badbc9a1ec339ebfc3b1f52e293aee6bb71a4"}, - {file = "PyYAML-6.0-cp36-cp36m-win32.whl", hash = "sha256:0283c35a6a9fbf047493e3a0ce8d79ef5030852c51e9d911a27badfde0605293"}, - {file = "PyYAML-6.0-cp36-cp36m-win_amd64.whl", hash = "sha256:07751360502caac1c067a8132d150cf3d61339af5691fe9e87803040dbc5db57"}, - {file = "PyYAML-6.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:819b3830a1543db06c4d4b865e70ded25be52a2e0631ccd2f6a47a2822f2fd7c"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:473f9edb243cb1935ab5a084eb238d842fb8f404ed2193a915d1784b5a6b5fc0"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ce82d761c532fe4ec3f87fc45688bdd3a4c1dc5e0b4a19814b9009a29baefd4"}, - {file = "PyYAML-6.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:231710d57adfd809ef5d34183b8ed1eeae3f76459c18fb4a0b373ad56bedcdd9"}, - {file = "PyYAML-6.0-cp37-cp37m-win32.whl", hash = "sha256:c5687b8d43cf58545ade1fe3e055f70eac7a5a1a0bf42824308d868289a95737"}, - {file = "PyYAML-6.0-cp37-cp37m-win_amd64.whl", hash = "sha256:d15a181d1ecd0d4270dc32edb46f7cb7733c7c508857278d3d378d14d606db2d"}, - {file = "PyYAML-6.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:0b4624f379dab24d3725ffde76559cff63d9ec94e1736b556dacdfebe5ab6d4b"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:213c60cd50106436cc818accf5baa1aba61c0189ff610f64f4a3e8c6726218ba"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9fa600030013c4de8165339db93d182b9431076eb98eb40ee068700c9c813e34"}, - {file = "PyYAML-6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:277a0ef2981ca40581a47093e9e2d13b3f1fbbeffae064c1d21bfceba2030287"}, - {file = "PyYAML-6.0-cp38-cp38-win32.whl", hash = "sha256:d4eccecf9adf6fbcc6861a38015c2a64f38b9d94838ac1810a9023a0609e1b78"}, - {file = "PyYAML-6.0-cp38-cp38-win_amd64.whl", hash = "sha256:1e4747bc279b4f613a09eb64bba2ba602d8a6664c6ce6396a4d0cd413a50ce07"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:055d937d65826939cb044fc8c9b08889e8c743fdc6a32b33e2390f66013e449b"}, - {file = "PyYAML-6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e61ceaab6f49fb8bdfaa0f92c4b57bcfbea54c09277b1b4f7ac376bfb7a7c174"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d67d839ede4ed1b28a4e8909735fc992a923cdb84e618544973d7dfc71540803"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba8c411ef271aa037d7357a2bc8f9ee8b58b9965831d9e51baf703280dc73d3"}, - {file = "PyYAML-6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:40527857252b61eacd1d9af500c3337ba8deb8fc298940291486c465c8b46ec0"}, - {file = "PyYAML-6.0-cp39-cp39-win32.whl", hash = "sha256:b5b9eccad747aabaaffbc6064800670f0c297e52c12754eb1d976c57e4f74dcb"}, - {file = "PyYAML-6.0-cp39-cp39-win_amd64.whl", hash = "sha256:b3d267842bf12586ba6c734f89d1f5b871df0273157918b0ccefa29deb05c21c"}, - {file = "PyYAML-6.0.tar.gz", hash = "sha256:68fb519c14306fec9720a2a5b45bc9f0c8d1b9c72adf45c37baedfcd949c35a2"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086"}, + {file = "PyYAML-6.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b"}, + {file = "PyYAML-6.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180"}, + {file = "PyYAML-6.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68"}, + {file = "PyYAML-6.0.2-cp310-cp310-win32.whl", hash = "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99"}, + {file = "PyYAML-6.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774"}, + {file = "PyYAML-6.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317"}, + {file = "PyYAML-6.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4"}, + {file = "PyYAML-6.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e"}, + {file = "PyYAML-6.0.2-cp311-cp311-win32.whl", hash = "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5"}, + {file = "PyYAML-6.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab"}, + {file = "PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425"}, + {file = "PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48"}, + {file = "PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b"}, + {file = "PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4"}, + {file = "PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba"}, + {file = "PyYAML-6.0.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484"}, + {file = "PyYAML-6.0.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc"}, + {file = "PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652"}, + {file = "PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183"}, + {file = "PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563"}, + {file = "PyYAML-6.0.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d"}, + {file = "PyYAML-6.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083"}, + {file = "PyYAML-6.0.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706"}, + {file = "PyYAML-6.0.2-cp38-cp38-win32.whl", hash = "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a"}, + {file = "PyYAML-6.0.2-cp38-cp38-win_amd64.whl", hash = "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d"}, + {file = "PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12"}, + {file = "PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e"}, + {file = "PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725"}, + {file = "PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631"}, + {file = "PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8"}, + {file = "pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e"}, ] [[package]] name = "pyyaml-env-tag" version = "0.1" description = "A custom YAML tag for referencing environment variables in YAML files. " -category = "dev" optional = false python-versions = ">=3.6" files = [ @@ -1434,31 +1561,30 @@ pyyaml = "*" [[package]] name = "rdflib" -version = "6.3.2" +version = "7.1.1" description = "RDFLib is a Python library for working with RDF, a simple yet powerful language for representing information." -category = "main" optional = false -python-versions = ">=3.7,<4.0" +python-versions = "<4.0.0,>=3.8.1" files = [ - {file = "rdflib-6.3.2-py3-none-any.whl", hash = "sha256:36b4e74a32aa1e4fa7b8719876fb192f19ecd45ff932ea5ebbd2e417a0247e63"}, - {file = "rdflib-6.3.2.tar.gz", hash = "sha256:72af591ff704f4caacea7ecc0c5a9056b8553e0489dd4f35a9bc52dbd41522e0"}, + {file = "rdflib-7.1.1-py3-none-any.whl", hash = "sha256:e590fa9a2c34ba33a667818b5a84be3fb8a4d85868f8038f17912ec84f912a25"}, + {file = "rdflib-7.1.1.tar.gz", hash = "sha256:164de86bd3564558802ca983d84f6616a4a1a420c7a17a8152f5016076b2913e"}, ] [package.dependencies] -isodate = ">=0.6.0,<0.7.0" +isodate = {version = ">=0.7.2,<1.0.0", markers = "python_version < \"3.11\""} pyparsing = ">=2.1.0,<4" [package.extras] berkeleydb = ["berkeleydb (>=18.1.0,<19.0.0)"] -html = ["html5lib (>=1.0,<2.0)"] -lxml = ["lxml (>=4.3.0,<5.0.0)"] -networkx = ["networkx (>=2.0.0,<3.0.0)"] +html = ["html5rdf (>=1.2,<2)"] +lxml = ["lxml (>=4.3,<6.0)"] +networkx = ["networkx (>=2,<4)"] +orjson = ["orjson (>=3.9.14,<4)"] [[package]] name = "rdflib-jsonld" version = "0.6.1" description = "rdflib extension adding JSON-LD parser and serializer" -category = "dev" optional = false python-versions = "*" files = [ @@ -1473,7 +1599,6 @@ rdflib = ">=5.0.0" name = "rdflib-shim" version = "1.0.3" description = "Shim for rdflib 5 and 6 incompatibilities" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1485,23 +1610,37 @@ files = [ rdflib = ">=5.0.0" rdflib-jsonld = "0.6.1" +[[package]] +name = "referencing" +version = "0.35.1" +description = "JSON Referencing + Python" +optional = false +python-versions = ">=3.8" +files = [ + {file = "referencing-0.35.1-py3-none-any.whl", hash = "sha256:eda6d3234d62814d1c64e305c1331c9a3a6132da475ab6382eaa997b21ee75de"}, + {file = "referencing-0.35.1.tar.gz", hash = "sha256:25b42124a6c8b632a425174f24087783efb348a6f1e0008e63cd4466fedf703c"}, +] + +[package.dependencies] +attrs = ">=22.2.0" +rpds-py = ">=0.7.0" + [[package]] name = "requests" -version = "2.28.2" +version = "2.32.3" description = "Python HTTP for Humans." -category = "main" optional = false -python-versions = ">=3.7, <4" +python-versions = ">=3.8" files = [ - {file = "requests-2.28.2-py3-none-any.whl", hash = "sha256:64299f4909223da747622c030b781c0d7811e359c37124b4bd368fb8c6518baa"}, - {file = "requests-2.28.2.tar.gz", hash = "sha256:98b1b2782e3c6c4904938b84c0eb932721069dfdb9134313beff7c83c2df24bf"}, + {file = "requests-2.32.3-py3-none-any.whl", hash = "sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6"}, + {file = "requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760"}, ] [package.dependencies] certifi = ">=2017.4.17" charset-normalizer = ">=2,<4" idna = ">=2.5,<4" -urllib3 = ">=1.21.1,<1.27" +urllib3 = ">=1.21.1,<3" [package.extras] socks = ["PySocks (>=1.5.6,!=1.5.7)"] @@ -1511,7 +1650,6 @@ use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] name = "rfc3339-validator" version = "0.1.4" description = "A pure python RFC3339 validator" -category = "dev" optional = false python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" files = [ @@ -1526,7 +1664,6 @@ six = "*" name = "rfc3987" version = "1.3.8" description = "Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)" -category = "dev" optional = false python-versions = "*" files = [ @@ -1534,94 +1671,215 @@ files = [ {file = "rfc3987-1.3.8.tar.gz", hash = "sha256:d3c4d257a560d544e9826b38bc81db676890c79ab9d7ac92b39c7a253d5ca733"}, ] +[[package]] +name = "rpds-py" +version = "0.22.3" +description = "Python bindings to Rust's persistent data structures (rpds)" +optional = false +python-versions = ">=3.9" +files = [ + {file = "rpds_py-0.22.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:6c7b99ca52c2c1752b544e310101b98a659b720b21db00e65edca34483259967"}, + {file = "rpds_py-0.22.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:be2eb3f2495ba669d2a985f9b426c1797b7d48d6963899276d22f23e33d47e37"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:70eb60b3ae9245ddea20f8a4190bd79c705a22f8028aaf8bbdebe4716c3fab24"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4041711832360a9b75cfb11b25a6a97c8fb49c07b8bd43d0d02b45d0b499a4ff"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:64607d4cbf1b7e3c3c8a14948b99345eda0e161b852e122c6bb71aab6d1d798c"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:81e69b0a0e2537f26d73b4e43ad7bc8c8efb39621639b4434b76a3de50c6966e"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc27863442d388870c1809a87507727b799c8460573cfbb6dc0eeaef5a11b5ec"}, + {file = "rpds_py-0.22.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:e79dd39f1e8c3504be0607e5fc6e86bb60fe3584bec8b782578c3b0fde8d932c"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e0fa2d4ec53dc51cf7d3bb22e0aa0143966119f42a0c3e4998293a3dd2856b09"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fda7cb070f442bf80b642cd56483b5548e43d366fe3f39b98e67cce780cded00"}, + {file = "rpds_py-0.22.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cff63a0272fcd259dcc3be1657b07c929c466b067ceb1c20060e8d10af56f5bf"}, + {file = "rpds_py-0.22.3-cp310-cp310-win32.whl", hash = "sha256:9bd7228827ec7bb817089e2eb301d907c0d9827a9e558f22f762bb690b131652"}, + {file = "rpds_py-0.22.3-cp310-cp310-win_amd64.whl", hash = "sha256:9beeb01d8c190d7581a4d59522cd3d4b6887040dcfc744af99aa59fef3e041a8"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:d20cfb4e099748ea39e6f7b16c91ab057989712d31761d3300d43134e26e165f"}, + {file = "rpds_py-0.22.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:68049202f67380ff9aa52f12e92b1c30115f32e6895cd7198fa2a7961621fc5a"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb4f868f712b2dd4bcc538b0a0c1f63a2b1d584c925e69a224d759e7070a12d5"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bc51abd01f08117283c5ebf64844a35144a0843ff7b2983e0648e4d3d9f10dbb"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0f3cec041684de9a4684b1572fe28c7267410e02450f4561700ca5a3bc6695a2"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7ef9d9da710be50ff6809fed8f1963fecdfecc8b86656cadfca3bc24289414b0"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59f4a79c19232a5774aee369a0c296712ad0e77f24e62cad53160312b1c1eaa1"}, + {file = "rpds_py-0.22.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1a60bce91f81ddaac922a40bbb571a12c1070cb20ebd6d49c48e0b101d87300d"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:e89391e6d60251560f0a8f4bd32137b077a80d9b7dbe6d5cab1cd80d2746f648"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e3fb866d9932a3d7d0c82da76d816996d1667c44891bd861a0f97ba27e84fc74"}, + {file = "rpds_py-0.22.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1352ae4f7c717ae8cba93421a63373e582d19d55d2ee2cbb184344c82d2ae55a"}, + {file = "rpds_py-0.22.3-cp311-cp311-win32.whl", hash = "sha256:b0b4136a252cadfa1adb705bb81524eee47d9f6aab4f2ee4fa1e9d3cd4581f64"}, + {file = "rpds_py-0.22.3-cp311-cp311-win_amd64.whl", hash = "sha256:8bd7c8cfc0b8247c8799080fbff54e0b9619e17cdfeb0478ba7295d43f635d7c"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:27e98004595899949bd7a7b34e91fa7c44d7a97c40fcaf1d874168bb652ec67e"}, + {file = "rpds_py-0.22.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1978d0021e943aae58b9b0b196fb4895a25cc53d3956b8e35e0b7682eefb6d56"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:655ca44a831ecb238d124e0402d98f6212ac527a0ba6c55ca26f616604e60a45"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:feea821ee2a9273771bae61194004ee2fc33f8ec7db08117ef9147d4bbcbca8e"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:22bebe05a9ffc70ebfa127efbc429bc26ec9e9b4ee4d15a740033efda515cf3d"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3af6e48651c4e0d2d166dc1b033b7042ea3f871504b6805ba5f4fe31581d8d38"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e67ba3c290821343c192f7eae1d8fd5999ca2dc99994114643e2f2d3e6138b15"}, + {file = "rpds_py-0.22.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:02fbb9c288ae08bcb34fb41d516d5eeb0455ac35b5512d03181d755d80810059"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f56a6b404f74ab372da986d240e2e002769a7d7102cc73eb238a4f72eec5284e"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:0a0461200769ab3b9ab7e513f6013b7a97fdeee41c29b9db343f3c5a8e2b9e61"}, + {file = "rpds_py-0.22.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8633e471c6207a039eff6aa116e35f69f3156b3989ea3e2d755f7bc41754a4a7"}, + {file = "rpds_py-0.22.3-cp312-cp312-win32.whl", hash = "sha256:593eba61ba0c3baae5bc9be2f5232430453fb4432048de28399ca7376de9c627"}, + {file = "rpds_py-0.22.3-cp312-cp312-win_amd64.whl", hash = "sha256:d115bffdd417c6d806ea9069237a4ae02f513b778e3789a359bc5856e0404cc4"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:ea7433ce7e4bfc3a85654aeb6747babe3f66eaf9a1d0c1e7a4435bbdf27fea84"}, + {file = "rpds_py-0.22.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:6dd9412824c4ce1aca56c47b0991e65bebb7ac3f4edccfd3f156150c96a7bf25"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:20070c65396f7373f5df4005862fa162db5d25d56150bddd0b3e8214e8ef45b4"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:0b09865a9abc0ddff4e50b5ef65467cd94176bf1e0004184eb915cbc10fc05c5"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3453e8d41fe5f17d1f8e9c383a7473cd46a63661628ec58e07777c2fff7196dc"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f5d36399a1b96e1a5fdc91e0522544580dbebeb1f77f27b2b0ab25559e103b8b"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:009de23c9c9ee54bf11303a966edf4d9087cd43a6003672e6aa7def643d06518"}, + {file = "rpds_py-0.22.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1aef18820ef3e4587ebe8b3bc9ba6e55892a6d7b93bac6d29d9f631a3b4befbd"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f60bd8423be1d9d833f230fdbccf8f57af322d96bcad6599e5a771b151398eb2"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:62d9cfcf4948683a18a9aff0ab7e1474d407b7bab2ca03116109f8464698ab16"}, + {file = "rpds_py-0.22.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9253fc214112405f0afa7db88739294295f0e08466987f1d70e29930262b4c8f"}, + {file = "rpds_py-0.22.3-cp313-cp313-win32.whl", hash = "sha256:fb0ba113b4983beac1a2eb16faffd76cb41e176bf58c4afe3e14b9c681f702de"}, + {file = "rpds_py-0.22.3-cp313-cp313-win_amd64.whl", hash = "sha256:c58e2339def52ef6b71b8f36d13c3688ea23fa093353f3a4fee2556e62086ec9"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:f82a116a1d03628a8ace4859556fb39fd1424c933341a08ea3ed6de1edb0283b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3dfcbc95bd7992b16f3f7ba05af8a64ca694331bd24f9157b49dadeeb287493b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:59259dc58e57b10e7e18ce02c311804c10c5a793e6568f8af4dead03264584d1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5725dd9cc02068996d4438d397e255dcb1df776b7ceea3b9cb972bdb11260a83"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:99b37292234e61325e7a5bb9689e55e48c3f5f603af88b1642666277a81f1fbd"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:27b1d3b3915a99208fee9ab092b8184c420f2905b7d7feb4aeb5e4a9c509b8a1"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f612463ac081803f243ff13cccc648578e2279295048f2a8d5eb430af2bae6e3"}, + {file = "rpds_py-0.22.3-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f73d3fef726b3243a811121de45193c0ca75f6407fe66f3f4e183c983573e130"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3f21f0495edea7fdbaaa87e633a8689cd285f8f4af5c869f27bc8074638ad69c"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:1e9663daaf7a63ceccbbb8e3808fe90415b0757e2abddbfc2e06c857bf8c5e2b"}, + {file = "rpds_py-0.22.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a76e42402542b1fae59798fab64432b2d015ab9d0c8c47ba7addddbaf7952333"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win32.whl", hash = "sha256:69803198097467ee7282750acb507fba35ca22cc3b85f16cf45fb01cb9097730"}, + {file = "rpds_py-0.22.3-cp313-cp313t-win_amd64.whl", hash = "sha256:f5cf2a0c2bdadf3791b5c205d55a37a54025c6e18a71c71f82bb536cf9a454bf"}, + {file = "rpds_py-0.22.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:378753b4a4de2a7b34063d6f95ae81bfa7b15f2c1a04a9518e8644e81807ebea"}, + {file = "rpds_py-0.22.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3445e07bf2e8ecfeef6ef67ac83de670358abf2996916039b16a218e3d95e97e"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b2513ba235829860b13faa931f3b6846548021846ac808455301c23a101689d"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eaf16ae9ae519a0e237a0f528fd9f0197b9bb70f40263ee57ae53c2b8d48aeb3"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:583f6a1993ca3369e0f80ba99d796d8e6b1a3a2a442dd4e1a79e652116413091"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4617e1915a539a0d9a9567795023de41a87106522ff83fbfaf1f6baf8e85437e"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c150c7a61ed4a4f4955a96626574e9baf1adf772c2fb61ef6a5027e52803543"}, + {file = "rpds_py-0.22.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2fa4331c200c2521512595253f5bb70858b90f750d39b8cbfd67465f8d1b596d"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:214b7a953d73b5e87f0ebece4a32a5bd83c60a3ecc9d4ec8f1dca968a2d91e99"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f47ad3d5f3258bd7058d2d506852217865afefe6153a36eb4b6928758041d831"}, + {file = "rpds_py-0.22.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f276b245347e6e36526cbd4a266a417796fc531ddf391e43574cf6466c492520"}, + {file = "rpds_py-0.22.3-cp39-cp39-win32.whl", hash = "sha256:bbb232860e3d03d544bc03ac57855cd82ddf19c7a07651a7c0fdb95e9efea8b9"}, + {file = "rpds_py-0.22.3-cp39-cp39-win_amd64.whl", hash = "sha256:cfbc454a2880389dbb9b5b398e50d439e2e58669160f27b60e5eca11f68ae17c"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:d48424e39c2611ee1b84ad0f44fb3b2b53d473e65de061e3f460fc0be5f1939d"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:24e8abb5878e250f2eb0d7859a8e561846f98910326d06c0d51381fed59357bd"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b232061ca880db21fa14defe219840ad9b74b6158adb52ddf0e87bead9e8493"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ac0a03221cdb5058ce0167ecc92a8c89e8d0decdc9e99a2ec23380793c4dcb96"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:eb0c341fa71df5a4595f9501df4ac5abfb5a09580081dffbd1ddd4654e6e9123"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf9db5488121b596dbfc6718c76092fda77b703c1f7533a226a5a9f65248f8ad"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b8db6b5b2d4491ad5b6bdc2bc7c017eec108acbf4e6785f42a9eb0ba234f4c9"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b3d504047aba448d70cf6fa22e06cb09f7cbd761939fdd47604f5e007675c24e"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:e61b02c3f7a1e0b75e20c3978f7135fd13cb6cf551bf4a6d29b999a88830a338"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:e35ba67d65d49080e8e5a1dd40101fccdd9798adb9b050ff670b7d74fa41c566"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:26fd7cac7dd51011a245f29a2cc6489c4608b5a8ce8d75661bb4a1066c52dfbe"}, + {file = "rpds_py-0.22.3-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:177c7c0fce2855833819c98e43c262007f42ce86651ffbb84f37883308cb0e7d"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:bb47271f60660803ad11f4c61b42242b8c1312a31c98c578f79ef9387bbde21c"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:70fb28128acbfd264eda9bf47015537ba3fe86e40d046eb2963d75024be4d055"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:44d61b4b7d0c2c9ac019c314e52d7cbda0ae31078aabd0f22e583af3e0d79723"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0e260eaf54380380ac3808aa4ebe2d8ca28b9087cf411649f96bad6900c728"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b25bc607423935079e05619d7de556c91fb6adeae9d5f80868dde3468657994b"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fb6116dfb8d1925cbdb52595560584db42a7f664617a1f7d7f6e32f138cdf37d"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a63cbdd98acef6570c62b92a1e43266f9e8b21e699c363c0fef13bd530799c11"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b8f60e1b739a74bab7e01fcbe3dddd4657ec685caa04681df9d562ef15b625f"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:2e8b55d8517a2fda8d95cb45d62a5a8bbf9dd0ad39c5b25c8833efea07b880ca"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:2de29005e11637e7a2361fa151f780ff8eb2543a0da1413bb951e9f14b699ef3"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:666ecce376999bf619756a24ce15bb14c5bfaf04bf00abc7e663ce17c3f34fe7"}, + {file = "rpds_py-0.22.3-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:5246b14ca64a8675e0a7161f7af68fe3e910e6b90542b4bfb5439ba752191df6"}, + {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, +] + [[package]] name = "ruamel-yaml" -version = "0.17.21" +version = "0.18.6" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" -category = "dev" optional = false -python-versions = ">=3" +python-versions = ">=3.7" files = [ - {file = "ruamel.yaml-0.17.21-py3-none-any.whl", hash = "sha256:742b35d3d665023981bd6d16b3d24248ce5df75fdb4e2924e93a05c1f8b61ca7"}, - {file = "ruamel.yaml-0.17.21.tar.gz", hash = "sha256:8b7ce697a2f212752a35c1ac414471dc16c424c9573be4926b56ff3f5d23b7af"}, + {file = "ruamel.yaml-0.18.6-py3-none-any.whl", hash = "sha256:57b53ba33def16c4f3d807c0ccbc00f8a6081827e81ba2491691b76882d0c636"}, + {file = "ruamel.yaml-0.18.6.tar.gz", hash = "sha256:8b27e6a217e786c6fbe5634d8f3f11bc63e0f80f6a5890f28863d9c45aac311b"}, ] [package.dependencies] -"ruamel.yaml.clib" = {version = ">=0.2.6", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.11\""} +"ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.13\""} [package.extras] -docs = ["ryd"] +docs = ["mercurial (>5.7)", "ryd"] jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] [[package]] name = "ruamel-yaml-clib" -version = "0.2.7" +version = "0.2.12" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" -category = "dev" optional = false -python-versions = ">=3.5" -files = [ - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5859983f26d8cd7bb5c287ef452e8aacc86501487634573d260968f753e1d71"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:debc87a9516b237d0466a711b18b6ebeb17ba9f391eb7f91c649c5c4ec5006c7"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:df5828871e6648db72d1c19b4bd24819b80a755c4541d3409f0f7acd0f335c80"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:efa08d63ef03d079dcae1dfe334f6c8847ba8b645d08df286358b1f5293d24ab"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win32.whl", hash = "sha256:763d65baa3b952479c4e972669f679fe490eee058d5aa85da483ebae2009d231"}, - {file = "ruamel.yaml.clib-0.2.7-cp310-cp310-win_amd64.whl", hash = "sha256:d000f258cf42fec2b1bbf2863c61d7b8918d31ffee905da62dede869254d3b8a"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:045e0626baf1c52e5527bd5db361bc83180faaba2ff586e763d3d5982a876a9e"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:1a6391a7cabb7641c32517539ca42cf84b87b667bad38b78d4d42dd23e957c81"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:9c7617df90c1365638916b98cdd9be833d31d337dbcd722485597b43c4a215bf"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:41d0f1fa4c6830176eef5b276af04c89320ea616655d01327d5ce65e50575c94"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win32.whl", hash = "sha256:f6d3d39611ac2e4f62c3128a9eed45f19a6608670c5a2f4f07f24e8de3441d38"}, - {file = "ruamel.yaml.clib-0.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:da538167284de58a52109a9b89b8f6a53ff8437dd6dc26d33b57bf6699153122"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4b3a93bb9bc662fc1f99c5c3ea8e623d8b23ad22f861eb6fce9377ac07ad6072"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-macosx_12_0_arm64.whl", hash = "sha256:a234a20ae07e8469da311e182e70ef6b199d0fbeb6c6cc2901204dd87fb867e8"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux2014_aarch64.whl", hash = "sha256:15910ef4f3e537eea7fe45f8a5d19997479940d9196f357152a09031c5be59f3"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:370445fd795706fd291ab00c9df38a0caed0f17a6fb46b0f607668ecb16ce763"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win32.whl", hash = "sha256:ecdf1a604009bd35c674b9225a8fa609e0282d9b896c03dd441a91e5f53b534e"}, - {file = "ruamel.yaml.clib-0.2.7-cp36-cp36m-win_amd64.whl", hash = "sha256:f34019dced51047d6f70cb9383b2ae2853b7fc4dce65129a5acd49f4f9256646"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:2aa261c29a5545adfef9296b7e33941f46aa5bbd21164228e833412af4c9c75f"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-macosx_12_0_arm64.whl", hash = "sha256:f01da5790e95815eb5a8a138508c01c758e5f5bc0ce4286c4f7028b8dd7ac3d0"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:40d030e2329ce5286d6b231b8726959ebbe0404c92f0a578c0e2482182e38282"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:c3ca1fbba4ae962521e5eb66d72998b51f0f4d0f608d3c0347a48e1af262efa7"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win32.whl", hash = "sha256:7bdb4c06b063f6fd55e472e201317a3bb6cdeeee5d5a38512ea5c01e1acbdd93"}, - {file = "ruamel.yaml.clib-0.2.7-cp37-cp37m-win_amd64.whl", hash = "sha256:be2a7ad8fd8f7442b24323d24ba0b56c51219513cfa45b9ada3b87b76c374d4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:91a789b4aa0097b78c93e3dc4b40040ba55bef518f84a40d4442f713b4094acb"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-macosx_12_0_arm64.whl", hash = "sha256:99e77daab5d13a48a4054803d052ff40780278240a902b880dd37a51ba01a307"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:3243f48ecd450eddadc2d11b5feb08aca941b5cd98c9b1db14b2fd128be8c697"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:8831a2cedcd0f0927f788c5bdf6567d9dc9cc235646a434986a852af1cb54b4b"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win32.whl", hash = "sha256:3110a99e0f94a4a3470ff67fc20d3f96c25b13d24c6980ff841e82bafe827cac"}, - {file = "ruamel.yaml.clib-0.2.7-cp38-cp38-win_amd64.whl", hash = "sha256:92460ce908546ab69770b2e576e4f99fbb4ce6ab4b245345a3869a0a0410488f"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5bc0667c1eb8f83a3752b71b9c4ba55ef7c7058ae57022dd9b29065186a113d9"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:4a4d8d417868d68b979076a9be6a38c676eca060785abaa6709c7b31593c35d1"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bf9a6bc4a0221538b1a7de3ed7bca4c93c02346853f44e1cd764be0023cd3640"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl", hash = "sha256:a7b301ff08055d73223058b5c46c55638917f04d21577c95e00e0c4d79201a6b"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win32.whl", hash = "sha256:d5e51e2901ec2366b79f16c2299a03e74ba4531ddcfacc1416639c557aef0ad8"}, - {file = "ruamel.yaml.clib-0.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:184faeaec61dbaa3cace407cffc5819f7b977e75360e8d5ca19461cd851a5fc5"}, - {file = "ruamel.yaml.clib-0.2.7.tar.gz", hash = "sha256:1f08fd5a2bea9c4180db71678e850b995d2a5f4537be0e94557668cf0f5f9497"}, +python-versions = ">=3.9" +files = [ + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-macosx_13_0_arm64.whl", hash = "sha256:11f891336688faf5156a36293a9c362bdc7c88f03a8a027c2c1d8e0bcde998e5"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:a606ef75a60ecf3d924613892cc603b154178ee25abb3055db5062da811fd969"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd5415dded15c3822597455bc02bcd66e81ef8b7a48cb71a33628fc9fdde39df"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f66efbc1caa63c088dead1c4170d148eabc9b80d95fb75b6c92ac0aad2437d76"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:22353049ba4181685023b25b5b51a574bce33e7f51c759371a7422dcae5402a6"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:932205970b9f9991b34f55136be327501903f7c66830e9760a8ffb15b07f05cd"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a52d48f4e7bf9005e8f0a89209bf9a73f7190ddf0489eee5eb51377385f59f2a"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win32.whl", hash = "sha256:3eac5a91891ceb88138c113f9db04f3cebdae277f5d44eaa3651a4f573e6a5da"}, + {file = "ruamel.yaml.clib-0.2.12-cp310-cp310-win_amd64.whl", hash = "sha256:ab007f2f5a87bd08ab1499bdf96f3d5c6ad4dcfa364884cb4549aa0154b13a28"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-macosx_13_0_arm64.whl", hash = "sha256:4a6679521a58256a90b0d89e03992c15144c5f3858f40d7c18886023d7943db6"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:d84318609196d6bd6da0edfa25cedfbabd8dbde5140a0a23af29ad4b8f91fb1e"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb43a269eb827806502c7c8efb7ae7e9e9d0573257a46e8e952f4d4caba4f31e"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:811ea1594b8a0fb466172c384267a4e5e367298af6b228931f273b111f17ef52"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cf12567a7b565cbf65d438dec6cfbe2917d3c1bdddfce84a9930b7d35ea59642"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:7dd5adc8b930b12c8fc5b99e2d535a09889941aa0d0bd06f4749e9a9397c71d2"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1492a6051dab8d912fc2adeef0e8c72216b24d57bd896ea607cb90bb0c4981d3"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win32.whl", hash = "sha256:bd0a08f0bab19093c54e18a14a10b4322e1eacc5217056f3c063bd2f59853ce4"}, + {file = "ruamel.yaml.clib-0.2.12-cp311-cp311-win_amd64.whl", hash = "sha256:a274fb2cb086c7a3dea4322ec27f4cb5cc4b6298adb583ab0e211a4682f241eb"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:20b0f8dc160ba83b6dcc0e256846e1a02d044e13f7ea74a3d1d56ede4e48c632"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:943f32bc9dedb3abff9879edc134901df92cfce2c3d5c9348f172f62eb2d771d"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c3829bb364fdb8e0332c9931ecf57d9be3519241323c5274bd82f709cebc0c"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:749c16fcc4a2b09f28843cda5a193e0283e47454b63ec4b81eaa2242f50e4ccd"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:32621c177bbf782ca5a18ba4d7af0f1082a3f6e517ac2a18b3974d4edf349680"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win32.whl", hash = "sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5"}, + {file = "ruamel.yaml.clib-0.2.12-cp312-cp312-win_amd64.whl", hash = "sha256:0467c5965282c62203273b838ae77c0d29d7638c8a4e3a1c8bdd3602c10904e4"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:4c8c5d82f50bb53986a5e02d1b3092b03622c02c2eb78e29bec33fd9593bae1a"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux2014_aarch64.whl", hash = "sha256:e7e3736715fbf53e9be2a79eb4db68e4ed857017344d697e8b9749444ae57475"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b7e75b4965e1d4690e93021adfcecccbca7d61c7bddd8e22406ef2ff20d74ef"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:96777d473c05ee3e5e3c3e999f5d23c6f4ec5b0c38c098b3a5229085f74236c6"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:3bc2a80e6420ca8b7d3590791e2dfc709c88ab9152c00eeb511c9875ce5778bf"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:e188d2699864c11c36cdfdada94d781fd5d6b0071cd9c427bceb08ad3d7c70e1"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4f6f3eac23941b32afccc23081e1f50612bdbe4e982012ef4f5797986828cd01"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win32.whl", hash = "sha256:6442cb36270b3afb1b4951f060eccca1ce49f3d087ca1ca4563a6eb479cb3de6"}, + {file = "ruamel.yaml.clib-0.2.12-cp313-cp313-win_amd64.whl", hash = "sha256:e5b8daf27af0b90da7bb903a876477a9e6d7270be6146906b276605997c7e9a3"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:fc4b630cd3fa2cf7fce38afa91d7cfe844a9f75d7f0f36393fa98815e911d987"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:bc5f1e1c28e966d61d2519f2a3d451ba989f9ea0f2307de7bc45baa526de9e45"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5a0e060aace4c24dcaf71023bbd7d42674e3b230f7e7b97317baf1e953e5b519"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2f1c3765db32be59d18ab3953f43ab62a761327aafc1594a2a1fbe038b8b8a7"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:d85252669dc32f98ebcd5d36768f5d4faeaeaa2d655ac0473be490ecdae3c285"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:e143ada795c341b56de9418c58d028989093ee611aa27ffb9b7f609c00d813ed"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2c59aa6170b990d8d2719323e628aaf36f3bfbc1c26279c0eeeb24d05d2d11c7"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win32.whl", hash = "sha256:beffaed67936fbbeffd10966a4eb53c402fafd3d6833770516bf7314bc6ffa12"}, + {file = "ruamel.yaml.clib-0.2.12-cp39-cp39-win_amd64.whl", hash = "sha256:040ae85536960525ea62868b642bdb0c2cc6021c9f9d507810c0c604e66f5a7b"}, + {file = "ruamel.yaml.clib-0.2.12.tar.gz", hash = "sha256:6c8fbb13ec503f99a91901ab46e0b07ae7941cd527393187039aec586fdfd36f"}, ] [[package]] name = "setuptools" -version = "67.6.1" +version = "75.6.0" description = "Easily download, build, install, upgrade, and uninstall Python packages" -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "setuptools-67.6.1-py3-none-any.whl", hash = "sha256:e728ca814a823bf7bf60162daf9db95b93d532948c4c0bea762ce62f60189078"}, - {file = "setuptools-67.6.1.tar.gz", hash = "sha256:257de92a9d50a60b8e22abfcbb771571fde0dbf3ec234463212027a4eeecbe9a"}, + {file = "setuptools-75.6.0-py3-none-any.whl", hash = "sha256:ce74b49e8f7110f9bf04883b730f4765b774ef3ef28f722cce7c273d253aaf7d"}, + {file = "setuptools-75.6.0.tar.gz", hash = "sha256:8199222558df7c86216af4f84c30e9b34a61d8ba19366cc914424cdbd28252f6"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-hoverxref (<2)", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (==0.8.3)", "sphinx-reredirects", "sphinxcontrib-towncrier"] -testing = ["build[virtualenv]", "filelock (>=3.4.0)", "flake8 (<5)", "flake8-2020", "ini2toml[lite] (>=0.9)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pip (>=19.1)", "pip-run (>=8.8)", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)", "pytest-perf", "pytest-timeout", "pytest-xdist", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel"] -testing-integration = ["build[virtualenv]", "filelock (>=3.4.0)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "pytest", "pytest-enabler", "pytest-xdist", "tomli", "virtualenv (>=13.0.0)", "wheel"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)", "ruff (>=0.7.0)"] +core = ["importlib_metadata (>=6)", "jaraco.collections", "jaraco.functools (>=4)", "jaraco.text (>=3.7)", "more_itertools", "more_itertools (>=8.8)", "packaging", "packaging (>=24.2)", "platformdirs (>=4.2.2)", "tomli (>=2.0.1)", "wheel (>=0.43.0)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "pygments-github-lexers (==0.0.5)", "pyproject-hooks (!=1.1)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-favicon", "sphinx-inline-tabs", "sphinx-lint", "sphinx-notfound-page (>=1,<2)", "sphinx-reredirects", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] +type = ["importlib_metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] [[package]] name = "shexjsg" version = "0.8.2" description = "ShExJSG - Astract Syntax Tree for the ShEx 2.0 language" -category = "dev" optional = false python-versions = "*" files = [ @@ -1634,21 +1892,19 @@ pyjsg = ">=0.11.10" [[package]] name = "six" -version = "1.16.0" +version = "1.17.0" description = "Python 2 and 3 compatibility utilities" -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*" +python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ - {file = "six-1.16.0-py2.py3-none-any.whl", hash = "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"}, - {file = "six-1.16.0.tar.gz", hash = "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926"}, + {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, + {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] name = "sortedcontainers" version = "2.4.0" description = "Sorted Containers -- Sorted List, Sorted Dict, Sorted Set" -category = "main" optional = false python-versions = "*" files = [ @@ -1658,21 +1914,19 @@ files = [ [[package]] name = "soupsieve" -version = "2.4" +version = "2.6" description = "A modern CSS selector implementation for Beautiful Soup." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "soupsieve-2.4-py3-none-any.whl", hash = "sha256:49e5368c2cda80ee7e84da9dbe3e110b70a4575f196efb74e51b94549d921955"}, - {file = "soupsieve-2.4.tar.gz", hash = "sha256:e28dba9ca6c7c00173e34e4ba57448f0688bb681b7c5e8bf4971daafc093d69a"}, + {file = "soupsieve-2.6-py3-none-any.whl", hash = "sha256:e72c4ff06e4fb6e4b5a9f0f55fe6e81514581fca1515028625d0f299c602ccc9"}, + {file = "soupsieve-2.6.tar.gz", hash = "sha256:e2e68417777af359ec65daac1057404a3c8a5455bb8abc36f1a9866ab1a51abb"}, ] [[package]] name = "sparqlslurper" version = "0.5.1" description = "SPARQL Slurper for rdflib" -category = "dev" optional = false python-versions = ">=3.7.4" files = [ @@ -1689,7 +1943,6 @@ sparqlwrapper = ">=1.8.2" name = "sparqlwrapper" version = "2.0.0" description = "SPARQL Endpoint interface to Python" -category = "dev" optional = false python-versions = ">=3.7" files = [ @@ -1708,72 +1961,88 @@ pandas = ["pandas (>=1.3.5)"] [[package]] name = "sqlalchemy" -version = "2.0.7" +version = "2.0.36" description = "Database Abstraction Library" -category = "dev" optional = false python-versions = ">=3.7" files = [ - {file = "SQLAlchemy-2.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:7917632606fc5d4be661dcde45cc415df835e594e2c50cc999a44f24b6bf6d92"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:32f508fef9c5a7d19411d94ef64cf5405e42c4689e51ddbb81ac9a7be045cce8"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0995b92612979d208189245bf87349ad9243b97b49652347a28ddee0803225a"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cebd161f964af58290596523c65e41a5a161a99f7212b1ae675e288a4b5e0a7c"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:c38641f5c3714505d65dbbd8fb1350408b9ad8461769ec8e440e1177f9c92d1d"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:921485d1f69ed016e1f756de67d02ad4f143eb6b92b9776bfff78786d8978ab5"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-win32.whl", hash = "sha256:a65a8fd09bdffd63fa23b39cd902e6a4ca23d86ecfe129513e43767a1f3e91fb"}, - {file = "SQLAlchemy-2.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:d2e7411d5ea164c6f4d003f5d4f5e72e202956aaa7496b95bb4a4c39669e001c"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:432cfd77642771ee7ea0dd0f3fb664f18506a3625eab6e6d5d1d771569171270"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ce076e25f1170000b4ecdc57a1ff8a70dbe4a5648ec3da0563ef3064e8db4f15"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:14854bdb2a35af536d14f77dfa8dbc20e1bb1972996d64c4147e0d3165c9aaf5"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9020125e3be677c64d4dda7048e247343f1663089cf268a4cc98c957adb7dbe0"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fb649c5473f79c9a7b6133f53a31f4d87de14755c79224007eb7ec76e628551e"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:33f73cc45ffa050f5c3b60ff4490e0ae9e02701461c1600d5ede1b008076b1b9"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-win32.whl", hash = "sha256:0789e199fbce8cb1775337afc631ed12bcc5463dd77d7a06b8dafd758cde51f8"}, - {file = "SQLAlchemy-2.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:013f4f330001e84a2b0ef1f2c9bd73169c79d582e54e1a144be1be1dbc911711"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4339110be209fea37a2bb4f35f1127c7562a0393e9e6df5d9a65cc4f5c167cb6"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e7e61e2e4dfe175dc3510889e44eda1c32f55870d6950ef40519640cb266704d"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d44ff7573016fc26311b5a5c54d5656fb9e0c39e138bc8b81cb7c8667485203"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:57b80e877eb6ec63295835f8a3b86ca3a44829f80c4748e1b019e03adea550fc"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:e90f0be674e0845c5c1ccfa5e31c9ee28fd406546a61afc734355cc7ea1f8f8b"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-win32.whl", hash = "sha256:e735a635126b2338dfd3a0863b675437cb53d85885a7602b8cffb24345df33ed"}, - {file = "SQLAlchemy-2.0.7-cp37-cp37m-win_amd64.whl", hash = "sha256:ea1c63e61b5c13161c8468305f0a5837c80aae2070e33654c68dd12572b638eb"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cc337b96ec59ef29907eeadc2ac11188739281568f14c719e61550ca6d201a41"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:0eac488be90dd3f7a655d2e34fa59e1305fccabc4abfbd002e3a72ae10bd2f89"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b8ab8f90f4a13c979e6c41c9f011b655c1b9ae2df6cffa8fa2c7c4d740f3512e"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bc370d53fee7408330099c4bcc2573a107757b203bc61f114467dfe586a0c7bd"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:494db0026918e3f707466a1200a5dedbf254a4bce01a3115fd95f04ba8258f09"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:486015a58c9a67f65a15b4f19468b35b97cee074ae55386a9c240f1da308fbfe"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-win32.whl", hash = "sha256:5f7c40ec2e3b31293184020daba95850832bea523a08496ac89b27a5276ec804"}, - {file = "SQLAlchemy-2.0.7-cp38-cp38-win_amd64.whl", hash = "sha256:3da3dff8d9833a7d7f66a3c45a79a3955f775c79f47bb7eea266d0b4c267b17a"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:774965c41b71c8ebe3c5728bf5b9a948231fc3a0422d9fdace0686f5bb689ad6"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:94556a2a7fc3de094ea056b62845e2e6e271e26d1e1b2540a1cd2d2506257a10"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f15c54713a8dd57a01c974c9f96476688f6f6374d348819ed7e459535844b614"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea9461f6955f3cf9eff6eeec271686caed7792c76f5b966886a36a42ea46e6b2"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:18795e87601b4244fd08b542cd6bff9ef674b17bcd34e4a3c9935398e2cc762c"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0b698440c477c00bdedff87348b19a79630a235864a8f4378098d61079c16ce9"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-win32.whl", hash = "sha256:38e26cf6b9b4c6c37846f7e31b42e4d664b35f055691265f07e06aeb6167c494"}, - {file = "SQLAlchemy-2.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:a6f7d1debb233f1567d700ebcdde0781a0b63db0ef266246dfbf75ae41bfdf85"}, - {file = "SQLAlchemy-2.0.7-py3-none-any.whl", hash = "sha256:fc67667c8e8c04e5c3250ab2cd51df40bc7c28c7c253d0475b377eff86fe4bb0"}, - {file = "SQLAlchemy-2.0.7.tar.gz", hash = "sha256:a4c1e1582492c66dfacc9eab52738f3e64d9a2a380e412668f75aa06e540f649"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:59b8f3adb3971929a3e660337f5dacc5942c2cdb760afcabb2614ffbda9f9f72"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:37350015056a553e442ff672c2d20e6f4b6d0b2495691fa239d8aa18bb3bc908"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8318f4776c85abc3f40ab185e388bee7a6ea99e7fa3a30686580b209eaa35c08"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c245b1fbade9c35e5bd3b64270ab49ce990369018289ecfde3f9c318411aaa07"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:69f93723edbca7342624d09f6704e7126b152eaed3cdbb634cb657a54332a3c5"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f9511d8dd4a6e9271d07d150fb2f81874a3c8c95e11ff9af3a2dfc35fe42ee44"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-win32.whl", hash = "sha256:c3f3631693003d8e585d4200730616b78fafd5a01ef8b698f6967da5c605b3fa"}, + {file = "SQLAlchemy-2.0.36-cp310-cp310-win_amd64.whl", hash = "sha256:a86bfab2ef46d63300c0f06936bd6e6c0105faa11d509083ba8f2f9d237fb5b5"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:fd3a55deef00f689ce931d4d1b23fa9f04c880a48ee97af488fd215cf24e2a6c"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4f5e9cd989b45b73bd359f693b935364f7e1f79486e29015813c338450aa5a71"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d0ddd9db6e59c44875211bc4c7953a9f6638b937b0a88ae6d09eb46cced54eff"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2519f3a5d0517fc159afab1015e54bb81b4406c278749779be57a569d8d1bb0d"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:59b1ee96617135f6e1d6f275bbe988f419c5178016f3d41d3c0abb0c819f75bb"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:39769a115f730d683b0eb7b694db9789267bcd027326cccc3125e862eb03bfd8"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-win32.whl", hash = "sha256:66bffbad8d6271bb1cc2f9a4ea4f86f80fe5e2e3e501a5ae2a3dc6a76e604e6f"}, + {file = "SQLAlchemy-2.0.36-cp311-cp311-win_amd64.whl", hash = "sha256:23623166bfefe1487d81b698c423f8678e80df8b54614c2bf4b4cfcd7c711959"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7b64e6ec3f02c35647be6b4851008b26cff592a95ecb13b6788a54ef80bbdd4"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:46331b00096a6db1fdc052d55b101dbbfc99155a548e20a0e4a8e5e4d1362855"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fdf3386a801ea5aba17c6410dd1dc8d39cf454ca2565541b5ac42a84e1e28f53"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac9dfa18ff2a67b09b372d5db8743c27966abf0e5344c555d86cc7199f7ad83a"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:90812a8933df713fdf748b355527e3af257a11e415b613dd794512461eb8a686"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1bc330d9d29c7f06f003ab10e1eaced295e87940405afe1b110f2eb93a233588"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-win32.whl", hash = "sha256:79d2e78abc26d871875b419e1fd3c0bca31a1cb0043277d0d850014599626c2e"}, + {file = "SQLAlchemy-2.0.36-cp312-cp312-win_amd64.whl", hash = "sha256:b544ad1935a8541d177cb402948b94e871067656b3a0b9e91dbec136b06a2ff5"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b5cc79df7f4bc3d11e4b542596c03826063092611e481fcf1c9dfee3c94355ef"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3c01117dd36800f2ecaa238c65365b7b16497adc1522bf84906e5710ee9ba0e8"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9bc633f4ee4b4c46e7adcb3a9b5ec083bf1d9a97c1d3854b92749d935de40b9b"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e46ed38affdfc95d2c958de328d037d87801cfcbea6d421000859e9789e61c2"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b2985c0b06e989c043f1dc09d4fe89e1616aadd35392aea2844f0458a989eacf"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a121d62ebe7d26fec9155f83f8be5189ef1405f5973ea4874a26fab9f1e262c"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-win32.whl", hash = "sha256:0572f4bd6f94752167adfd7c1bed84f4b240ee6203a95e05d1e208d488d0d436"}, + {file = "SQLAlchemy-2.0.36-cp313-cp313-win_amd64.whl", hash = "sha256:8c78ac40bde930c60e0f78b3cd184c580f89456dd87fc08f9e3ee3ce8765ce88"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:be9812b766cad94a25bc63bec11f88c4ad3629a0cec1cd5d4ba48dc23860486b"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50aae840ebbd6cdd41af1c14590e5741665e5272d2fee999306673a1bb1fdb4d"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4557e1f11c5f653ebfdd924f3f9d5ebfc718283b0b9beebaa5dd6b77ec290971"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:07b441f7d03b9a66299ce7ccf3ef2900abc81c0db434f42a5694a37bd73870f2"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:28120ef39c92c2dd60f2721af9328479516844c6b550b077ca450c7d7dc68575"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-win32.whl", hash = "sha256:b81ee3d84803fd42d0b154cb6892ae57ea6b7c55d8359a02379965706c7efe6c"}, + {file = "SQLAlchemy-2.0.36-cp37-cp37m-win_amd64.whl", hash = "sha256:f942a799516184c855e1a32fbc7b29d7e571b52612647866d4ec1c3242578fcb"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:3d6718667da04294d7df1670d70eeddd414f313738d20a6f1d1f379e3139a545"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:72c28b84b174ce8af8504ca28ae9347d317f9dba3999e5981a3cd441f3712e24"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b11d0cfdd2b095e7b0686cf5fabeb9c67fae5b06d265d8180715b8cfa86522e3"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e32092c47011d113dc01ab3e1d3ce9f006a47223b18422c5c0d150af13a00687"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:6a440293d802d3011028e14e4226da1434b373cbaf4a4bbb63f845761a708346"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c54a1e53a0c308a8e8a7dffb59097bff7facda27c70c286f005327f21b2bd6b1"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-win32.whl", hash = "sha256:1e0d612a17581b6616ff03c8e3d5eff7452f34655c901f75d62bd86449d9750e"}, + {file = "SQLAlchemy-2.0.36-cp38-cp38-win_amd64.whl", hash = "sha256:8958b10490125124463095bbdadda5aa22ec799f91958e410438ad6c97a7b793"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:dc022184d3e5cacc9579e41805a681187650e170eb2fd70e28b86192a479dcaa"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b817d41d692bf286abc181f8af476c4fbef3fd05e798777492618378448ee689"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a4e46a888b54be23d03a89be510f24a7652fe6ff660787b96cd0e57a4ebcb46d"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c4ae3005ed83f5967f961fd091f2f8c5329161f69ce8480aa8168b2d7fe37f06"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:03e08af7a5f9386a43919eda9de33ffda16b44eb11f3b313e6822243770e9763"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:3dbb986bad3ed5ceaf090200eba750b5245150bd97d3e67343a3cfed06feecf7"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-win32.whl", hash = "sha256:9fe53b404f24789b5ea9003fc25b9a3988feddebd7e7b369c8fac27ad6f52f28"}, + {file = "SQLAlchemy-2.0.36-cp39-cp39-win_amd64.whl", hash = "sha256:af148a33ff0349f53512a049c6406923e4e02bf2f26c5fb285f143faf4f0e46a"}, + {file = "SQLAlchemy-2.0.36-py3-none-any.whl", hash = "sha256:fddbe92b4760c6f5d48162aef14824add991aeda8ddadb3c31d56eb15ca69f8e"}, + {file = "sqlalchemy-2.0.36.tar.gz", hash = "sha256:7f2767680b6d2398aea7082e45a774b2b0767b5c8d8ffb9c8b683088ea9b29c5"}, ] [package.dependencies] -greenlet = {version = "!=0.4.17", markers = "platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\""} -typing-extensions = ">=4.2.0" +greenlet = {version = "!=0.4.17", markers = "python_version < \"3.13\" and (platform_machine == \"aarch64\" or platform_machine == \"ppc64le\" or platform_machine == \"x86_64\" or platform_machine == \"amd64\" or platform_machine == \"AMD64\" or platform_machine == \"win32\" or platform_machine == \"WIN32\")"} +typing-extensions = ">=4.6.0" [package.extras] -aiomysql = ["aiomysql", "greenlet (!=0.4.17)"] -aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing-extensions (!=3.10.0.1)"] +aiomysql = ["aiomysql (>=0.2.0)", "greenlet (!=0.4.17)"] +aioodbc = ["aioodbc", "greenlet (!=0.4.17)"] +aiosqlite = ["aiosqlite", "greenlet (!=0.4.17)", "typing_extensions (!=3.10.0.1)"] asyncio = ["greenlet (!=0.4.17)"] asyncmy = ["asyncmy (>=0.2.3,!=0.2.4,!=0.2.6)", "greenlet (!=0.4.17)"] -mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5)"] +mariadb-connector = ["mariadb (>=1.0.1,!=1.1.2,!=1.1.5,!=1.1.10)"] mssql = ["pyodbc"] mssql-pymssql = ["pymssql"] mssql-pyodbc = ["pyodbc"] mypy = ["mypy (>=0.910)"] mysql = ["mysqlclient (>=1.4.0)"] mysql-connector = ["mysql-connector-python"] -oracle = ["cx-oracle (>=7)"] +oracle = ["cx_oracle (>=8)"] oracle-oracledb = ["oracledb (>=1.0.1)"] postgresql = ["psycopg2 (>=2.7)"] postgresql-asyncpg = ["asyncpg", "greenlet (!=0.4.17)"] @@ -1781,70 +2050,108 @@ postgresql-pg8000 = ["pg8000 (>=1.29.1)"] postgresql-psycopg = ["psycopg (>=3.0.7)"] postgresql-psycopg2binary = ["psycopg2-binary"] postgresql-psycopg2cffi = ["psycopg2cffi"] +postgresql-psycopgbinary = ["psycopg[binary] (>=3.0.7)"] pymysql = ["pymysql"] -sqlcipher = ["sqlcipher3-binary"] +sqlcipher = ["sqlcipher3_binary"] [[package]] name = "tomli" -version = "2.0.1" +version = "2.2.1" description = "A lil' TOML parser" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" +files = [ + {file = "tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249"}, + {file = "tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee"}, + {file = "tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106"}, + {file = "tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8"}, + {file = "tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff"}, + {file = "tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea"}, + {file = "tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222"}, + {file = "tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd"}, + {file = "tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e"}, + {file = "tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98"}, + {file = "tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7"}, + {file = "tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281"}, + {file = "tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2"}, + {file = "tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744"}, + {file = "tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec"}, + {file = "tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69"}, + {file = "tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc"}, + {file = "tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff"}, +] + +[[package]] +name = "types-python-dateutil" +version = "2.9.0.20241206" +description = "Typing stubs for python-dateutil" +optional = false +python-versions = ">=3.8" files = [ - {file = "tomli-2.0.1-py3-none-any.whl", hash = "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc"}, - {file = "tomli-2.0.1.tar.gz", hash = "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f"}, + {file = "types_python_dateutil-2.9.0.20241206-py3-none-any.whl", hash = "sha256:e248a4bc70a486d3e3ec84d0dc30eec3a5f979d6e7ee4123ae043eedbb987f53"}, + {file = "types_python_dateutil-2.9.0.20241206.tar.gz", hash = "sha256:18f493414c26ffba692a72369fea7a154c502646301ebfe3d56a04b3767284cb"}, ] [[package]] name = "typing-extensions" -version = "4.5.0" -description = "Backported and Experimental Type Hints for Python 3.7+" -category = "main" +version = "4.12.2" +description = "Backported and Experimental Type Hints for Python 3.8+" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "typing_extensions-4.5.0-py3-none-any.whl", hash = "sha256:fb33085c39dd998ac16d1431ebc293a8b3eedd00fd4a32de0ff79002c19511b4"}, - {file = "typing_extensions-4.5.0.tar.gz", hash = "sha256:5cb5f4a79139d699607b3ef622a1dedafa84e115ab0024e0d9c044a9479ca7cb"}, + {file = "typing_extensions-4.12.2-py3-none-any.whl", hash = "sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d"}, + {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] [[package]] name = "uri-template" -version = "1.2.0" +version = "1.3.0" description = "RFC 6570 URI Template Processor" -category = "dev" optional = false -python-versions = ">=3.6" +python-versions = ">=3.7" files = [ - {file = "uri_template-1.2.0-py3-none-any.whl", hash = "sha256:f1699c77b73b925cf4937eae31ab282a86dc885c333f2e942513f08f691fc7db"}, - {file = "uri_template-1.2.0.tar.gz", hash = "sha256:934e4d09d108b70eb8a24410af8615294d09d279ce0e7cbcdaef1bd21f932b06"}, + {file = "uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7"}, + {file = "uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363"}, ] [package.extras] -dev = ["flake8 (<4.0.0)", "flake8-annotations", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-noqa", "flake8-requirements", "flake8-type-annotations", "flake8-use-fstring", "mypy", "pep8-naming"] +dev = ["flake8", "flake8-annotations", "flake8-bandit", "flake8-bugbear", "flake8-commas", "flake8-comprehensions", "flake8-continuation", "flake8-datetimez", "flake8-docstrings", "flake8-import-order", "flake8-literal", "flake8-modern-annotations", "flake8-noqa", "flake8-pyproject", "flake8-requirements", "flake8-typechecking-import", "flake8-use-fstring", "mypy", "pep8-naming", "types-PyYAML"] [[package]] name = "urllib3" -version = "1.26.15" +version = "2.3.0" description = "HTTP library with thread-safe connection pooling, file post, and more." -category = "main" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*" +python-versions = ">=3.9" files = [ - {file = "urllib3-1.26.15-py2.py3-none-any.whl", hash = "sha256:aa751d169e23c7479ce47a0cb0da579e3ede798f994f5816a74e4f4500dcea42"}, - {file = "urllib3-1.26.15.tar.gz", hash = "sha256:8a388717b9476f934a21484e8c8e61875ab60644d29b9b39e11e4b9dc1c6b305"}, + {file = "urllib3-2.3.0-py3-none-any.whl", hash = "sha256:1cee9ad369867bfdbbb48b7dd50374c0967a0bb7710050facf0dd6911440e3df"}, + {file = "urllib3-2.3.0.tar.gz", hash = "sha256:f8c5449b3cf0861679ce7e0503c7b44b5ec981bec0d1d3795a07f1ba96f0204d"}, ] [package.extras] -brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)", "brotlipy (>=0.6.0)"] -secure = ["certifi", "cryptography (>=1.3.4)", "idna (>=2.0.0)", "ipaddress", "pyOpenSSL (>=0.14)", "urllib3-secure-extra"] -socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] +brotli = ["brotli (>=1.0.9)", "brotlicffi (>=0.8.0)"] +h2 = ["h2 (>=4,<5)"] +socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] +zstd = ["zstandard (>=0.18.0)"] [[package]] name = "verspec" version = "0.1.0" description = "Flexible version handling" -category = "dev" optional = false python-versions = "*" files = [ @@ -1857,39 +2164,41 @@ test = ["coverage", "flake8 (>=3.7)", "mypy", "pretend", "pytest"] [[package]] name = "watchdog" -version = "3.0.0" +version = "6.0.0" description = "Filesystem events monitoring" -category = "dev" optional = false -python-versions = ">=3.7" -files = [ - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:336adfc6f5cc4e037d52db31194f7581ff744b67382eb6021c868322e32eef41"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:a70a8dcde91be523c35b2bf96196edc5730edb347e374c7de7cd20c43ed95397"}, - {file = "watchdog-3.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:adfdeab2da79ea2f76f87eb42a3ab1966a5313e5a69a0213a3cc06ef692b0e96"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2b57a1e730af3156d13b7fdddfc23dea6487fceca29fc75c5a868beed29177ae"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7ade88d0d778b1b222adebcc0927428f883db07017618a5e684fd03b83342bd9"}, - {file = "watchdog-3.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7e447d172af52ad204d19982739aa2346245cc5ba6f579d16dac4bfec226d2e7"}, - {file = "watchdog-3.0.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9fac43a7466eb73e64a9940ac9ed6369baa39b3bf221ae23493a9ec4d0022674"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8ae9cda41fa114e28faf86cb137d751a17ffd0316d1c34ccf2235e8a84365c7f"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:25f70b4aa53bd743729c7475d7ec41093a580528b100e9a8c5b5efe8899592fc"}, - {file = "watchdog-3.0.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4f94069eb16657d2c6faada4624c39464f65c05606af50bb7902e036e3219be3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7c5f84b5194c24dd573fa6472685b2a27cc5a17fe5f7b6fd40345378ca6812e3"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa7f6a12e831ddfe78cdd4f8996af9cf334fd6346531b16cec61c3b3c0d8da0"}, - {file = "watchdog-3.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:233b5817932685d39a7896b1090353fc8efc1ef99c9c054e46c8002561252fb8"}, - {file = "watchdog-3.0.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:13bbbb462ee42ec3c5723e1205be8ced776f05b100e4737518c67c8325cf6100"}, - {file = "watchdog-3.0.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:8f3ceecd20d71067c7fd4c9e832d4e22584318983cabc013dbf3f70ea95de346"}, - {file = "watchdog-3.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:c9d8c8ec7efb887333cf71e328e39cffbf771d8f8f95d308ea4125bf5f90ba64"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:0e06ab8858a76e1219e68c7573dfeba9dd1c0219476c5a44d5333b01d7e1743a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:d00e6be486affb5781468457b21a6cbe848c33ef43f9ea4a73b4882e5f188a44"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:c07253088265c363d1ddf4b3cdb808d59a0468ecd017770ed716991620b8f77a"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:5113334cf8cf0ac8cd45e1f8309a603291b614191c9add34d33075727a967709"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:51f90f73b4697bac9c9a78394c3acbbd331ccd3655c11be1a15ae6fe289a8c83"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:ba07e92756c97e3aca0912b5cbc4e5ad802f4557212788e72a72a47ff376950d"}, - {file = "watchdog-3.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:d429c2430c93b7903914e4db9a966c7f2b068dd2ebdd2fa9b9ce094c7d459f33"}, - {file = "watchdog-3.0.0-py3-none-win32.whl", hash = "sha256:3ed7c71a9dccfe838c2f0b6314ed0d9b22e77d268c67e015450a29036a81f60f"}, - {file = "watchdog-3.0.0-py3-none-win_amd64.whl", hash = "sha256:4c9956d27be0bb08fc5f30d9d0179a855436e655f046d288e2bcc11adfae893c"}, - {file = "watchdog-3.0.0-py3-none-win_ia64.whl", hash = "sha256:5d9f3a10e02d7371cd929b5d8f11e87d4bad890212ed3901f9b4d68767bee759"}, - {file = "watchdog-3.0.0.tar.gz", hash = "sha256:4d98a320595da7a7c5a18fc48cb633c2e73cda78f93cac2ef42d42bf609a33f9"}, +python-versions = ">=3.9" +files = [ + {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d1cdb490583ebd691c012b3d6dae011000fe42edb7a82ece80965b42abd61f26"}, + {file = "watchdog-6.0.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bc64ab3bdb6a04d69d4023b29422170b74681784ffb9463ed4870cf2f3e66112"}, + {file = "watchdog-6.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c897ac1b55c5a1461e16dae288d22bb2e412ba9807df8397a635d88f671d36c3"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6eb11feb5a0d452ee41f824e271ca311a09e250441c262ca2fd7ebcf2461a06c"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2"}, + {file = "watchdog-6.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:afd0fe1b2270917c5e23c2a65ce50c2a4abb63daafb0d419fde368e272a76b7c"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdd4e6f14b8b18c334febb9c4425a878a2ac20efd1e0b231978e7b150f92a948"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c7c15dda13c4eb00d6fb6fc508b3c0ed88b9d5d374056b239c4ad1611125c860"}, + {file = "watchdog-6.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6f10cb2d5902447c7d0da897e2c6768bca89174d0c6e1e30abec5421af97a5b0"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:490ab2ef84f11129844c23fb14ecf30ef3d8a6abafd3754a6f75ca1e6654136c"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:76aae96b00ae814b181bb25b1b98076d5fc84e8a53cd8885a318b42b6d3a5134"}, + {file = "watchdog-6.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a175f755fc2279e0b7312c0035d52e27211a5bc39719dd529625b1930917345b"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:90c8e78f3b94014f7aaae121e6b909674df5b46ec24d6bebc45c44c56729af2a"}, + {file = "watchdog-6.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c"}, + {file = "watchdog-6.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:c7ac31a19f4545dd92fc25d200694098f42c9a8e391bc00bdd362c5736dbf881"}, + {file = "watchdog-6.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:9513f27a1a582d9808cf21a07dae516f0fab1cf2d7683a742c498b93eedabb11"}, + {file = "watchdog-6.0.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7a0e56874cfbc4b9b05c60c8a1926fedf56324bb08cfbc188969777940aef3aa"}, + {file = "watchdog-6.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e6439e374fc012255b4ec786ae3c4bc838cd7309a540e5fe0952d03687d8804e"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7607498efa04a3542ae3e05e64da8202e58159aa1fa4acddf7678d34a35d4f13"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_armv7l.whl", hash = "sha256:9041567ee8953024c83343288ccc458fd0a2d811d6a0fd68c4c22609e3490379"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_i686.whl", hash = "sha256:82dc3e3143c7e38ec49d61af98d6558288c415eac98486a5c581726e0737c00e"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_ppc64.whl", hash = "sha256:212ac9b8bf1161dc91bd09c048048a95ca3a4c4f5e5d4a7d1b1a7d5752a7f96f"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:e3df4cbb9a450c6d49318f6d14f4bbc80d763fa587ba46ec86f99f9e6876bb26"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:2cce7cfc2008eb51feb6aab51251fd79b85d9894e98ba847408f662b3395ca3c"}, + {file = "watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:20ffe5b202af80ab4266dcd3e91aae72bf2da48c0d33bdb15c66658e685e94e2"}, + {file = "watchdog-6.0.0-py3-none-win32.whl", hash = "sha256:07df1fdd701c5d4c8e55ef6cf55b8f0120fe1aef7ef39a1c6fc6bc2e606d517a"}, + {file = "watchdog-6.0.0-py3-none-win_amd64.whl", hash = "sha256:cbafb470cf848d93b5d013e2ecb245d4aa1c8fd0504e863ccefa32445359d680"}, + {file = "watchdog-6.0.0-py3-none-win_ia64.whl", hash = "sha256:a1914259fa9e1454315171103c6a30961236f508b9b623eae470268bbcc6a22f"}, + {file = "watchdog-6.0.0.tar.gz", hash = "sha256:9ddf7c82fda3ae8e24decda1338ede66e1c99883db93711d8fb941eaa2d8c282"}, ] [package.extras] @@ -1897,115 +2206,98 @@ watchmedo = ["PyYAML (>=3.10)"] [[package]] name = "webcolors" -version = "1.13" +version = "24.11.1" description = "A library for working with the color formats defined by HTML and CSS." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "webcolors-1.13-py3-none-any.whl", hash = "sha256:29bc7e8752c0a1bd4a1f03c14d6e6a72e93d82193738fa860cbff59d0fcc11bf"}, - {file = "webcolors-1.13.tar.gz", hash = "sha256:c225b674c83fa923be93d235330ce0300373d02885cef23238813b0d5668304a"}, + {file = "webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9"}, + {file = "webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6"}, ] -[package.extras] -docs = ["furo", "sphinx", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-notfound-page", "sphinxext-opengraph"] -tests = ["pytest", "pytest-cov"] - [[package]] name = "wrapt" -version = "1.15.0" +version = "1.17.0" description = "Module for decorators, wrappers and monkey patching." -category = "main" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,>=2.7" -files = [ - {file = "wrapt-1.15.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:ca1cccf838cd28d5a0883b342474c630ac48cac5df0ee6eacc9c7290f76b11c1"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_i686.whl", hash = "sha256:e826aadda3cae59295b95343db8f3d965fb31059da7de01ee8d1c40a60398b29"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux1_x86_64.whl", hash = "sha256:5fc8e02f5984a55d2c653f5fea93531e9836abbd84342c1d1e17abc4a15084c2"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:96e25c8603a155559231c19c0349245eeb4ac0096fe3c1d0be5c47e075bd4f46"}, - {file = "wrapt-1.15.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:40737a081d7497efea35ab9304b829b857f21558acfc7b3272f908d33b0d9d4c"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_i686.whl", hash = "sha256:f87ec75864c37c4c6cb908d282e1969e79763e0d9becdfe9fe5473b7bb1e5f09"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux1_x86_64.whl", hash = "sha256:1286eb30261894e4c70d124d44b7fd07825340869945c79d05bda53a40caa079"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:493d389a2b63c88ad56cdc35d0fa5752daac56ca755805b1b0c530f785767d5e"}, - {file = "wrapt-1.15.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:58d7a75d731e8c63614222bcb21dd992b4ab01a399f1f09dd82af17bbfc2368a"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:21f6d9a0d5b3a207cdf7acf8e58d7d13d463e639f0c7e01d82cdb671e6cb7923"}, - {file = "wrapt-1.15.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ce42618f67741d4697684e501ef02f29e758a123aa2d669e2d964ff734ee00ee"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:41d07d029dd4157ae27beab04d22b8e261eddfc6ecd64ff7000b10dc8b3a5727"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:54accd4b8bc202966bafafd16e69da9d5640ff92389d33d28555c5fd4f25ccb7"}, - {file = "wrapt-1.15.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fbfbca668dd15b744418265a9607baa970c347eefd0db6a518aaf0cfbd153c0"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:76e9c727a874b4856d11a32fb0b389afc61ce8aaf281ada613713ddeadd1cfec"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e20076a211cd6f9b44a6be58f7eeafa7ab5720eb796975d0c03f05b47d89eb90"}, - {file = "wrapt-1.15.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a74d56552ddbde46c246b5b89199cb3fd182f9c346c784e1a93e4dc3f5ec9975"}, - {file = "wrapt-1.15.0-cp310-cp310-win32.whl", hash = "sha256:26458da5653aa5b3d8dc8b24192f574a58984c749401f98fff994d41d3f08da1"}, - {file = "wrapt-1.15.0-cp310-cp310-win_amd64.whl", hash = "sha256:75760a47c06b5974aa5e01949bf7e66d2af4d08cb8c1d6516af5e39595397f5e"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ba1711cda2d30634a7e452fc79eabcadaffedf241ff206db2ee93dd2c89a60e7"}, - {file = "wrapt-1.15.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56374914b132c702aa9aa9959c550004b8847148f95e1b824772d453ac204a72"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a89ce3fd220ff144bd9d54da333ec0de0399b52c9ac3d2ce34b569cf1a5748fb"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3bbe623731d03b186b3d6b0d6f51865bf598587c38d6f7b0be2e27414f7f214e"}, - {file = "wrapt-1.15.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3abbe948c3cbde2689370a262a8d04e32ec2dd4f27103669a45c6929bcdbfe7c"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:b67b819628e3b748fd3c2192c15fb951f549d0f47c0449af0764d7647302fda3"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:7eebcdbe3677e58dd4c0e03b4f2cfa346ed4049687d839adad68cc38bb559c92"}, - {file = "wrapt-1.15.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:74934ebd71950e3db69960a7da29204f89624dde411afbfb3b4858c1409b1e98"}, - {file = "wrapt-1.15.0-cp311-cp311-win32.whl", hash = "sha256:bd84395aab8e4d36263cd1b9308cd504f6cf713b7d6d3ce25ea55670baec5416"}, - {file = "wrapt-1.15.0-cp311-cp311-win_amd64.whl", hash = "sha256:a487f72a25904e2b4bbc0817ce7a8de94363bd7e79890510174da9d901c38705"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_i686.whl", hash = "sha256:4ff0d20f2e670800d3ed2b220d40984162089a6e2c9646fdb09b85e6f9a8fc29"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux1_x86_64.whl", hash = "sha256:9ed6aa0726b9b60911f4aed8ec5b8dd7bf3491476015819f56473ffaef8959bd"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_i686.whl", hash = "sha256:896689fddba4f23ef7c718279e42f8834041a21342d95e56922e1c10c0cc7afb"}, - {file = "wrapt-1.15.0-cp35-cp35m-manylinux2010_x86_64.whl", hash = "sha256:75669d77bb2c071333417617a235324a1618dba66f82a750362eccbe5b61d248"}, - {file = "wrapt-1.15.0-cp35-cp35m-win32.whl", hash = "sha256:fbec11614dba0424ca72f4e8ba3c420dba07b4a7c206c8c8e4e73f2e98f4c559"}, - {file = "wrapt-1.15.0-cp35-cp35m-win_amd64.whl", hash = "sha256:fd69666217b62fa5d7c6aa88e507493a34dec4fa20c5bd925e4bc12fce586639"}, - {file = "wrapt-1.15.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:b0724f05c396b0a4c36a3226c31648385deb6a65d8992644c12a4963c70326ba"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbeccb1aa40ab88cd29e6c7d8585582c99548f55f9b2581dfc5ba68c59a85752"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38adf7198f8f154502883242f9fe7333ab05a5b02de7d83aa2d88ea621f13364"}, - {file = "wrapt-1.15.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:578383d740457fa790fdf85e6d346fda1416a40549fe8db08e5e9bd281c6a475"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_aarch64.whl", hash = "sha256:a4cbb9ff5795cd66f0066bdf5947f170f5d63a9274f99bdbca02fd973adcf2a8"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_i686.whl", hash = "sha256:af5bd9ccb188f6a5fdda9f1f09d9f4c86cc8a539bd48a0bfdc97723970348418"}, - {file = "wrapt-1.15.0-cp36-cp36m-musllinux_1_1_x86_64.whl", hash = "sha256:b56d5519e470d3f2fe4aa7585f0632b060d532d0696c5bdfb5e8319e1d0f69a2"}, - {file = "wrapt-1.15.0-cp36-cp36m-win32.whl", hash = "sha256:77d4c1b881076c3ba173484dfa53d3582c1c8ff1f914c6461ab70c8428b796c1"}, - {file = "wrapt-1.15.0-cp36-cp36m-win_amd64.whl", hash = "sha256:077ff0d1f9d9e4ce6476c1a924a3332452c1406e59d90a2cf24aeb29eeac9420"}, - {file = "wrapt-1.15.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:5c5aa28df055697d7c37d2099a7bc09f559d5053c3349b1ad0c39000e611d317"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3a8564f283394634a7a7054b7983e47dbf39c07712d7b177b37e03f2467a024e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:780c82a41dc493b62fc5884fb1d3a3b81106642c5c5c78d6a0d4cbe96d62ba7e"}, - {file = "wrapt-1.15.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e169e957c33576f47e21864cf3fc9ff47c223a4ebca8960079b8bd36cb014fd0"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:b02f21c1e2074943312d03d243ac4388319f2456576b2c6023041c4d57cd7019"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:f2e69b3ed24544b0d3dbe2c5c0ba5153ce50dcebb576fdc4696d52aa22db6034"}, - {file = "wrapt-1.15.0-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:d787272ed958a05b2c86311d3a4135d3c2aeea4fc655705f074130aa57d71653"}, - {file = "wrapt-1.15.0-cp37-cp37m-win32.whl", hash = "sha256:02fce1852f755f44f95af51f69d22e45080102e9d00258053b79367d07af39c0"}, - {file = "wrapt-1.15.0-cp37-cp37m-win_amd64.whl", hash = "sha256:abd52a09d03adf9c763d706df707c343293d5d106aea53483e0ec8d9e310ad5e"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cdb4f085756c96a3af04e6eca7f08b1345e94b53af8921b25c72f096e704e145"}, - {file = "wrapt-1.15.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:230ae493696a371f1dbffaad3dafbb742a4d27a0afd2b1aecebe52b740167e7f"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63424c681923b9f3bfbc5e3205aafe790904053d42ddcc08542181a30a7a51bd"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d6bcbfc99f55655c3d93feb7ef3800bd5bbe963a755687cbf1f490a71fb7794b"}, - {file = "wrapt-1.15.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c99f4309f5145b93eca6e35ac1a988f0dc0a7ccf9ccdcd78d3c0adf57224e62f"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:b130fe77361d6771ecf5a219d8e0817d61b236b7d8b37cc045172e574ed219e6"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:96177eb5645b1c6985f5c11d03fc2dbda9ad24ec0f3a46dcce91445747e15094"}, - {file = "wrapt-1.15.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:d5fe3e099cf07d0fb5a1e23d399e5d4d1ca3e6dfcbe5c8570ccff3e9208274f7"}, - {file = "wrapt-1.15.0-cp38-cp38-win32.whl", hash = "sha256:abd8f36c99512755b8456047b7be10372fca271bf1467a1caa88db991e7c421b"}, - {file = "wrapt-1.15.0-cp38-cp38-win_amd64.whl", hash = "sha256:b06fa97478a5f478fb05e1980980a7cdf2712015493b44d0c87606c1513ed5b1"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2e51de54d4fb8fb50d6ee8327f9828306a959ae394d3e01a1ba8b2f937747d86"}, - {file = "wrapt-1.15.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0970ddb69bba00670e58955f8019bec4a42d1785db3faa043c33d81de2bf843c"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76407ab327158c510f44ded207e2f76b657303e17cb7a572ffe2f5a8a48aa04d"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cd525e0e52a5ff16653a3fc9e3dd827981917d34996600bbc34c05d048ca35cc"}, - {file = "wrapt-1.15.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d37ac69edc5614b90516807de32d08cb8e7b12260a285ee330955604ed9dd29"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:078e2a1a86544e644a68422f881c48b84fef6d18f8c7a957ffd3f2e0a74a0d4a"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2cf56d0e237280baed46f0b5316661da892565ff58309d4d2ed7dba763d984b8"}, - {file = "wrapt-1.15.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:7dc0713bf81287a00516ef43137273b23ee414fe41a3c14be10dd95ed98a2df9"}, - {file = "wrapt-1.15.0-cp39-cp39-win32.whl", hash = "sha256:46ed616d5fb42f98630ed70c3529541408166c22cdfd4540b88d5f21006b0eff"}, - {file = "wrapt-1.15.0-cp39-cp39-win_amd64.whl", hash = "sha256:eef4d64c650f33347c1f9266fa5ae001440b232ad9b98f1f43dfe7a79435c0a6"}, - {file = "wrapt-1.15.0-py3-none-any.whl", hash = "sha256:64b1df0f83706b4ef4cfb4fb0e4c2669100fd7ecacfb59e091fad300d4e04640"}, - {file = "wrapt-1.15.0.tar.gz", hash = "sha256:d06730c6aed78cee4126234cf2d071e01b44b915e725a6cb439a879ec9754a3a"}, +optional = false +python-versions = ">=3.8" +files = [ + {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, + {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, + {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, + {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, + {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, + {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, + {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, + {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, + {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, + {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, + {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, + {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, + {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, + {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, + {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, + {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, + {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, + {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, + {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, + {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, + {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, + {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, + {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, + {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, + {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, + {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, + {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, + {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, + {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, + {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, + {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, + {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, + {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, + {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, + {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, + {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, + {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, ] [[package]] name = "yamllint" -version = "1.32.0" +version = "1.35.1" description = "A linter for YAML files." -category = "dev" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "yamllint-1.32.0-py3-none-any.whl", hash = "sha256:d97a66e48da820829d96077d76b8dfbe6c6140f106e558dae87e81ac4e6b30b7"}, - {file = "yamllint-1.32.0.tar.gz", hash = "sha256:d01dde008c65de5b235188ab3110bebc59d18e5c65fc8a58267cd211cd9df34a"}, + {file = "yamllint-1.35.1-py3-none-any.whl", hash = "sha256:2e16e504bb129ff515b37823b472750b36b6de07963bd74b307341ef5ad8bdc3"}, + {file = "yamllint-1.35.1.tar.gz", hash = "sha256:7a003809f88324fd2c877734f2d575ee7881dd9043360657cc8049c809eba6cd"}, ] [package.dependencies] @@ -2017,19 +2309,22 @@ dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] name = "zipp" -version = "3.15.0" +version = "3.21.0" description = "Backport of pathlib-compatible object wrapper for zip files" -category = "main" optional = false -python-versions = ">=3.7" +python-versions = ">=3.9" files = [ - {file = "zipp-3.15.0-py3-none-any.whl", hash = "sha256:48904fc76a60e542af151aded95726c1a5c34ed43ab4134b597665c86d7ad556"}, - {file = "zipp-3.15.0.tar.gz", hash = "sha256:112929ad649da941c23de50f356a2b5570c954b65150642bccdd66bf194d224b"}, + {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, + {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, ] [package.extras] -docs = ["furo", "jaraco.packaging (>=9)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more-itertools", "pytest (>=6)", "pytest-black (>=0.3.7)", "pytest-checkdocs (>=2.4)", "pytest-cov", "pytest-enabler (>=1.3)", "pytest-flake8", "pytest-mypy (>=0.9.1)"] +check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] +cover = ["pytest-cov"] +doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] +enabler = ["pytest-enabler (>=2.2)"] +test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] +type = ["pytest-mypy"] [metadata] lock-version = "2.0"