diff --git a/linkml_runtime/linkml_model/annotations.py b/linkml_runtime/linkml_model/annotations.py index 11425d02..7769bbda 100644 --- a/linkml_runtime/linkml_model/annotations.py +++ b/linkml_runtime/linkml_model/annotations.py @@ -1,5 +1,5 @@ # Auto generated from annotations.yaml by pythongen.py version: 0.9.0 -# Generation date: 2022-07-13T02:59:53 +# Generation date: 2022-07-14T00:57:14 # Schema: annotations # # id: https://w3id.org/linkml/annotations diff --git a/linkml_runtime/linkml_model/extensions.py b/linkml_runtime/linkml_model/extensions.py index 69c5d89e..7dbc2d3c 100644 --- a/linkml_runtime/linkml_model/extensions.py +++ b/linkml_runtime/linkml_model/extensions.py @@ -1,5 +1,5 @@ # Auto generated from extensions.yaml by pythongen.py version: 0.9.0 -# Generation date: 2022-07-13T02:59:55 +# Generation date: 2022-07-14T00:57:16 # Schema: extensions # # id: https://w3id.org/linkml/extensions diff --git a/linkml_runtime/linkml_model/graphql/meta.graphql b/linkml_runtime/linkml_model/graphql/meta.graphql index 0bb86ee9..3fed557e 100644 --- a/linkml_runtime/linkml_model/graphql/meta.graphql +++ b/linkml_runtime/linkml_model/graphql/meta.graphql @@ -1,5 +1,3 @@ -# metamodel_version: 1.7.0 -# version: 2.0.0 type AltDescription { source: String! @@ -47,6 +45,11 @@ type AnonymousClassExpression implements ClassExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer isA: Definition anyOf: [AnonymousClassExpression] @@ -99,6 +102,11 @@ type AnonymousExpression implements Expression, Extensible, Annotatable, CommonM relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -130,6 +138,11 @@ type AnonymousSlotExpression implements SlotExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer range: Element rangeExpression: AnonymousClassExpression @@ -144,6 +157,7 @@ type AnonymousSlotExpression implements SlotExpression structuredPattern: PatternExpression unit: UnitOfMeasure implicitPrefix: String + valuePresence: PresenceEnum equalsString: String equalsStringIn: [String] equalsNumber: Integer @@ -151,7 +165,7 @@ type AnonymousSlotExpression implements SlotExpression minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression - allMembers: [SlotDefinition] + allMembers: AnonymousSlotExpression noneOf: [AnonymousSlotExpression] exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] @@ -175,6 +189,10 @@ type AnonymousTypeExpression implements TypeExpression allOf: [AnonymousTypeExpression] } +type Anything + { + } + type ClassDefinition implements ClassExpression { name: String! @@ -182,6 +200,7 @@ type ClassDefinition implements ClassExpression definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -208,15 +227,15 @@ type ClassDefinition implements ClassExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] - rank: Integer - abstract: Boolean - mixin: Boolean - valuesFrom: [Uriorcurie] createdBy: Uriorcurie createdOn: Datetime lastUpdatedOn: Datetime modifiedBy: Uriorcurie status: Uriorcurie + rank: Integer + abstract: Boolean + mixin: Boolean + valuesFrom: [Uriorcurie] stringSerialization: String slots: [SlotDefinition] slotUsage: [SlotDefinition] @@ -291,6 +310,11 @@ type ClassRule implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie } interface CommonMetadata @@ -319,6 +343,11 @@ interface CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -329,6 +358,7 @@ interface Definition definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -355,6 +385,11 @@ interface Definition relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer isA: Definition abstract: Boolean @@ -362,11 +397,6 @@ interface Definition mixins: [Definition] applyTo: [Definition] valuesFrom: [Uriorcurie] - createdBy: Uriorcurie - createdOn: Datetime - lastUpdatedOn: Datetime - modifiedBy: Uriorcurie - status: Uriorcurie stringSerialization: String } @@ -377,6 +407,7 @@ type Element implements Extensible, Annotatable, CommonMetadata definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -403,6 +434,11 @@ type Element implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -413,6 +449,7 @@ type EnumDefinition implements EnumExpression definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -439,6 +476,11 @@ type EnumDefinition implements EnumExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer isA: Definition abstract: Boolean @@ -446,11 +488,6 @@ type EnumDefinition implements EnumExpression mixins: [Definition] applyTo: [Definition] valuesFrom: [Uriorcurie] - createdBy: Uriorcurie - createdOn: Datetime - lastUpdatedOn: Datetime - modifiedBy: Uriorcurie - status: Uriorcurie stringSerialization: String enumUri: Uriorcurie codeSet: Uriorcurie @@ -485,6 +522,7 @@ type Example { value: String description: String + object: Anything } interface Expression @@ -534,6 +572,11 @@ type ImportExpression implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -585,6 +628,11 @@ type PathExpression implements Expression, Extensible, Annotatable, CommonMetada relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -619,6 +667,11 @@ type PatternExpression implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -655,6 +708,11 @@ type PermissibleValue implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -680,6 +738,7 @@ type SchemaDefinition definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -706,6 +765,11 @@ type SchemaDefinition relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer id: Uri! version: String @@ -746,6 +810,7 @@ type SlotDefinition implements SlotExpression definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -772,15 +837,15 @@ type SlotDefinition implements SlotExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] - rank: Integer - abstract: Boolean - mixin: Boolean - valuesFrom: [Uriorcurie] createdBy: Uriorcurie createdOn: Datetime lastUpdatedOn: Datetime modifiedBy: Uriorcurie status: Uriorcurie + rank: Integer + abstract: Boolean + mixin: Boolean + valuesFrom: [Uriorcurie] stringSerialization: String singularName: String domain: ClassDefinition @@ -818,7 +883,7 @@ type SlotDefinition implements SlotExpression pathRule: PathExpression disjointWith: [SlotDefinition] childrenAreMutuallyDisjoint: Boolean - unionOf: [TypeDefinition] + unionOf: [SlotDefinition] isA: SlotDefinition mixins: [SlotDefinition] applyTo: [SlotDefinition] @@ -835,6 +900,7 @@ type SlotDefinition implements SlotExpression structuredPattern: PatternExpression unit: UnitOfMeasure implicitPrefix: String + valuePresence: PresenceEnum equalsString: String equalsStringIn: [String] equalsNumber: Integer @@ -842,7 +908,7 @@ type SlotDefinition implements SlotExpression minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression - allMembers: [SlotDefinition] + allMembers: AnonymousSlotExpression noneOf: [AnonymousSlotExpression] exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] @@ -864,6 +930,7 @@ interface SlotExpression structuredPattern: PatternExpression unit: UnitOfMeasure implicitPrefix: String + valuePresence: PresenceEnum equalsString: String equalsStringIn: [String] equalsNumber: Integer @@ -871,7 +938,7 @@ interface SlotExpression minimumCardinality: Integer maximumCardinality: Integer hasMember: AnonymousSlotExpression - allMembers: [SlotDefinition] + allMembers: AnonymousSlotExpression noneOf: [AnonymousSlotExpression] exactlyOneOf: [AnonymousSlotExpression] anyOf: [AnonymousSlotExpression] @@ -909,6 +976,11 @@ type StructuredAlias implements Expression, Extensible, Annotatable, CommonMetad relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -919,6 +991,7 @@ type SubsetDefinition definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -945,6 +1018,11 @@ type SubsetDefinition relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } @@ -955,6 +1033,7 @@ type TypeDefinition implements TypeExpression definitionUri: Uriorcurie localNames: [LocalName] conformsTo: String + implements: [Uriorcurie] extensions: [Extension] annotations: [Annotation] description: String @@ -981,6 +1060,11 @@ type TypeDefinition implements TypeExpression relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer typeof: TypeDefinition base: String @@ -1023,6 +1107,7 @@ type UniqueKey implements Extensible, Annotatable, CommonMetadata { uniqueKeyName: String! uniqueKeySlots: [SlotDefinition]! + considerNullsInequal: Boolean extensions: [Extension] annotations: [Annotation] description: String @@ -1049,12 +1134,19 @@ type UniqueKey implements Extensible, Annotatable, CommonMetadata relatedMappings: [Uriorcurie] narrowMappings: [Uriorcurie] broadMappings: [Uriorcurie] + createdBy: Uriorcurie + createdOn: Datetime + lastUpdatedOn: Datetime + modifiedBy: Uriorcurie + status: Uriorcurie rank: Integer } type UnitOfMeasure { symbol: String + abbreviation: String + descriptiveName: String exactMappings: [Uriorcurie] ucumCode: String derivation: String @@ -1062,22 +1154,3 @@ type UnitOfMeasure iec61360code: String } -type ValidationReport - { - results: [ValidationResult] - } - -type ValidationResult - { - type: Nodeidentifier - severity: SeverityOptions - subject: Nodeidentifier - instantiates: Nodeidentifier - predicate: Nodeidentifier - object: Nodeidentifier - objectStr: String - nodeSource: Nodeidentifier - info: String - } - - diff --git a/linkml_runtime/linkml_model/json/annotations.json b/linkml_runtime/linkml_model/json/annotations.json index 030db6b5..6ce4e86e 100644 --- a/linkml_runtime/linkml_model/json/annotations.json +++ b/linkml_runtime/linkml_model/json/annotations.json @@ -328,9 +328,9 @@ ], "metamodel_version": "1.7.0", "source_file": "annotations.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 833, - "generation_date": "2022-07-13T02:59:19", + "generation_date": "2022-07-14T00:55:58", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", diff --git a/linkml_runtime/linkml_model/json/extensions.json b/linkml_runtime/linkml_model/json/extensions.json index ff569e44..096a6b09 100644 --- a/linkml_runtime/linkml_model/json/extensions.json +++ b/linkml_runtime/linkml_model/json/extensions.json @@ -272,9 +272,9 @@ ], "metamodel_version": "1.7.0", "source_file": "extensions.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 1057, - "generation_date": "2022-07-13T02:59:23", + "generation_date": "2022-07-14T00:56:01", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", diff --git a/linkml_runtime/linkml_model/json/mappings.json b/linkml_runtime/linkml_model/json/mappings.json index 8aceb32e..66086e39 100644 --- a/linkml_runtime/linkml_model/json/mappings.json +++ b/linkml_runtime/linkml_model/json/mappings.json @@ -328,9 +328,9 @@ ], "metamodel_version": "1.7.0", "source_file": "mappings.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 2755, - "generation_date": "2022-07-13T02:59:32", + "generation_date": "2022-07-14T00:56:07", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", diff --git a/linkml_runtime/linkml_model/json/meta.json b/linkml_runtime/linkml_model/json/meta.json index 45b5c9ae..a82df6ce 100644 --- a/linkml_runtime/linkml_model/json/meta.json +++ b/linkml_runtime/linkml_model/json/meta.json @@ -9,8 +9,7 @@ "linkml:mappings", "linkml:extensions", "linkml:annotations", - "linkml:validation", - "units" + "linkml:units" ], "license": "https://creativecommons.org/publicdomain/zero/1.0/", "prefixes": [ @@ -401,64 +400,6 @@ "meaning": "skos:narrowerMatch" } ] - }, - { - "name": "problem_type", - "definition_uri": "https://w3id.org/linkml/reportProblemType", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "permissible_values": [ - { - "text": "undeclared_slot", - "description": "Applies when a slot is used in data but the slot is undeclared in the datamodel" - }, - { - "text": "inapplicable_slot", - "description": "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" - }, - { - "text": "missing_slot_value", - "description": "Applies when an instance of a class has a required slot which is not filled in" - }, - { - "text": "slot_range_violation", - "description": "Applies when the value of a slot is inconsistent with the declared range" - }, - { - "text": "max_count_violation", - "meaning": "sh:MaxCountConstraintComponent" - }, - { - "text": "parsing_error", - "description": "The data could not be parsed" - } - ] - }, - { - "name": "severity_options", - "definition_uri": "https://w3id.org/linkml/reportSeverityOptions", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "exact_mappings": [ - "sh:Severity" - ], - "permissible_values": [ - { - "text": "FATAL" - }, - { - "text": "ERROR", - "meaning": "sh:Violation" - }, - { - "text": "WARNING", - "meaning": "sh:Warning" - }, - { - "text": "INFO", - "meaning": "sh:Info" - } - ] } ], "slots": [ @@ -4392,144 +4333,12 @@ "inlined": true, "@type": "SlotDefinition" }, - { - "name": "type", - "definition_uri": "https://w3id.org/linkml/reporttype", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "mappings": [ - "https://w3id.org/shacl/sourceConstraintComponent" - ], - "slot_uri": "https://w3id.org/shacl/sourceConstraintComponent", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "subject", - "definition_uri": "https://w3id.org/linkml/reportsubject", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "mappings": [ - "https://w3id.org/shacl/focusNode" - ], - "slot_uri": "https://w3id.org/shacl/focusNode", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "instantiates", - "definition_uri": "https://w3id.org/linkml/reportinstantiates", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "exact_mappings": [ - "https://w3id.org/shacl/sourceShape" - ], - "slot_uri": "https://w3id.org/linkml/reportinstantiates", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "predicate", - "definition_uri": "https://w3id.org/linkml/reportpredicate", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "related_mappings": [ - "https://w3id.org/shacl/resultPath" - ], - "slot_uri": "https://w3id.org/linkml/reportpredicate", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "object", - "definition_uri": "https://w3id.org/linkml/reportobject", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "mappings": [ - "https://w3id.org/shacl/value" - ], - "slot_uri": "https://w3id.org/shacl/value", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "object_str", - "definition_uri": "https://w3id.org/linkml/reportobject_str", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "slot_uri": "https://w3id.org/linkml/reportobject_str", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "string", - "@type": "SlotDefinition" - }, - { - "name": "node_source", - "definition_uri": "https://w3id.org/linkml/reportnode_source", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "slot_uri": "https://w3id.org/linkml/reportnode_source", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "nodeidentifier", - "@type": "SlotDefinition" - }, - { - "name": "severity", - "definition_uri": "https://w3id.org/linkml/reportseverity", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "slot_uri": "https://w3id.org/linkml/reportseverity", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "severity_options", - "@type": "SlotDefinition" - }, - { - "name": "info", - "definition_uri": "https://w3id.org/linkml/reportinfo", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "slot_uri": "https://w3id.org/linkml/reportinfo", - "owner": "ValidationResult", - "domain_of": [ - "ValidationResult" - ], - "range": "string", - "@type": "SlotDefinition" - }, { "name": "unit", "definition_uri": "https://w3id.org/linkml/unit", "description": "an encoding of a unit", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://qudt.org/schema/qudt/unit" ], @@ -4549,7 +4358,7 @@ "definition_uri": "https://w3id.org/linkml/ucum_code", "description": "associates a QUDT unit with its UCUM code (case-sensitive).", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://qudt.org/schema/qudt/ucumCode" ], @@ -4568,7 +4377,7 @@ "definition_uri": "https://w3id.org/linkml/derivation", "description": "Expression for deriving this unit from other units", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "slot_uri": "https://w3id.org/linkml/derivation", "owner": "UnitOfMeasure", "domain_of": [ @@ -4585,7 +4394,7 @@ "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ], "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://qudt.org/schema/qudt/hasQuantityKind" ], @@ -4601,7 +4410,7 @@ "name": "iec61360code", "definition_uri": "https://w3id.org/linkml/iec61360code", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://qudt.org/schema/qudt/iec61360Code" ], @@ -4618,7 +4427,7 @@ "definition_uri": "https://w3id.org/linkml/symbol", "description": "name of the unit encoded as a symbol", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://qudt.org/schema/qudt/symbol" ], @@ -4630,21 +4439,6 @@ "range": "string", "@type": "SlotDefinition" }, - { - "name": "validationReport__results", - "from_schema": "https://w3id.org/linkml/meta", - "imported_from": "linkml:validation", - "slot_uri": "https://w3id.org/linkml/results", - "multivalued": true, - "alias": "results", - "owner": "ValidationReport", - "domain_of": [ - "ValidationReport" - ], - "range": "ValidationResult", - "inlined": true, - "@type": "SlotDefinition" - }, { "name": "schema_definition_name", "definition_uri": "https://w3id.org/linkml/name", @@ -5443,7 +5237,7 @@ "Do not use this to encode mappings to systems for which a dedicated field exists" ], "from_schema": "https://w3id.org/linkml/mappings", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "http://www.w3.org/2004/02/skos/core#exactMatch" ], @@ -7001,63 +6795,12 @@ "class_uri": "https://w3id.org/linkml/Annotation", "@type": "ClassDefinition" }, - { - "name": "ValidationReport", - "definition_uri": "https://w3id.org/linkml/reportValidationReport", - "description": "A report object", - "todos": [ - "add prov object" - ], - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "mappings": [ - "sh:ValidationReport" - ], - "slots": [ - "validationReport__results" - ], - "slot_usage": {}, - "attributes": [ - { - "name": "results", - "multivalued": true, - "range": "ValidationResult", - "@type": "SlotDefinition" - } - ], - "class_uri": "https://w3id.org/shacl/ValidationReport", - "@type": "ClassDefinition" - }, - { - "name": "ValidationResult", - "definition_uri": "https://w3id.org/linkml/reportValidationResult", - "description": "An individual result arising from validation of a data instance using a particular rule", - "from_schema": "https://w3id.org/linkml/reporting", - "imported_from": "linkml:validation", - "mappings": [ - "sh:ValidationResult" - ], - "slots": [ - "type", - "severity", - "subject", - "instantiates", - "predicate", - "object", - "object_str", - "node_source", - "info" - ], - "slot_usage": {}, - "class_uri": "https://w3id.org/shacl/ValidationResult", - "@type": "ClassDefinition" - }, { "name": "UnitOfMeasure", "definition_uri": "https://w3id.org/linkml/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).", "from_schema": "https://w3id.org/linkml/units", - "imported_from": "units", + "imported_from": "linkml:units", "mappings": [ "qudt:Unit" ], @@ -7118,17 +6861,16 @@ ], "metamodel_version": "1.7.0", "source_file": "meta.yaml", - "source_file_date": "2022-07-13T02:58:15", - "source_file_size": 71456, - "generation_date": "2022-07-13T02:59:25", + "source_file_date": "2022-07-13T17:52:28", + "source_file_size": 71464, + "generation_date": "2022-07-13T17:56:42", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", "https://w3id.org/linkml/mappings.context.jsonld", "https://w3id.org/linkml/extensions.context.jsonld", "https://w3id.org/linkml/annotations.context.jsonld", - "https://w3id.org/linkml/validation.context.jsonld", - "units.context.jsonld", + "https://w3id.org/linkml/units.context.jsonld", { "@base": "https://w3id.org/linkml/" } diff --git a/linkml_runtime/linkml_model/json/types.json b/linkml_runtime/linkml_model/json/types.json index 13163ea7..3eb5f2a6 100644 --- a/linkml_runtime/linkml_model/json/types.json +++ b/linkml_runtime/linkml_model/json/types.json @@ -179,9 +179,9 @@ ], "metamodel_version": "1.7.0", "source_file": "types.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 2848, - "generation_date": "2022-07-13T02:59:18", + "generation_date": "2022-07-14T00:55:56", "@type": "SchemaDefinition", "@context": [ { diff --git a/linkml_runtime/linkml_model/json/units.json b/linkml_runtime/linkml_model/json/units.json index 980d53db..820826d3 100644 --- a/linkml_runtime/linkml_model/json/units.json +++ b/linkml_runtime/linkml_model/json/units.json @@ -643,9 +643,9 @@ ], "metamodel_version": "1.7.0", "source_file": "units.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 2178, - "generation_date": "2022-07-13T02:59:21", + "generation_date": "2022-07-14T00:55:59", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", diff --git a/linkml_runtime/linkml_model/json/validation.json b/linkml_runtime/linkml_model/json/validation.json index d8b91eed..4c9d608d 100644 --- a/linkml_runtime/linkml_model/json/validation.json +++ b/linkml_runtime/linkml_model/json/validation.json @@ -466,9 +466,9 @@ ], "metamodel_version": "1.7.0", "source_file": "validation.yaml", - "source_file_date": "2022-07-13T02:58:15", + "source_file_date": "2022-07-14T00:55:10", "source_file_size": 2953, - "generation_date": "2022-07-13T02:59:30", + "generation_date": "2022-07-14T00:56:06", "@type": "SchemaDefinition", "@context": [ "https://w3id.org/linkml/types.context.jsonld", diff --git a/linkml_runtime/linkml_model/jsonld/annotations.context.jsonld b/linkml_runtime/linkml_model/jsonld/annotations.context.jsonld index 2895b566..8d1f3093 100644 --- a/linkml_runtime/linkml_model/jsonld/annotations.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/annotations.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from annotations.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:59:33\n Schema: annotations\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/annotations\n description: Annotations mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from annotations.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:10\n Schema: annotations\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/annotations\n description: Annotations mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "@vocab": "https://w3id.org/linkml/", diff --git a/linkml_runtime/linkml_model/jsonld/annotations.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/annotations.model.context.jsonld index ea4b3876..735930cc 100644 --- a/linkml_runtime/linkml_model/jsonld/annotations.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/annotations.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from annotations.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:59:39\n Schema: annotations\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/annotations\n description: Annotations mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from annotations.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:22\n Schema: annotations\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/annotations\n description: Annotations mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "@vocab": "https://w3id.org/linkml/", diff --git a/linkml_runtime/linkml_model/jsonld/extensions.context.jsonld b/linkml_runtime/linkml_model/jsonld/extensions.context.jsonld index 5135d2f7..05ddf632 100644 --- a/linkml_runtime/linkml_model/jsonld/extensions.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/extensions.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from extensions.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:59:35\n Schema: extensions\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/extensions\n description: Extension mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from extensions.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:13\n Schema: extensions\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/extensions\n description: Extension mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "@vocab": "https://w3id.org/linkml/", diff --git a/linkml_runtime/linkml_model/jsonld/extensions.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/extensions.model.context.jsonld index 6d5ee547..50b1e085 100644 --- a/linkml_runtime/linkml_model/jsonld/extensions.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/extensions.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from extensions.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:51\n Schema: extensions\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/extensions\n description: Extension mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from extensions.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:25\n Schema: extensions\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/extensions\n description: Extension mixin\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "@vocab": "https://w3id.org/linkml/", diff --git a/linkml_runtime/linkml_model/jsonld/mappings.context.jsonld b/linkml_runtime/linkml_model/jsonld/mappings.context.jsonld index bbb404b8..2a2a80ac 100644 --- a/linkml_runtime/linkml_model/jsonld/mappings.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/mappings.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from mappings.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:44\n Schema: mappings\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/mappings\n description: LinkML model for mappings\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from mappings.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:19\n Schema: mappings\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/mappings\n description: LinkML model for mappings\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", diff --git a/linkml_runtime/linkml_model/jsonld/mappings.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/mappings.model.context.jsonld index 3c2020d7..12464f02 100644 --- a/linkml_runtime/linkml_model/jsonld/mappings.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/mappings.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from mappings.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:57\n Schema: mappings\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/mappings\n description: LinkML model for mappings\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from mappings.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:31\n Schema: mappings\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/mappings\n description: LinkML model for mappings\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", diff --git a/linkml_runtime/linkml_model/jsonld/meta.context.jsonld b/linkml_runtime/linkml_model/jsonld/meta.context.jsonld index 02bb1e55..20334b57 100644 --- a/linkml_runtime/linkml_model/jsonld/meta.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/meta.context.jsonld @@ -1,5 +1,9 @@ { - "_comments": "Auto generated from meta.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:40\n Schema: meta\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/meta\n description: The metamodel for schemas defined using the Linked Data Modeling Language framework.\n\nFor more information on LinkML, see [linkml.io](https://linkml.io)\n\nCore metaclasses:\n\n* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition)\n* [ClassDefinition](https://w3id.org/linkml/ClassDefinition)\n* [SlotDefinition](https://w3id.org/linkml/SlotDefinition)\n* [TypeDefinition](https://w3id.org/linkml/TypeDefinition)\n\nEvery LinkML model instantiates SchemaDefinition, all classes in\nthe model instantiate ClassDefinition, and so on\n\nNote that the LinkML metamodel instantiates itself.\n\nFor a non-normative introduction to LinkML schemas, see the tutorial\nand schema guide on [linkml.io/linkml].\n\nFor canonical reference documentation on any metamodel construct,\nrefer to the official URI for each construct, e.g.\n[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "comments": { + "description": "Auto generated by LinkML jsonld context generator", + "generation_date": "2023-03-16T10:58:06", + "source": "meta.yaml" + }, "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", @@ -18,18 +22,17 @@ "qudt": "http://qudt.org/schema/qudt/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "reporting": { - "@id": "https://w3id.org/linkml/report", - "@prefix": true - }, "schema": "http://schema.org/", - "sh": "https://w3id.org/shacl/", + "sh": "http://www.w3.org/ns/shacl#", "skos": "http://www.w3.org/2004/02/skos/core#", "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" }, @@ -37,8 +40,13 @@ "@id": "skos:prefLabel" }, "predicate": { - "@type": "shex:nonLiteral", - "@id": "reporting:predicate" + "@context": { + "@vocab": "@null", + "text": "skos:notation", + "description": "skos:prefLabel", + "meaning": "@id" + }, + "@id": "rdf:predicate" }, "aliases": { "@id": "skos:altLabel" @@ -109,6 +117,13 @@ "conforms_to": { "@id": "dcterms:conformsTo" }, + "consider_nulls_inequal": { + "@type": "xsd:boolean" + }, + "contributors": { + "@type": "@id", + "@id": "dcterms:contributor" + }, "created_by": { "@type": "@id", "@id": "pav:createdBy" @@ -139,6 +154,9 @@ "description": { "@id": "skos:definition" }, + "descriptive_name": { + "@id": "rdfs:label" + }, "designates_type": { "@type": "xsd:boolean" }, @@ -211,6 +229,9 @@ "iec61360code": { "@id": "qudt:iec61360Code" }, + "implements": { + "@type": "@id" + }, "import_from": { "@type": "@id" }, @@ -236,9 +257,6 @@ "include_self": { "@type": "xsd:boolean" }, - "info": { - "@id": "reporting:info" - }, "inherited": { "@type": "xsd:boolean" }, @@ -251,9 +269,8 @@ "inlined_as_list": { "@type": "xsd:boolean" }, - "instantiates": { - "@type": "shex:nonLiteral", - "@id": "reporting:instantiates" + "inlined_as_simple_dict": { + "@type": "xsd:boolean" }, "interpolated": { "@type": "xsd:boolean" @@ -354,23 +371,12 @@ "@type": "@id", "@id": "skos:narrowMatch" }, - "node_source": { - "@type": "shex:nonLiteral", - "@id": "reporting:node_source" - }, "none_of": { "@type": "@id" }, "notes": { "@id": "skos:editorialNote" }, - "object": { - "@type": "shex:nonLiteral", - "@id": "sh:value" - }, - "object_str": { - "@id": "reporting:object_str" - }, "open_world": { "@type": "xsd:boolean" }, @@ -396,11 +402,20 @@ "@type": "@id", "@id": "sh:condition" }, + "prefix_prefix": { + "@id": "sh:prefix" + }, "prefix_reference": { - "@type": "@id" + "@type": "@id", + "@id": "sh:namespace" }, "prefixes": { - "@type": "@id" + "@type": "@id", + "@id": "sh:declare" + }, + "publisher": { + "@type": "@id", + "@id": "dcterms:publisher" }, "pv_formula": { "@context": { @@ -470,21 +485,9 @@ "settings": { "@type": "@id" }, - "severity": { - "@context": { - "@vocab": "@null", - "text": "skos:notation", - "description": "skos:prefLabel", - "meaning": "@id" - }, - "@id": "reporting:severity" - }, "shared": { "@type": "xsd:boolean" }, - "singular_name": { - "@id": "skos:altLabel" - }, "slot_conditions": { "@type": "@id" }, @@ -535,12 +538,7 @@ "@type": "@id" }, "subclass_of": { - "@type": "@id", - "@id": "rdfs:subClassOf" - }, - "subject": { - "@type": "shex:nonLiteral", - "@id": "sh:focusNode" + "@type": "@id" }, "subproperty_of": { "@type": "@id", @@ -574,10 +572,6 @@ "tree_root": { "@type": "xsd:boolean" }, - "type": { - "@type": "shex:nonLiteral", - "@id": "sh:sourceConstraintComponent" - }, "uri": { "@type": "@id" }, @@ -603,12 +597,12 @@ "@type": "@id", "@id": "qudt:unit" }, - "results": { - "@type": "@id" - }, "value": { "@id": "skos:example" }, + "object": { + "@type": "@id" + }, "value_presence": { "@context": { "@vocab": "@null", @@ -628,13 +622,6 @@ }, "UnitOfMeasure": { "@id": "qudt:Unit" - }, - "ValidationReport": { - "@id": "sh:ValidationReport" - }, - "ValidationResult": { - "@id": "sh:ValidationResult" } } } - diff --git a/linkml_runtime/linkml_model/jsonld/meta.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/meta.model.context.jsonld index 64e03580..c0efdf8f 100644 --- a/linkml_runtime/linkml_model/jsonld/meta.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/meta.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from meta.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:53\n Schema: meta\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/meta\n description: The metamodel for schemas defined using the Linked Data Modeling Language framework.\n\nFor more information on LinkML, see [linkml.io](https://linkml.io)\n\nCore metaclasses:\n\n* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition)\n* [ClassDefinition](https://w3id.org/linkml/ClassDefinition)\n* [SlotDefinition](https://w3id.org/linkml/SlotDefinition)\n* [TypeDefinition](https://w3id.org/linkml/TypeDefinition)\n\nEvery LinkML model instantiates SchemaDefinition, all classes in\nthe model instantiate ClassDefinition, and so on\n\nNote that the LinkML metamodel instantiates itself.\n\nFor a non-normative introduction to LinkML schemas, see the tutorial\nand schema guide on [linkml.io/linkml].\n\nFor canonical reference documentation on any metamodel construct,\nrefer to the official URI for each construct, e.g.\n[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from meta.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T17:56:58\n Schema: meta\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/meta\n description: The metamodel for schemas defined using the Linked Data Modeling Language framework.\n\nFor more information on LinkML, see [linkml.io](https://linkml.io)\n\nCore metaclasses:\n\n* [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition)\n* [ClassDefinition](https://w3id.org/linkml/ClassDefinition)\n* [SlotDefinition](https://w3id.org/linkml/SlotDefinition)\n* [TypeDefinition](https://w3id.org/linkml/TypeDefinition)\n\nEvery LinkML model instantiates SchemaDefinition, all classes in\nthe model instantiate ClassDefinition, and so on\n\nNote that the LinkML metamodel instantiates itself.\n\nFor a non-normative introduction to LinkML schemas, see the tutorial\nand schema guide on [linkml.io/linkml].\n\nFor canonical reference documentation on any metamodel construct,\nrefer to the official URI for each construct, e.g.\n[https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a)\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", @@ -18,10 +18,6 @@ "qudt": "http://qudt.org/schema/qudt/", "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdfs": "http://www.w3.org/2000/01/rdf-schema#", - "reporting": { - "@id": "https://w3id.org/linkml/report", - "@prefix": true - }, "schema": "http://schema.org/", "sh": "https://w3id.org/shacl/", "skos": "http://www.w3.org/2004/02/skos/core#", @@ -37,8 +33,13 @@ "@id": "skos:prefLabel" }, "predicate": { - "@type": "shex:nonLiteral", - "@id": "reporting:predicate" + "@context": { + "@vocab": "@null", + "text": "skos:notation", + "description": "skos:prefLabel", + "meaning": "@id" + }, + "@id": "rdf:predicate" }, "aliases": { "@id": "skos:altLabel" @@ -236,9 +237,6 @@ "include_self": { "@type": "xsd:boolean" }, - "info": { - "@id": "reporting:info" - }, "inherited": { "@type": "xsd:boolean" }, @@ -251,10 +249,6 @@ "inlined_as_list": { "@type": "xsd:boolean" }, - "instantiates": { - "@type": "shex:nonLiteral", - "@id": "reporting:instantiates" - }, "interpolated": { "@type": "xsd:boolean" }, @@ -354,23 +348,12 @@ "@type": "@id", "@id": "skos:narrowMatch" }, - "node_source": { - "@type": "shex:nonLiteral", - "@id": "reporting:node_source" - }, "none_of": { "@type": "@id" }, "notes": { "@id": "skos:editorialNote" }, - "object": { - "@type": "shex:nonLiteral", - "@id": "sh:value" - }, - "object_str": { - "@id": "reporting:object_str" - }, "open_world": { "@type": "xsd:boolean" }, @@ -470,15 +453,6 @@ "settings": { "@type": "@id" }, - "severity": { - "@context": { - "@vocab": "@null", - "text": "skos:notation", - "description": "skos:prefLabel", - "meaning": "@id" - }, - "@id": "reporting:severity" - }, "shared": { "@type": "xsd:boolean" }, @@ -538,10 +512,6 @@ "@type": "@id", "@id": "rdfs:subClassOf" }, - "subject": { - "@type": "shex:nonLiteral", - "@id": "sh:focusNode" - }, "subproperty_of": { "@type": "@id", "@id": "rdfs:subPropertyOf" @@ -574,10 +544,6 @@ "tree_root": { "@type": "xsd:boolean" }, - "type": { - "@type": "shex:nonLiteral", - "@id": "sh:sourceConstraintComponent" - }, "uri": { "@type": "@id" }, @@ -603,9 +569,6 @@ "@type": "@id", "@id": "qudt:unit" }, - "results": { - "@type": "@id" - }, "value": { "@id": "skos:example" }, @@ -628,12 +591,6 @@ }, "UnitOfMeasure": { "@id": "qudt:Unit" - }, - "ValidationReport": { - "@id": "sh:ValidationReport" - }, - "ValidationResult": { - "@id": "sh:ValidationResult" } } } diff --git a/linkml_runtime/linkml_model/jsonld/types.context.jsonld b/linkml_runtime/linkml_model/jsonld/types.context.jsonld index 85762c07..0d2c28e8 100644 --- a/linkml_runtime/linkml_model/jsonld/types.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/types.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from types.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:32\n Schema: types\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/types\n description: Shared type definitions for the core LinkML mode and metamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from types.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:09\n Schema: types\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/types\n description: Shared type definitions for the core LinkML mode and metamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "shex": "http://www.w3.org/ns/shex#", diff --git a/linkml_runtime/linkml_model/jsonld/types.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/types.model.context.jsonld index 0efd2d0b..aa541dd3 100644 --- a/linkml_runtime/linkml_model/jsonld/types.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/types.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from types.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:45\n Schema: types\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/types\n description: Shared type definitions for the core LinkML mode and metamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from types.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T17:56:55\n Schema: types\n metamodel version: 1.7.0\n model version: 2.0.0\n \n id: https://w3id.org/linkml/types\n description: Shared type definitions for the core LinkML mode and metamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "shex": "http://www.w3.org/ns/shex#", diff --git a/linkml_runtime/linkml_model/jsonld/units.context.jsonld b/linkml_runtime/linkml_model/jsonld/units.context.jsonld index a6d84eb8..1243e16c 100644 --- a/linkml_runtime/linkml_model/jsonld/units.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/units.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from units.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:36\n Schema: units\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/units\n description: Units datamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from units.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:11\n Schema: units\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/units\n description: Units datamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", diff --git a/linkml_runtime/linkml_model/jsonld/units.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/units.model.context.jsonld index b7ca4844..681189bc 100644 --- a/linkml_runtime/linkml_model/jsonld/units.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/units.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from units.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:38:49\n Schema: units\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/units\n description: Units datamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from units.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:23\n Schema: units\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/units\n description: Units datamodel\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "IAO": { "@id": "http://purl.obolibrary.org/obo/IAO_", diff --git a/linkml_runtime/linkml_model/jsonld/validation.context.jsonld b/linkml_runtime/linkml_model/jsonld/validation.context.jsonld index 9c624b7f..9237b182 100644 --- a/linkml_runtime/linkml_model/jsonld/validation.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/validation.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from validation.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:08:38\n Schema: reporting\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/reporting\n description: A datamodel for reports on data, based on SHACL\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from validation.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:18\n Schema: reporting\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/reporting\n description: A datamodel for reports on data, based on SHACL\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "owl": "http://www.w3.org/2002/07/owl#", diff --git a/linkml_runtime/linkml_model/jsonld/validation.model.context.jsonld b/linkml_runtime/linkml_model/jsonld/validation.model.context.jsonld index 30df680e..4253cf25 100644 --- a/linkml_runtime/linkml_model/jsonld/validation.model.context.jsonld +++ b/linkml_runtime/linkml_model/jsonld/validation.model.context.jsonld @@ -1,5 +1,5 @@ { - "_comments": "Auto generated from validation.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-13T02:08:55\n Schema: reporting\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/reporting\n description: A datamodel for reports on data, based on SHACL\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", + "_comments": "Auto generated from validation.yaml by jsonldcontextgen.py version: 0.1.1\n Generation date: 2022-07-14T00:56:30\n Schema: reporting\n metamodel version: 1.7.0\n model version: None\n \n id: https://w3id.org/linkml/reporting\n description: A datamodel for reports on data, based on SHACL\n license: https://creativecommons.org/publicdomain/zero/1.0/\n ", "@context": { "linkml": "https://w3id.org/linkml/", "owl": "http://www.w3.org/2002/07/owl#", diff --git a/linkml_runtime/linkml_model/jsonschema/meta.schema.json b/linkml_runtime/linkml_model/jsonschema/meta.schema.json index 065cd7e3..05491674 100644 --- a/linkml_runtime/linkml_model/jsonschema/meta.schema.json +++ b/linkml_runtime/linkml_model/jsonschema/meta.schema.json @@ -1,6522 +1,7327 @@ { - "$defs": { - "AliasPredicateEnum": { - "description": "", - "enum": [ - "EXACT_SYNONYM", - "RELATED_SYNONYM", - "BROAD_SYNONYM", - "NARROW_SYNONYM" - ], - "title": "AliasPredicateEnum", - "type": "string" - }, - "AltDescription": { - "additionalProperties": false, - "description": "an attributed description", - "properties": { - "description": { - "description": "text of an attributed description", - "type": "string" - }, - "source": { - "description": "the source of an attributed description", - "type": "string" - } - }, - "required": [ - "source", - "description" - ], - "title": "AltDescription", - "type": "object" - }, - "AltDescription__identifier_optional": { - "additionalProperties": false, - "description": "an attributed description", - "properties": { - "description": { - "description": "text of an attributed description", - "type": "string" - }, - "source": { - "description": "the source of an attributed description", - "type": "string" - } - }, - "required": [ - "description" - ], - "title": "AltDescription", - "type": "object" - }, - "Annotation": { - "additionalProperties": false, - "description": "a tag/value pair with the semantics of OWL Annotation", - "properties": { - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "description": "the actual annotation", - "type": "string" - } - }, - "required": [ - "tag", - "value" - ], - "title": "Annotation", - "type": "object" - }, - "Annotation__identifier_optional": { - "additionalProperties": false, - "description": "a tag/value pair with the semantics of OWL Annotation", - "properties": { - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "description": "the actual annotation", - "type": "string" - } - }, - "required": [ - "value" - ], - "title": "Annotation", - "type": "object" - }, - "AnonymousClassExpression": { - "additionalProperties": false, - "description": "", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exactly_one_of": { - "description": "holds if only one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "slot_conditions": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "expresses constraints on a group of slots for a class expression" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "AnonymousClassExpression", - "type": "object" - }, - "AnonymousSlotExpression": { - "additionalProperties": false, - "description": "", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_members": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "the value of the multiavlued slot is a list where all elements conform to the specified values.\nthis defines a dynamic class with named slots according to matching constraints\n\nE.g to state that all members of a list are between 1 and 10\n```\nall_members:\n x:\n range: integer\n minimum_value: 10\n maximum_value: 10\n```" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousSlotExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousSlotExpression" - }, - "type": "array" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "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_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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the values 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" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "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": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_cardinality": { - "description": "the minimum number of entries for a multivalued slot", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended 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" - }, - "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" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "recommended": { - "description": "true means that the slot should be present in the loaded definition, but this is not required", - "type": "boolean" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "required": { - "description": "true means that the slot must be present in the loaded definition", - "type": "boolean" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" - } - }, - "required": [], - "title": "AnonymousSlotExpression", - "type": "object" - }, - "AnonymousTypeExpression": { - "additionalProperties": false, - "description": "", - "properties": { - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "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" - }, - "exactly_one_of": { - "description": "holds if only one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" - }, - "maximum_value": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "pattern": { - "description": "the string value of the slot must conform to this regular expression expressed in the string", - "type": "string" - }, - "structured_pattern": { - "$ref": "#/$defs/PatternExpression", - "description": "the string value of the slot must conform to the regular expression in the pattern expression" - }, - "unit": { - "$ref": "#/$defs/UnitOfMeasure", - "description": "an encoding of a unit" - } - }, - "required": [], - "title": "AnonymousTypeExpression", - "type": "object" - }, - "ClassDefinition": { - "additionalProperties": false, - "description": "the definition of a class or interface", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "type": "boolean" - }, - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "apply_to": { - "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", - "items": { - "type": "string" - }, - "type": "array" - }, - "attributes": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "Inline definition of slots" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "children_are_mutually_disjoint": { - "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" - }, - "class_uri": { - "description": "URI of the class in an RDF environment", - "type": "string" - }, - "classification_rules": { - "description": "the collection of classification rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "defining_slots": { - "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", - "items": { - "type": "string" - }, - "type": "array" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "disjoint_with": { - "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", - "items": { - "type": "string" - }, - "type": "array" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exactly_one_of": { - "description": "holds if only one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "last_updated_on": { - "description": "time at which the element was last updated", - "format": "date-time", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "mappings": { - "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", - "items": { - "type": "string" - }, - "type": "array" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "represents_relationship": { - "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" - }, - "rules": { - "description": "the collection of rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/ClassRule" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "slot_conditions": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "expresses constraints on a group of slots for a class expression" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slot_usage": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "the redefinition of a slot in the context of the containing class definition." - }, - "slots": { - "description": "list of slot names that are applicable to a class", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "subclass_of": { - "description": "rdfs:subClassOf to be emitted in OWL generation", - "type": "string" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "tree_root": { - "description": "indicator that this is the root class in tree structures", - "type": "boolean" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_keys": { - "additionalProperties": { - "$ref": "#/$defs/UniqueKey__identifier_optional" - }, - "description": "Set of unique keys for this 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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name" - ], - "title": "ClassDefinition", - "type": "object" - }, - "ClassDefinition__identifier_optional": { - "additionalProperties": false, - "description": "the definition of a class or interface", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "type": "boolean" - }, - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "apply_to": { - "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", - "items": { - "type": "string" - }, - "type": "array" - }, - "attributes": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "Inline definition of slots" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "children_are_mutually_disjoint": { - "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", - "type": "boolean" - }, - "class_uri": { - "description": "URI of the class in an RDF environment", - "type": "string" - }, - "classification_rules": { - "description": "the collection of classification rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "defining_slots": { - "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", - "items": { - "type": "string" - }, - "type": "array" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "disjoint_with": { - "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", - "items": { - "type": "string" - }, - "type": "array" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "exactly_one_of": { - "description": "holds if only one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "last_updated_on": { - "description": "time at which the element was last updated", - "format": "date-time", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "mappings": { - "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", - "items": { - "type": "string" - }, - "type": "array" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousClassExpression" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "represents_relationship": { - "description": "true if this class represents a relationship rather than an entity", - "type": "boolean" - }, - "rules": { - "description": "the collection of rules that apply to all members of this class", - "items": { - "$ref": "#/$defs/ClassRule" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "slot_conditions": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "expresses constraints on a group of slots for a class expression" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slot_usage": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "the redefinition of a slot in the context of the containing class definition." - }, - "slots": { - "description": "list of slot names that are applicable to a class", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "subclass_of": { - "description": "rdfs:subClassOf to be emitted in OWL generation", - "type": "string" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "tree_root": { - "description": "indicator that this is the root class in tree structures", - "type": "boolean" - }, - "union_of": { - "description": "indicates that the domain element consists exactly of the members of the element in the range.", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_keys": { - "additionalProperties": { - "$ref": "#/$defs/UniqueKey__identifier_optional" - }, - "description": "Set of unique keys for this 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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "ClassDefinition", - "type": "object" - }, - "ClassRule": { - "additionalProperties": false, - "description": "A rule that applies to instances of a class", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "bidirectional": { - "description": "in addition to preconditions entailing postconditions, the postconditions entail the preconditions", - "type": "boolean" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deactivated": { - "description": "a deactivated rule is not executed by the rules engine", - "type": "boolean" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "elseconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold for an instance of the class, if the preconditions no not hold" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "open_world": { - "description": "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these", - "type": "boolean" - }, - "postconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold for an instance of the class, if the preconditions hold" - }, - "preconditions": { - "$ref": "#/$defs/AnonymousClassExpression", - "description": "an expression that must hold in order for the rule to be applicable to an instance" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "ClassRule", - "type": "object" - }, - "EnumDefinition": { - "additionalProperties": false, - "description": "List of values that constrain the range of a slot", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "type": "boolean" - }, - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "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" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "last_updated_on": { - "description": "time at which the element was last updated", - "format": "date-time", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "mappings": { - "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", - "items": { - "type": "string" - }, - "type": "array" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissible_values": { - "additionalProperties": { - "$ref": "#/$defs/PermissibleValue__identifier_optional" - }, - "description": "A list of possible values for a slot range" - }, - "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" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue 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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name" - ], - "title": "EnumDefinition", - "type": "object" - }, - "EnumDefinition__identifier_optional": { - "additionalProperties": false, - "description": "List of values that constrain the range of a slot", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "type": "boolean" - }, - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "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" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "last_updated_on": { - "description": "time at which the element was last updated", - "format": "date-time", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "mappings": { - "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", - "items": { - "type": "string" - }, - "type": "array" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "permissible_values": { - "additionalProperties": { - "$ref": "#/$defs/PermissibleValue__identifier_optional" - }, - "description": "A list of possible values for a slot range" - }, - "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" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue 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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "EnumDefinition", - "type": "object" - }, - "EnumExpression": { - "additionalProperties": false, - "description": "", - "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" - }, - "permissible_values": { - "additionalProperties": { - "$ref": "#/$defs/PermissibleValue__identifier_optional" - }, - "description": "A list of possible values for a slot range" - }, - "pv_formula": { - "$ref": "#/$defs/PvFormulaOptions", - "description": "Defines the specific formula to be used to generate the permissible values." - } - }, - "required": [], - "title": "EnumExpression", - "type": "object" - }, - "Example": { - "additionalProperties": false, - "description": "usage example and description", - "properties": { - "description": { - "description": "description of what the value is doing", - "type": "string" - }, - "value": { - "description": "example value", - "type": "string" - } - }, - "required": [], - "title": "Example", - "type": "object" - }, - "Extension": { - "additionalProperties": false, - "description": "a tag/value pair used to add non-model information to an entry", - "properties": { - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "description": "the actual annotation", - "type": "string" - } - }, - "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": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "tag": { - "description": "a tag associated with an extension", - "type": "string" - }, - "value": { - "description": "the actual annotation", - "type": "string" - } - }, - "required": [ - "value" - ], - "title": "Extension", - "type": "object" - }, - "ImportExpression": { - "additionalProperties": false, - "description": "an expression describing an import", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "import_as": { - "type": "string" - }, - "import_from": { - "type": "string" - }, - "import_map": { - "additionalProperties": { - "$ref": "#/$defs/Setting__identifier_optional" - } - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "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" - }, - "local_name_value": { - "description": "a name assigned to an element in a given ontology", - "type": "string" - } - }, - "required": [ - "local_name_source", - "local_name_value" - ], - "title": "LocalName", - "type": "object" - }, - "LocalName__identifier_optional": { - "additionalProperties": false, - "description": "an attributed label", - "properties": { - "local_name_source": { - "description": "the ncname of the source of the name", - "type": "string" - }, - "local_name_value": { - "description": "a name assigned to an element in a given ontology", - "type": "string" - } - }, - "required": [ - "local_name_value" - ], - "title": "LocalName", - "type": "object" - }, - "PathExpression": { - "additionalProperties": false, - "description": "An expression that describes an abstract path from an object to another through a sequence of slot lookups", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/PathExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/PathExpression" - }, - "type": "array" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "followed_by": { - "$ref": "#/$defs/PathExpression", - "description": "in a sequential list, this indicates the next member" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended 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" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "reversed": { - "description": "true if the slot is to be inversed", - "type": "boolean" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "traverse": { - "description": "the slot to traverse", - "type": "string" - } - }, - "required": [], - "title": "PathExpression", - "type": "object" - }, - "PatternExpression": { - "additionalProperties": false, - "description": "a regular expression pattern used to evaluate conformance of a string", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "interpolated": { - "description": "if true then the pattern is first string interpolated", - "type": "boolean" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "partial_match": { - "description": "if true then the pattern must match the whole string, as if enclosed in ^...$", - "type": "boolean" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "PatternExpression", - "type": "object" - }, - "PermissibleValue": { - "additionalProperties": false, - "description": "a permissible value, accompanied by intended text and an optional mapping to a concept URI", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "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" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "text": { - "type": "string" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "text" - ], - "title": "PermissibleValue", - "type": "object" - }, - "PermissibleValue__identifier_optional": { - "additionalProperties": false, - "description": "a permissible value, accompanied by intended text and an optional mapping to a concept URI", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "is_a": { - "description": "specifies single-inheritance between classes or slots. 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" - }, - "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" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "text": { - "type": "string" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "PermissibleValue", - "type": "object" - }, - "Prefix": { - "additionalProperties": false, - "description": "prefix URI tuple", - "properties": { - "prefix_prefix": { - "description": "the nsname (sans ':' for a given prefix)", - "type": "string" - }, - "prefix_reference": { - "description": "A URI associated with a given prefix", - "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 nsname (sans ':' for a given prefix)", - "type": "string" - }, - "prefix_reference": { - "description": "A URI associated with a given prefix", - "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" - }, - "ProblemType": { - "description": "", - "enum": [ - "undeclared_slot", - "inapplicable_slot", - "missing_slot_value", - "slot_range_violation", - "max_count_violation", - "parsing_error" - ], - "title": "ProblemType", - "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" - ], - "title": "PvFormulaOptions", - "type": "string" - }, - "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 subset, type, slot and class definitions", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "categories": { - "description": "controlled terms used to categorize an element", - "items": { - "type": "string" - }, - "type": "array" - }, - "classes": { - "additionalProperties": { - "$ref": "#/$defs/ClassDefinition__identifier_optional" - }, - "description": "class definitions" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "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": "default and base prefix -- used for ':' identifiers, @base and @vocab", - "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", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "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" - }, - "enums": { - "additionalProperties": { - "$ref": "#/$defs/EnumDefinition__identifier_optional" - }, - "description": "enumerated ranges" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "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": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "imports": { - "description": "other schemas that are included in this schema", - "items": { - "type": "string" - }, - "type": "array" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "Keywords or tags used to describe the element", - "items": { - "type": "string" - }, - "type": "array" - }, - "license": { - "description": "license for the schema", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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" - }, - "metamodel_version": { - "description": "Version of the metamodel used to load the schema", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "prefixes": { - "additionalProperties": { - "$ref": "#/$defs/Prefix__identifier_optional" - }, - "description": "prefix / URI definitions to be added to the context beyond those fetched from prefixcommons in id prefixes" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "settings": { - "additionalProperties": { - "$ref": "#/$defs/Setting__identifier_optional" - }, - "description": "A collection of global variable settings" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slots": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "slot definitions" - }, - "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" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "subsets": { - "additionalProperties": { - "$ref": "#/$defs/SubsetDefinition__identifier_optional" - }, - "description": "list of subsets referenced in this model" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "types": { - "additionalProperties": { - "$ref": "#/$defs/TypeDefinition__identifier_optional" - }, - "description": "data types used in the model" - }, - "version": { - "description": "particular version of schema", - "type": "string" - } - }, - "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" - }, - "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" - }, - "setting_value": { - "description": "The value assigned for a setting", - "type": "string" - } - }, - "required": [ - "setting_value" - ], - "title": "Setting", - "type": "object" - }, - "SeverityOptions": { - "description": "", - "enum": [ - "FATAL", - "ERROR", - "WARNING", - "INFO" - ], - "title": "SeverityOptions", - "type": "string" - }, - "SlotDefinition": { - "additionalProperties": false, - "description": "the definition of a property or a slot", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "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": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_members": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "the value of the multiavlued slot is a list where all elements conform to the specified values.\nthis defines a dynamic class with named slots according to matching constraints\n\nE.g to state that all members of a list are between 1 and 10\n```\nall_members:\n x:\n range: integer\n minimum_value: 10\n maximum_value: 10\n```" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousSlotExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "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" - }, - "asymmetric": { - "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", - "type": "boolean" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "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" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a 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_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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the values of the slot is multivalued with at least one member satisfying the condition" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "identifier": { - "description": "True means that the key slot(s) uniquely identify the container. 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\nlinkml_runtime.utils.ifabsent_functions.default_library:\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * int(value) -- integer value\n * str(value) -- string value\n * default_range -- schema default range\n * bnode -- blank node identifier\n * slot_uri -- URI for the slot\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class", - "type": "string" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "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" - }, - "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": "specifies single-inheritance between classes or slots. 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" - }, - "is_class_field": { - "description": "indicates that any instance, i, the domain of this slot will include an assert 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 container.", - "type": "boolean" - }, - "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" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "locally_reflexive": { - "description": "If s is locally_reflexive, then i.s=i for all instances i where s if a class slot for the type of i", - "type": "boolean" - }, - "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": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_cardinality": { - "description": "the minimum number of entries for a multivalued slot", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "multivalued": { - "description": "true means that slot can have more than one value", - "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" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended 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 assignemnts" - }, - "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" - }, - "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 the loaded 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" - }, - "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 the loaded definition", - "type": "boolean" - }, - "role": { - "description": "the role played by the slot range", - "type": "string" - }, - "see_also": { - "description": "a reference", - "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": "predicate of this slot for semantic web application", - "type": "string" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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 hiearchy 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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue 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" - }, - "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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name" - ], - "title": "SlotDefinition", - "type": "object" - }, - "SlotDefinition__identifier_optional": { - "additionalProperties": false, - "description": "the definition of a property or a slot", - "properties": { - "abstract": { - "description": "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated.", - "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": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_members": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "the value of the multiavlued slot is a list where all elements conform to the specified values.\nthis defines a dynamic class with named slots according to matching constraints\n\nE.g to state that all members of a list are between 1 and 10\n```\nall_members:\n x:\n range: integer\n minimum_value: 10\n maximum_value: 10\n```" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousSlotExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "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" - }, - "asymmetric": { - "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", - "type": "boolean" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "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" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "created_by": { - "description": "agent that created the element", - "type": "string" - }, - "created_on": { - "description": "time at which the element was created", - "format": "date-time", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a 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_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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "has_member": { - "$ref": "#/$defs/AnonymousSlotExpression", - "description": "the values of the slot is multivalued with at least one member satisfying the condition" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "identifier": { - "description": "True means that the key slot(s) uniquely identify the container. 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\nlinkml_runtime.utils.ifabsent_functions.default_library:\n * [Tt]rue -- boolean True\n * [Ff]alse -- boolean False\n * int(value) -- integer value\n * str(value) -- string value\n * default_range -- schema default range\n * bnode -- blank node identifier\n * slot_uri -- URI for the slot\n * class_curie -- CURIE for the containing class\n * class_uri -- URI for the containing class", - "type": "string" - }, - "implicit_prefix": { - "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "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" - }, - "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": "specifies single-inheritance between classes or slots. 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" - }, - "is_class_field": { - "description": "indicates that any instance, i, the domain of this slot will include an assert 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 container.", - "type": "boolean" - }, - "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" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "locally_reflexive": { - "description": "If s is locally_reflexive, then i.s=i for all instances i where s if a class slot for the type of i", - "type": "boolean" - }, - "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": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_cardinality": { - "description": "the minimum number of entries for a multivalued slot", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "mixin": { - "description": "this slot or class can only be used as a mixin.", - "type": "boolean" - }, - "mixins": { - "description": "List of definitions to be mixed in. Targets may be any definition of the same type", - "items": { - "type": "string" - }, - "type": "array" - }, - "modified_by": { - "description": "agent that modified the element", - "type": "string" - }, - "multivalued": { - "description": "true means that slot can have more than one value", - "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" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended 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 assignemnts" - }, - "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" - }, - "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 the loaded 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" - }, - "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 the loaded definition", - "type": "boolean" - }, - "role": { - "description": "the role played by the slot range", - "type": "string" - }, - "see_also": { - "description": "a reference", - "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": "predicate of this slot for semantic web application", - "type": "string" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "status": { - "description": "status of the element", - "type": "string" - }, - "string_serialization": { - "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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 hiearchy 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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue 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" - }, - "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 hiearchy into an enumerated list of possible values in every serialization of the model.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "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": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "categories": { - "description": "The category or categories of an alias. This can be drawn from any relevant vocabulary", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "literal_form": { - "description": "The literal lexical form of a structured alias", - "type": "string" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "literal_form" - ], - "title": "StructuredAlias", - "type": "object" - }, - "SubsetDefinition": { - "additionalProperties": false, - "description": "the name and description of a subset", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "name" - ], - "title": "SubsetDefinition", - "type": "object" - }, - "SubsetDefinition__identifier_optional": { - "additionalProperties": false, - "description": "the name and description of a subset", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { - "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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" - }, - "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" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [], - "title": "SubsetDefinition", - "type": "object" - }, - "TypeDefinition": { - "additionalProperties": false, - "description": "A data type definition.", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "base": { - "description": "python base type that implements this type definition", - "type": "string" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a 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" - }, - "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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "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" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended 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" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "repr": { - "description": "the name of the python object that implements this type definition", - "type": "string" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "typeof": { - "description": "Names a parent type", - "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" - }, - "uri": { - "description": "The uri that defines the possible values for the type definition", - "type": "string" - } - }, - "required": [ - "name" - ], - "title": "TypeDefinition", - "type": "object" - }, - "TypeDefinition__identifier_optional": { - "additionalProperties": false, - "description": "A data type definition.", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "all_of": { - "description": "holds if all of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "any_of": { - "description": "holds if at least one of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "base": { - "description": "python base type that implements this type definition", - "type": "string" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "definition_uri": { - "description": "the \"native\" URI of the element", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a 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" - }, - "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" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "id_prefixes": { - "description": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "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" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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": { - "description": "for slots with ranges of type number, the value must be equal to or lowe than this", - "type": "integer" - }, - "minimum_value": { - "description": "for slots with ranges of type number, the value must be equal to or higher than this", - "type": "integer" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "none_of": { - "description": "holds if none of the expressions hold", - "items": { - "$ref": "#/$defs/AnonymousTypeExpression" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended 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" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "repr": { - "description": "the name of the python object that implements this type definition", - "type": "string" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "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" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "typeof": { - "description": "Names a parent type", - "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" - }, - "uri": { - "description": "The uri that defines the possible values for the type definition", - "type": "string" - } - }, - "required": [], - "title": "TypeDefinition", - "type": "object" - }, - "UniqueKey": { - "additionalProperties": false, - "description": "a collection of slots whose values uniquely identify an instance of a class", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_key_name": { - "description": "name of the unique key", - "type": "string" - }, - "unique_key_slots": { - "description": "list of slot names that form a key", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "unique_key_name", - "unique_key_slots" - ], - "title": "UniqueKey", - "type": "object" - }, - "UniqueKey__identifier_optional": { - "additionalProperties": false, - "description": "a collection of slots whose values uniquely identify an instance of a class", - "properties": { - "aliases": { - "items": { - "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "from_schema": { - "description": "id of the schema that defined the element", - "type": "string" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { - "type": "string" - }, - "type": "array" - }, - "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" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { - "type": "string" - }, - "type": "array" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { - "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { - "type": "string" - }, - "type": "array" - }, - "source": { - "description": "A related resource from which the element is derived.", - "type": "string" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { - "type": "string" - }, - "type": "array" - }, - "unique_key_name": { - "description": "name of the unique key", - "type": "string" - }, - "unique_key_slots": { - "description": "list of slot names that form a key", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "unique_key_slots" - ], - "title": "UniqueKey", - "type": "object" - }, - "UnitOfMeasure": { - "additionalProperties": false, - "description": "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension).", - "properties": { - "derivation": { - "description": "Expression for deriving this unit from other units", - "type": "string" - }, - "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" - }, - "has_quantity_kind": { - "description": "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length", - "type": "string" - }, - "iec61360code": { - "type": "string" - }, - "symbol": { - "description": "name of the unit encoded as a symbol", - "type": "string" - }, - "ucum_code": { - "description": "associates a QUDT unit with its UCUM code (case-sensitive).", - "type": "string" - } - }, - "required": [], - "title": "UnitOfMeasure", - "type": "object" - }, - "ValidationReport": { - "additionalProperties": false, - "description": "A report object", - "properties": { - "results": { - "items": { - "$ref": "#/$defs/ValidationResult" - }, - "type": "array" - } - }, - "required": [], - "title": "ValidationReport", - "type": "object" - }, - "ValidationResult": { - "additionalProperties": false, - "description": "An individual result arising from validation of a data instance using a particular rule", - "properties": { - "info": { - "type": "string" - }, - "instantiates": { - "type": "string" - }, - "node_source": { - "type": "string" - }, - "object": { - "type": "string" - }, - "object_str": { - "type": "string" - }, - "predicate": { - "type": "string" - }, - "severity": { - "$ref": "#/$defs/SeverityOptions" - }, - "subject": { - "type": "string" - }, - "type": { - "type": "string" - } - }, - "required": [], - "title": "ValidationResult", - "type": "object" - } - }, - "$id": "https://w3id.org/linkml/meta", - "$schema": "http://json-schema.org/draft-07/schema#", - "additionalProperties": true, - "metamodel_version": "1.7.0", - "properties": { - "aliases": { - "items": { + "$defs": { + "AliasPredicateEnum": { + "description": "permissible values for the relationship between an element and an alias", + "enum": [ + "EXACT_SYNONYM", + "RELATED_SYNONYM", + "BROAD_SYNONYM", + "NARROW_SYNONYM" + ], + "title": "AliasPredicateEnum", + "type": "string" + }, + "AltDescription": { + "additionalProperties": false, + "description": "an attributed description", + "properties": { + "description": { + "description": "text of an attributed description", + "type": "string" + }, + "source": { + "description": "the source of an attributed description", + "type": "string" + } + }, + "required": [ + "source", + "description" + ], + "title": "AltDescription", + "type": "object" + }, + "AltDescription__identifier_optional": { + "additionalProperties": false, + "description": "an attributed description", + "properties": { + "description": { + "description": "text of an attributed description", + "type": "string" + }, + "source": { + "description": "the source of an attributed description", + "type": "string" + } + }, + "required": [ + "description" + ], + "title": "AltDescription", + "type": "object" + }, + "Annotation": { + "additionalProperties": false, + "description": "a tag/value pair with the semantics of OWL Annotation", + "properties": { + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "tag": { + "description": "a tag associated with an extension", + "type": "string" + }, + "value": { + "description": "the actual annotation", + "type": "string" + } + }, + "required": [ + "tag", + "value" + ], + "title": "Annotation", + "type": "object" + }, + "Annotation__identifier_optional": { + "additionalProperties": false, + "description": "a tag/value pair with the semantics of OWL Annotation", + "properties": { + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "tag": { + "description": "a tag associated with an extension", + "type": "string" + }, + "value": { + "description": "the actual annotation", + "type": "string" + } + }, + "required": [ + "value" + ], + "title": "Annotation", + "type": "object" + }, + "AnonymousClassExpression": { + "additionalProperties": false, + "description": "", + "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/AnonymousClassExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "slot_conditions": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "expresses constraints on a group of slots for a class expression", + "type": "object" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "AnonymousClassExpression", + "type": "object" + }, + "AnonymousEnumExpression": { + "additionalProperties": false, + "description": "An enum_expression that is not named", + "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" + }, + "inherits": { + "description": "An enum definition that is used as the basis to create a new enum", + "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" + }, + "permissible_values": { + "additionalProperties": { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + "description": "A list of possible values for a slot range", + "type": "object" + }, + "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": "AnonymousEnumExpression", + "type": "object" + }, + "AnonymousSlotExpression": { + "additionalProperties": false, + "description": "", + "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_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", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": "array" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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_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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "has_member": { + "$ref": "#/$defs/AnonymousSlotExpression", + "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" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_cardinality": { + "description": "the minimum number of entries for a multivalued slot", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "recommended": { + "description": "true means that the slot should be present in instances of the class definition, but this is not required", + "type": "boolean" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "required": { + "description": "true means that the slot must be present in instances of the class definition", + "type": "boolean" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "unit": { + "$ref": "#/$defs/UnitOfMeasure", + "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)" + } + }, + "title": "AnonymousSlotExpression", + "type": "object" + }, + "AnonymousTypeExpression": { + "additionalProperties": false, + "description": "A type expression that is not a top-level named type definition. Used for nesting.", + "properties": { + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "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" + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "implicit_prefix": { + "description": "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string", + "type": "string" + }, + "maximum_value": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "pattern": { + "description": "the string value of the slot must conform to this regular expression expressed in the string", + "type": "string" + }, + "structured_pattern": { + "$ref": "#/$defs/PatternExpression", + "description": "the string value of the slot must conform to the regular expression in the pattern expression" + }, + "unit": { + "$ref": "#/$defs/UnitOfMeasure", + "description": "an encoding of a unit" + } + }, + "title": "AnonymousTypeExpression", + "type": "object" + }, + "Anything": { + "additionalProperties": true, + "description": "", + "title": "Anything", + "type": "object" + }, + "ClassDefinition": { + "additionalProperties": false, + "description": "an element whose instances are complex objects that may have slot-value assignments", + "properties": { + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": "boolean" + }, + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "apply_to": { + "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attributes": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "Inline definition of slots", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "children_are_mutually_disjoint": { + "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", + "type": "boolean" + }, + "class_uri": { + "description": "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas", + "type": "string" + }, + "classification_rules": { + "description": "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance.", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "defining_slots": { + "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", + "items": { + "type": "string" + }, + "type": "array" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "disjoint_with": { + "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", + "items": { + "type": "string" + }, + "type": "array" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_a": { + "description": "A primary parent class 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" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mixin": { + "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", + "type": "boolean" + }, + "mixins": { + "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "represents_relationship": { + "description": "true if this class represents a relationship rather than an entity", + "type": "boolean" + }, + "rules": { + "description": "the collection of rules that apply to all members of this class", + "items": { + "$ref": "#/$defs/ClassRule" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "slot_conditions": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "expresses constraints on a group of slots for a class expression", + "type": "object" + }, + "slot_names_unique": { + "description": "if true then induced/mangled slot names are not created for class_usage and attributes", + "type": "boolean" + }, + "slot_usage": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "the refinement of a slot in the context of the containing class definition.", + "type": "object" + }, + "slots": { + "description": "collection of slot names that are applicable to a class", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subclass_of": { + "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "tree_root": { + "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", + "type": "boolean" + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_keys": { + "additionalProperties": { + "$ref": "#/$defs/UniqueKey__identifier_optional" + }, + "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", + "type": "object" + }, + "values_from": { + "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "title": "ClassDefinition", + "type": "object" + }, + "ClassDefinition__identifier_optional": { + "additionalProperties": false, + "description": "an element whose instances are complex objects that may have slot-value assignments", + "properties": { + "abstract": { + "description": "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes.", + "type": "boolean" + }, + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "apply_to": { + "description": "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attributes": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "Inline definition of slots", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "children_are_mutually_disjoint": { + "description": "If true then all direct is_a children are mutually disjoint and share no instances in common", + "type": "boolean" + }, + "class_uri": { + "description": "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas", + "type": "string" + }, + "classification_rules": { + "description": "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance.", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "defining_slots": { + "description": "The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom", + "items": { + "type": "string" + }, + "type": "array" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "disjoint_with": { + "description": "Two classes are disjoint if they have no instances in common, two slots are disjoint if they can never hold between the same two instances", + "items": { + "type": "string" + }, + "type": "array" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "exactly_one_of": { + "description": "holds if only one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "is_a": { + "description": "A primary parent class 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" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "mixin": { + "description": "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins.", + "type": "boolean" + }, + "mixins": { + "description": "A collection of secondary parent mixin classes from which inheritable metaslots are propagated", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousClassExpression" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "represents_relationship": { + "description": "true if this class represents a relationship rather than an entity", + "type": "boolean" + }, + "rules": { + "description": "the collection of rules that apply to all members of this class", + "items": { + "$ref": "#/$defs/ClassRule" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "slot_conditions": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "expresses constraints on a group of slots for a class expression", + "type": "object" + }, + "slot_names_unique": { + "description": "if true then induced/mangled slot names are not created for class_usage and attributes", + "type": "boolean" + }, + "slot_usage": { + "additionalProperties": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "the refinement of a slot in the context of the containing class definition.", + "type": "object" + }, + "slots": { + "description": "collection of slot names that are applicable to a class", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subclass_of": { + "description": "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "tree_root": { + "description": "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations", + "type": "boolean" + }, + "union_of": { + "description": "indicates that the domain element consists exactly of the members of the element in the range.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_keys": { + "additionalProperties": { + "$ref": "#/$defs/UniqueKey__identifier_optional" + }, + "description": "A collection of named unique keys for this class. Unique keys may be singular or compound.", + "type": "object" + }, + "values_from": { + "description": "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [], + "title": "ClassDefinition", + "type": "object" + }, + "ClassRule": { + "additionalProperties": false, + "description": "A rule that applies to instances of a class", + "properties": { + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "bidirectional": { + "description": "in addition to preconditions entailing postconditions, the postconditions entail the preconditions", + "type": "boolean" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deactivated": { + "description": "a deactivated rule is not executed by the rules engine", + "type": "boolean" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "elseconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold for an instance of the class, if the preconditions no not hold" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "open_world": { + "description": "if true, the the postconditions may be omitted in instance data, but it is valid for an inference engine to add these", + "type": "boolean" + }, + "postconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold for an instance of the class, if the preconditions hold" + }, + "preconditions": { + "$ref": "#/$defs/AnonymousClassExpression", + "description": "an expression that must hold in order for the rule to be applicable to an instance" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "ClassRule", + "type": "object" + }, + "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" + }, + "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": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "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" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissible_values": { + "additionalProperties": { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + "description": "A list of possible values for a slot range", + "type": "object" + }, + "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" + }, + "reachable_from": { + "$ref": "#/$defs/ReachabilityQuery", + "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" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "title": "EnumDefinition", + "type": "object" + }, + "EnumDefinition__identifier_optional": { + "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" + }, + "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": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "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" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "permissible_values": { + "additionalProperties": { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + "description": "A list of possible values for a slot range", + "type": "object" + }, + "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" + }, + "reachable_from": { + "$ref": "#/$defs/ReachabilityQuery", + "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" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [], + "title": "EnumDefinition", + "type": "object" + }, + "EnumExpression": { + "additionalProperties": false, + "description": "An expression that constrains the range of a slot", + "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" + }, + "inherits": { + "description": "An enum definition that is used as the basis to create a new enum", + "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" + }, + "permissible_values": { + "additionalProperties": { + "$ref": "#/$defs/PermissibleValue__identifier_optional" + }, + "description": "A list of possible values for a slot range", + "type": "object" + }, + "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": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "tag": { + "description": "a tag associated with an extension", + "type": "string" + }, + "value": { + "description": "the actual annotation", + "type": "string" + } + }, + "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": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "tag": { + "description": "a tag associated with an extension", + "type": "string" + }, + "value": { + "description": "the actual annotation", + "type": "string" + } + }, + "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": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "import_as": { + "type": "string" + }, + "import_from": { + "type": "string" + }, + "import_map": { + "additionalProperties": { + "$ref": "#/$defs/Setting__identifier_optional" + }, + "type": "object" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "local_name_value": { + "description": "a name assigned to an element in a given ontology", + "type": "string" + } + }, + "required": [ + "local_name_source", + "local_name_value" + ], + "title": "LocalName", + "type": "object" + }, + "LocalName__identifier_optional": { + "additionalProperties": false, + "description": "an attributed label", + "properties": { + "local_name_source": { + "description": "the ncname of the source of the name", + "type": "string" + }, + "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" + }, + "source_ontology": { + "description": "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values", + "type": "string" + } + }, + "title": "MatchQuery", + "type": "object" + }, + "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" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": "array" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/PathExpression" + }, + "type": "array" + }, + "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" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reversed": { + "description": "true if the slot is to be inversed", + "type": "boolean" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "traverse": { + "description": "the slot to traverse", + "type": "string" + } + }, + "title": "PathExpression", + "type": "object" + }, + "PatternExpression": { + "additionalProperties": false, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "interpolated": { + "description": "if true then the pattern is first string interpolated", + "type": "boolean" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "partial_match": { + "description": "if true then the pattern must match the whole string, as if enclosed in ^...$", + "type": "boolean" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "PatternExpression", + "type": "object" + }, + "PermissibleValue": { + "additionalProperties": false, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "text": { + "description": "The actual permissible value itself", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "unit": { + "$ref": "#/$defs/UnitOfMeasure", + "description": "an encoding of a unit" + } + }, + "required": [ + "text" + ], + "title": "PermissibleValue", + "type": "object" + }, + "PermissibleValue__identifier_optional": { + "additionalProperties": false, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "text": { + "description": "The actual permissible value itself", + "type": "string" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "unit": { + "$ref": "#/$defs/UnitOfMeasure", + "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" + ], + "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", + "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": { + "type": "string" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "classes": { + "additionalProperties": { + "$ref": "#/$defs/ClassDefinition__identifier_optional" + }, + "description": "An index to the collection of all class definitions in the schema", + "type": "object" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "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" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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" + }, + "enums": { + "additionalProperties": { + "$ref": "#/$defs/EnumDefinition__identifier_optional" + }, + "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": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "imports": { + "description": "A list of schemas that are to be included in this schema", + "items": { + "type": "string" + }, + "type": "array" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "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": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metamodel_version": { + "description": "Version of the metamodel used to load the schema", + "type": "string" + }, + "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" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "prefixes": { + "additionalProperties": { + "$ref": "#/$defs/Prefix__identifier_optional" + }, + "description": "A collection of prefix expansions that specify how CURIEs can be expanded to URIs", + "type": "object" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "settings": { + "additionalProperties": { + "$ref": "#/$defs/Setting__identifier_optional" + }, + "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": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "An index to the collection of all slot definitions in the schema", + "type": "object" + }, + "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" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subsets": { + "additionalProperties": { + "$ref": "#/$defs/SubsetDefinition__identifier_optional" + }, + "description": "An index to the collection of all subset definitions in the schema", + "type": "object" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "types": { + "additionalProperties": { + "$ref": "#/$defs/TypeDefinition__identifier_optional" + }, + "description": "An index to the collection of all type definitions in the schema", + "type": "object" + }, + "version": { + "description": "particular version of schema", + "type": "string" + } + }, + "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" + }, + "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" + }, + "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" + }, + "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", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/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" + }, + "asymmetric": { + "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", + "type": "boolean" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "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" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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_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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "has_member": { + "$ref": "#/$defs/AnonymousSlotExpression", + "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" + }, + "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\nlinkml.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" + }, + "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" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "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" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "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" + }, + "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": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_cardinality": { + "description": "the minimum number of entries for a multivalued slot", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "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" + }, + "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" + }, + "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" + }, + "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 assignemnts" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "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 hiearchy 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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "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", + "items": { + "$ref": "#/$defs/AnonymousSlotExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/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" + }, + "asymmetric": { + "description": "If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i", + "type": "boolean" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "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" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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_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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "has_member": { + "$ref": "#/$defs/AnonymousSlotExpression", + "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" + }, + "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\nlinkml.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" + }, + "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" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "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" + }, + "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" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "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" + }, + "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": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_cardinality": { + "description": "the minimum number of entries for a multivalued slot", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "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" + }, + "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" + }, + "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" + }, + "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 assignemnts" + }, + "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" + }, + "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" + }, + "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" + }, + "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" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "string_serialization": { + "description": "Used on a slot that stores the string serialization of the containing object. The syntax follows python formatted strings, with slot names enclosed in {}s. These are expanded using the values of those slots.\nWe call the slot with the serialization the s-slot, the slots used in the {}s are v-slots. If both s-slots and v-slots are populated on an object then the value of the s-slot should correspond to the expansion.\nImplementations of frameworks may choose to use this property to either (a) PARSE: implement automated normalizations by parsing denormalized strings into complex objects (b) GENERARE: implement automated to_string labeling of complex objects\nFor example, a Measurement class may have 3 fields: unit, value, and string_value. The string_value slot may have a string_serialization of {value}{unit} such that if unit=cm and value=2, the value of string_value shouldd be 2cm", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "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 hiearchy 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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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 hiearchy into an enumerated list of possible values in every serialization of the model.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "description": "The category or categories of an alias. This can be drawn from any relevant vocabulary", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "literal_form": { + "description": "The literal lexical form of a structured alias; i.e the actual alias value.", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "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." + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "literal_form" + ], + "title": "StructuredAlias", + "type": "object" + }, + "SubsetDefinition": { + "additionalProperties": false, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "title": "SubsetDefinition", + "type": "object" + }, + "SubsetDefinition__identifier_optional": { + "additionalProperties": false, + "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" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [], + "title": "SubsetDefinition", + "type": "object" + }, + "TypeDefinition": { + "additionalProperties": false, + "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" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "base": { + "description": "python base type in the LinkML runtime that implements this type definition", + "type": "string" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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_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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "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" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maximum_value": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "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" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "repr": { + "description": "the name of the python object that implements this type definition", + "type": "string" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "uri": { + "description": "The uri that defines the possible values for the type definition", + "type": "string" + } + }, + "required": [ + "name" + ], + "title": "TypeDefinition", + "type": "object" + }, + "TypeDefinition__identifier_optional": { + "additionalProperties": false, + "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" + }, + "all_of": { + "description": "holds if all of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "any_of": { + "description": "holds if at least one of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "base": { + "description": "python base type in the LinkML runtime that implements this type definition", + "type": "string" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "definition_uri": { + "description": "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "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_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" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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" + }, + "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" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "maximum_value": { + "description": "for slots with ranges of type number, the value must be equal to or lowe than this", + "type": "integer" + }, + "minimum_value": { + "description": "for slots with ranges of type number, the value must be equal to or higher than this", + "type": "integer" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "name": { + "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "none_of": { + "description": "holds if none of the expressions hold", + "items": { + "$ref": "#/$defs/AnonymousTypeExpression" + }, + "type": "array" + }, + "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" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "repr": { + "description": "the name of the python object that implements this type definition", + "type": "string" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "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" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "uri": { + "description": "The uri that defines the possible values for the type definition", + "type": "string" + } + }, + "required": [], + "title": "TypeDefinition", + "type": "object" + }, + "UniqueKey": { + "additionalProperties": false, + "description": "a collection of slots whose values uniquely identify an instance of a class", + "properties": { + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_key_name": { + "description": "name of the unique key", + "type": "string" + }, + "unique_key_slots": { + "description": "list of slot names that form a key. The tuple formed from the values of all these slots should be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "unique_key_name", + "unique_key_slots" + ], + "title": "UniqueKey", + "type": "object" + }, + "UniqueKey__identifier_optional": { + "additionalProperties": false, + "description": "a collection of slots whose values uniquely identify an instance of a class", + "properties": { + "aliases": { + "description": "Alternate names/labels for the element. These do not alter the semantics of the schema, but may be useful to support search and alignment.", + "items": { + "type": "string" + }, + "type": "array" + }, + "alt_descriptions": { + "additionalProperties": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "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" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", + "type": "string" + }, + "description": { + "description": "a textual description of the element's purpose and use", + "type": "string" + }, + "exact_mappings": { + "description": "A list of terms from different schemas or terminology systems that have identical meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "examples": { + "description": "example usages of an element", + "items": { + "$ref": "#/$defs/Example" + }, + "type": "array" + }, + "extensions": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "description": "a tag/text tuple attached to an arbitrary element", + "type": "object" + }, + "from_schema": { + "description": "id of the schema that defined the element", + "type": "string" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", + "type": "string" + }, + "in_language": { + "description": "the primary language used in the sources", + "type": "string" + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", + "type": "string" + }, + "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" + }, + "modified_by": { + "description": "agent that modified the element", + "type": "string" + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "source": { + "description": "A related resource from which the element is derived.", + "type": "string" + }, + "status": { + "description": "status of the element", + "type": "string" + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "title": { + "description": "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation.", + "type": "string" + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "unique_key_name": { + "description": "name of the unique key", + "type": "string" + }, + "unique_key_slots": { + "description": "list of slot names that form a key. The tuple formed from the values of all these slots should be unique.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "unique_key_slots" + ], + "title": "UniqueKey", + "type": "object" + }, + "UnitOfMeasure": { + "additionalProperties": false, + "description": "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension).", + "properties": { + "derivation": { + "description": "Expression for deriving this unit from other units", + "type": "string" + }, + "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" + }, + "has_quantity_kind": { + "description": "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length", + "type": "string" + }, + "iec61360code": { + "type": "string" + }, + "symbol": { + "description": "name of the unit encoded as a symbol", + "type": "string" + }, + "ucum_code": { + "description": "associates a QUDT unit with its UCUM code (case-sensitive).", + "type": "string" + } + }, + "title": "UnitOfMeasure", + "type": "object" + } + }, + "$id": "https://w3id.org/linkml/meta", + "$schema": "http://json-schema.org/draft-07/schema#", + "additionalProperties": true, + "metamodel_version": "1.7.0", + "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": { + "$ref": "#/$defs/AltDescription__identifier_optional" + }, + "description": "A sourced alternative description for an element", + "type": "object" + }, + "annotations": { + "additionalProperties": { + "$ref": "#/$defs/Annotation__identifier_optional" + }, + "description": "a collection of tag/text tuples with the semantics of OWL Annotation", + "type": "object" + }, + "broad_mappings": { + "description": "A list of terms from different schemas or terminology systems that have broader meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "categories": { + "description": "Controlled terms used to categorize an element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "classes": { + "additionalProperties": { + "$ref": "#/$defs/ClassDefinition__identifier_optional" + }, + "description": "An index to the collection of all class definitions in the schema", + "type": "object" + }, + "close_mappings": { + "description": "A list of terms from different schemas or terminology systems that have close meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "comments": { + "description": "notes and comments about an element intended primarily for external consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "conforms_to": { + "description": "An established standard to which the element conforms.", + "type": "string" + }, + "created_by": { + "description": "agent that created the element", + "type": "string" + }, + "created_on": { + "description": "time at which the element was created", + "format": "date-time", + "type": "string" + }, + "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" + }, + "deprecated": { + "description": "Description of why and when this element will no longer be used", + "type": "string" + }, + "deprecated_element_has_exact_replacement": { + "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", + "type": "string" + }, + "deprecated_element_has_possible_replacement": { + "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", "type": "string" - }, - "type": "array" - }, - "alt_descriptions": { - "additionalProperties": { - "$ref": "#/$defs/AltDescription__identifier_optional" - } - }, - "annotations": { - "additionalProperties": { - "$ref": "#/$defs/Annotation__identifier_optional" - }, - "description": "a collection of tag/text tuples with the semantics of OWL Annotation" - }, - "broad_mappings": { - "description": "A list of terms from different schemas or terminology systems that have broader meaning.", - "items": { + }, + "description": { + "description": "a textual description of the element's purpose and use", "type": "string" - }, - "type": "array" - }, - "categories": { - "description": "controlled terms used to categorize an element", - "items": { + }, + "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" + }, + "enums": { + "additionalProperties": { + "$ref": "#/$defs/EnumDefinition__identifier_optional" + }, + "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": { + "additionalProperties": { + "$ref": "#/$defs/Extension__identifier_optional" + }, + "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": "array" - }, - "classes": { - "additionalProperties": { - "$ref": "#/$defs/ClassDefinition__identifier_optional" - }, - "description": "class definitions" - }, - "close_mappings": { - "description": "A list of terms from different schemas or terminology systems that have close meaning.", - "items": { + }, + "generation_date": { + "description": "date and time that the schema was loaded/generated", + "format": "date-time", "type": "string" - }, - "type": "array" - }, - "comments": { - "description": "notes and comments about an element intended for external consumption", - "items": { + }, + "id": { + "description": "The official schema URI", "type": "string" - }, - "type": "array" - }, - "conforms_to": { - "description": "An established standard to which the element conforms.", - "type": "string" - }, - "default_curi_maps": { - "description": "ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables", - "items": { + }, + "id_prefixes": { + "description": "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix", + "items": { + "type": "string" + }, + "type": "array" + }, + "implements": { + "description": "An element in another schema which this element conforms to. The referenced element is not imported into the schema for the implementing element. However, the referenced schema may be used to check conformance of the implementing element.", + "items": { + "type": "string" + }, + "type": "array" + }, + "imported_from": { + "description": "the imports entry that this element was derived from. Empty means primary source", "type": "string" - }, - "type": "array" - }, - "default_prefix": { - "description": "default and base prefix -- used for ':' identifiers, @base and @vocab", - "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", - "type": "string" - }, - "deprecated": { - "description": "Description of why and when this element will no longer be used", - "type": "string" - }, - "deprecated_element_has_exact_replacement": { - "description": "When an element is deprecated, it can be automatically replaced by this uri or curie", - "type": "string" - }, - "deprecated_element_has_possible_replacement": { - "description": "When an element is deprecated, it can be potentially replaced by this uri or curie", - "type": "string" - }, - "description": { - "description": "a description of the element's purpose and use", - "type": "string" - }, - "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": { + }, + "imports": { + "description": "A list of schemas that are to be included in this schema", + "items": { + "type": "string" + }, + "type": "array" + }, + "in_language": { + "description": "the primary language used in the sources", "type": "string" - }, - "type": "array" - }, - "enums": { - "additionalProperties": { - "$ref": "#/$defs/EnumDefinition__identifier_optional" - }, - "description": "enumerated ranges" - }, - "exact_mappings": { - "description": "A list of terms from different schemas or terminology systems that have identical meaning.", - "items": { + }, + "in_subset": { + "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application.", + "items": { + "type": "string" + }, + "type": "array" + }, + "keywords": { + "description": "Keywords or tags used to describe the element", + "items": { + "type": "string" + }, + "type": "array" + }, + "last_updated_on": { + "description": "time at which the element was last updated", + "format": "date-time", "type": "string" - }, - "type": "array" - }, - "examples": { - "description": "example usages of an element", - "items": { - "$ref": "#/$defs/Example" - }, - "type": "array" - }, - "extensions": { - "additionalProperties": { - "$ref": "#/$defs/Extension__identifier_optional" - }, - "description": "a tag/text tuple attached to an arbitrary element" - }, - "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": "the identifier of this class or slot must begin with the URIs referenced by this prefix", - "items": { + }, + "license": { + "description": "license for the schema", "type": "string" - }, - "type": "array" - }, - "imported_from": { - "description": "the imports entry that this element was derived from. Empty means primary source", - "type": "string" - }, - "imports": { - "description": "other schemas that are included in this schema", - "items": { + }, + "local_names": { + "additionalProperties": { + "$ref": "#/$defs/LocalName__identifier_optional" + }, + "type": "object" + }, + "mappings": { + "description": "A list of terms from different schemas or terminology systems that have comparable meaning. These may include terms that are precisely equivalent, broader or narrower in meaning, or otherwise semantically related but not equivalent from a strict ontological perspective.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metamodel_version": { + "description": "Version of the metamodel used to load the schema", "type": "string" - }, - "type": "array" - }, - "in_language": { - "type": "string" - }, - "in_subset": { - "description": "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)", - "items": { + }, + "modified_by": { + "description": "agent that modified the element", "type": "string" - }, - "type": "array" - }, - "keywords": { - "description": "Keywords or tags used to describe the element", - "items": { + }, + "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": "array" - }, - "license": { - "description": "license for the schema", - "type": "string" - }, - "local_names": { - "additionalProperties": { - "$ref": "#/$defs/LocalName__identifier_optional" - } - }, - "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": { + }, + "narrow_mappings": { + "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notes": { + "description": "editorial notes about an element intended primarily for internal consumption", + "items": { + "type": "string" + }, + "type": "array" + }, + "prefixes": { + "additionalProperties": { + "$ref": "#/$defs/Prefix__identifier_optional" + }, + "description": "A collection of prefix expansions that specify how CURIEs can be expanded to URIs", + "type": "object" + }, + "rank": { + "description": "the relative order in which the element occurs, lower values are given precedence", + "type": "integer" + }, + "related_mappings": { + "description": "A list of terms from different schemas or terminology systems that have related meaning.", + "items": { + "type": "string" + }, + "type": "array" + }, + "see_also": { + "description": "A list of related entities or URLs that may be of relevance", + "items": { + "type": "string" + }, + "type": "array" + }, + "settings": { + "additionalProperties": { + "$ref": "#/$defs/Setting__identifier_optional" + }, + "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": { + "$ref": "#/$defs/SlotDefinition__identifier_optional" + }, + "description": "An index to the collection of all slot definitions in the schema", + "type": "object" + }, + "source": { + "description": "A related resource from which the element is derived.", "type": "string" - }, - "type": "array" - }, - "metamodel_version": { - "description": "Version of the metamodel used to load the schema", - "type": "string" - }, - "name": { - "description": "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class.", - "type": "string" - }, - "narrow_mappings": { - "description": "A list of terms from different schemas or terminology systems that have narrower meaning.", - "items": { + }, + "source_file": { + "description": "name, uri or description of the source of the schema", "type": "string" - }, - "type": "array" - }, - "notes": { - "description": "editorial notes about an element intended for internal consumption", - "items": { + }, + "source_file_date": { + "description": "modification date of the source of the schema", + "format": "date-time", "type": "string" - }, - "type": "array" - }, - "prefixes": { - "additionalProperties": { - "$ref": "#/$defs/Prefix__identifier_optional" - }, - "description": "prefix / URI definitions to be added to the context beyond those fetched from prefixcommons in id prefixes" - }, - "rank": { - "description": "the relative order in which the element occurs, lower values are given precedence", - "type": "integer" - }, - "related_mappings": { - "description": "A list of terms from different schemas or terminology systems that have related meaning.", - "items": { + }, + "source_file_size": { + "description": "size in bytes of the source of the schema", + "type": "integer" + }, + "status": { + "description": "status of the element", "type": "string" - }, - "type": "array" - }, - "see_also": { - "description": "a reference", - "items": { + }, + "structured_aliases": { + "description": "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata.", + "items": { + "$ref": "#/$defs/StructuredAlias" + }, + "type": "array" + }, + "subsets": { + "additionalProperties": { + "$ref": "#/$defs/SubsetDefinition__identifier_optional" + }, + "description": "An index to the collection of all subset definitions in the schema", + "type": "object" + }, + "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": "array" - }, - "settings": { - "additionalProperties": { - "$ref": "#/$defs/Setting__identifier_optional" - }, - "description": "A collection of global variable settings" - }, - "slot_names_unique": { - "description": "if true then induced/mangled slot names are not created for class_usage and attributes", - "type": "boolean" - }, - "slots": { - "additionalProperties": { - "$ref": "#/$defs/SlotDefinition__identifier_optional" - }, - "description": "slot definitions" - }, - "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" - }, - "structured_aliases": { - "description": "A list of structured_alias objects.", - "items": { - "$ref": "#/$defs/StructuredAlias" - }, - "type": "array" - }, - "subsets": { - "additionalProperties": { - "$ref": "#/$defs/SubsetDefinition__identifier_optional" - }, - "description": "list of subsets referenced in this model" - }, - "title": { - "description": "the official title of the element", - "type": "string" - }, - "todos": { - "description": "Outstanding issue that needs resolution", - "items": { + }, + "todos": { + "description": "Outstanding issues that needs resolution", + "items": { + "type": "string" + }, + "type": "array" + }, + "types": { + "additionalProperties": { + "$ref": "#/$defs/TypeDefinition__identifier_optional" + }, + "description": "An index to the collection of all type definitions in the schema", + "type": "object" + }, + "version": { + "description": "particular version of schema", "type": "string" - }, - "type": "array" - }, - "types": { - "additionalProperties": { - "$ref": "#/$defs/TypeDefinition__identifier_optional" - }, - "description": "data types used in the model" - }, - "version": { - "description": "particular version of schema", - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "title": "meta", - "type": "object", - "version": "2.0.0" -} - + } + }, + "required": [ + "id", + "name" + ], + "title": "meta", + "type": "object", + "version": "2.0.0" +} \ No newline at end of file diff --git a/linkml_runtime/linkml_model/mappings.py b/linkml_runtime/linkml_model/mappings.py index 9a4be02c..1a7b3a03 100644 --- a/linkml_runtime/linkml_model/mappings.py +++ b/linkml_runtime/linkml_model/mappings.py @@ -1,5 +1,5 @@ # Auto generated from mappings.yaml by pythongen.py version: 0.9.0 -# Generation date: 2022-07-02T00:43:35 +# Generation date: 2022-07-14T00:57:21 # Schema: mappings # # id: https://w3id.org/linkml/mappings diff --git a/linkml_runtime/linkml_model/meta.py b/linkml_runtime/linkml_model/meta.py index 22c57922..eb43d1c3 100644 --- a/linkml_runtime/linkml_model/meta.py +++ b/linkml_runtime/linkml_model/meta.py @@ -1,17 +1,19 @@ # Auto generated from meta.yaml by pythongen.py version: 0.9.0 -# Generation date: 2022-07-13T17:59:08 +# Generation date: 2023-03-16T10:58:36 # Schema: meta # # id: https://w3id.org/linkml/meta # description: The metamodel for schemas defined using the Linked Data Modeling Language framework. For more -# information on LinkML, see [linkml.io](https://linkml.io) Core metaclasses: * +# information on LinkML: * [linkml.io](https://linkml.io) main website * +# [specification](https://w3id.org/linkml/docs/specification/) LinkML is self-describing. Every +# LinkML schema consists of elements that instantiate classes in this metamodel. Core metaclasses: * # [SchemaDefinition](https://w3id.org/linkml/SchemaDefinition) * # [ClassDefinition](https://w3id.org/linkml/ClassDefinition) * # [SlotDefinition](https://w3id.org/linkml/SlotDefinition) * -# [TypeDefinition](https://w3id.org/linkml/TypeDefinition) Every LinkML model instantiates -# SchemaDefinition, all classes in the model instantiate ClassDefinition, and so on Note that the -# LinkML metamodel instantiates itself. For a non-normative introduction to LinkML schemas, see the -# tutorial and schema guide on [linkml.io/linkml]. For canonical reference documentation on any +# [TypeDefinition](https://w3id.org/linkml/TypeDefinition) There are many subsets of *profiles* of +# the metamodel, for different purposes: * [MinimalSubset](https://w3id.org/linkml/MinimalSubset) * +# [BasicSubset](https://w3id.org/linkml/BasicSubset) * +# [BasicSubset](https://w3id.org/linkml/BasicSubset) For canonical reference documentation on any # metamodel construct, refer to the official URI for each construct, e.g. # [https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a) # license: https://creativecommons.org/publicdomain/zero/1.0/ @@ -58,7 +60,7 @@ RDF = CurieNamespace('rdf', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#') RDFS = CurieNamespace('rdfs', 'http://www.w3.org/2000/01/rdf-schema#') SCHEMA = CurieNamespace('schema', 'http://schema.org/') -SH = CurieNamespace('sh', 'https://w3id.org/shacl/') +SH = CurieNamespace('sh', 'http://www.w3.org/ns/shacl#') SKOS = CurieNamespace('skos', 'http://www.w3.org/2004/02/skos/core#') SKOSXL = CurieNamespace('skosxl', 'http://www.w3.org/2008/05/skos-xl#') SWRL = CurieNamespace('swrl', 'http://www.w3.org/2003/11/swrl#') @@ -126,6 +128,8 @@ class UniqueKeyUniqueKeyName(extended_str): pass +Anything = Any + @dataclass class CommonMetadata(YAMLRoot): """ @@ -162,6 +166,11 @@ class CommonMetadata(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -248,6 +257,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -257,7 +281,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class Element(YAMLRoot): """ - a named element in the model + A named element in the model """ _inherited_slots: ClassVar[List[str]] = [] @@ -271,6 +295,7 @@ class Element(YAMLRoot): definition_uri: Optional[Union[str, URIorCURIE]] = None local_names: Optional[Union[Dict[Union[str, LocalNameLocalNameSource], Union[dict, "LocalName"]], List[Union[dict, "LocalName"]]]] = empty_dict() conforms_to: Optional[str] = None + implements: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = 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 @@ -297,6 +322,11 @@ class Element(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -317,6 +347,10 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.conforms_to is not None and not isinstance(self.conforms_to, str): self.conforms_to = str(self.conforms_to) + 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] + 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) @@ -404,6 +438,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -413,7 +462,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class SchemaDefinition(Element): """ - a collection of subset, type, slot and class definitions + A collection of definitions that make up a schema or a data model. """ _inherited_slots: ClassVar[List[str]] = [] @@ -529,6 +578,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class AnonymousTypeExpression(YAMLRoot): + """ + A type expression that is not a top-level named type definition. Used for nesting. + """ _inherited_slots: ClassVar[List[str]] = ["pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] class_class_uri: ClassVar[URIRef] = LINKML.AnonymousTypeExpression @@ -601,7 +653,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class TypeDefinition(Element): """ - A data type definition. + an element that whose instances are atomic scalar values that can be mapped to primitive types """ _inherited_slots: ClassVar[List[str]] = ["base", "uri", "repr", "pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] @@ -702,7 +754,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class SubsetDefinition(Element): """ - the name and description of a subset + an element that can be used to group other metamodel elements """ _inherited_slots: ClassVar[List[str]] = [] @@ -725,7 +777,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class Definition(Element): """ - base class for definitions + abstract base class for core metaclasses """ _inherited_slots: ClassVar[List[str]] = [] @@ -741,11 +793,6 @@ class Definition(Element): mixins: Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]] = empty_list() apply_to: Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]] = empty_list() values_from: Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]] = empty_list() - created_by: Optional[Union[str, URIorCURIE]] = None - 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 string_serialization: Optional[str] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -770,21 +817,6 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.values_from = [self.values_from] if self.values_from is not None else [] self.values_from = [v if isinstance(v, URIorCURIE) else URIorCURIE(v) for v in self.values_from] - if self.created_by is not None and not isinstance(self.created_by, URIorCURIE): - self.created_by = URIorCURIE(self.created_by) - - 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.string_serialization is not None and not isinstance(self.string_serialization, str): self.string_serialization = str(self.string_serialization) @@ -858,7 +890,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class EnumDefinition(Definition): """ - List of values that constrain the range of a slot + an element whose instances must be drawn from a specified set of permissible values """ _inherited_slots: ClassVar[List[str]] = [] @@ -873,8 +905,7 @@ class EnumDefinition(Definition): code_set_tag: Optional[str] = None 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() + 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() inherits: Optional[Union[Union[str, EnumDefinitionName], List[Union[str, EnumDefinitionName]]]] = empty_list() @@ -1042,6 +1073,11 @@ class StructuredAlias(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1144,6 +1180,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -1164,6 +1215,9 @@ class Expression(YAMLRoot): @dataclass class TypeExpression(Expression): + """ + An abstract class grouping named types and anonymous type expressions + """ _inherited_slots: ClassVar[List[str]] = ["pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "minimum_value", "maximum_value"] class_class_uri: ClassVar[URIRef] = LINKML.TypeExpression @@ -1299,6 +1353,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class AnonymousExpression(YAMLRoot): + """ + An abstract parent class for any nested expression + """ _inherited_slots: ClassVar[List[str]] = [] class_class_uri: ClassVar[URIRef] = LINKML.AnonymousExpression @@ -1332,6 +1389,11 @@ class AnonymousExpression(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1422,6 +1484,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -1474,6 +1551,11 @@ class PathExpression(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -1592,6 +1674,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -1603,7 +1700,7 @@ 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", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] class_class_uri: ClassVar[URIRef] = LINKML.SlotExpression class_class_curie: ClassVar[str] = "linkml:SlotExpression" @@ -1623,6 +1720,7 @@ class SlotExpression(Expression): structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None implicit_prefix: Optional[str] = None + value_presence: Optional[Union[str, "PresenceEnum"]] = None equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None @@ -1630,7 +1728,7 @@ class SlotExpression(Expression): minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, "AnonymousSlotExpression"]] = None - all_members: Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, "SlotDefinition"]], List[Union[dict, "SlotDefinition"]]]] = empty_dict() + all_members: Optional[Union[dict, "AnonymousSlotExpression"]] = None none_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() 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() @@ -1676,6 +1774,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.implicit_prefix is not None and not isinstance(self.implicit_prefix, str): self.implicit_prefix = str(self.implicit_prefix) + if self.value_presence is not None and not isinstance(self.value_presence, PresenceEnum): + self.value_presence = PresenceEnum(self.value_presence) + if self.equals_string is not None and not isinstance(self.equals_string, str): self.equals_string = str(self.equals_string) @@ -1698,7 +1799,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.has_member is not None and not isinstance(self.has_member, AnonymousSlotExpression): self.has_member = AnonymousSlotExpression(**as_dict(self.has_member)) - self._normalize_inlined_as_dict(slot_name="all_members", slot_type=SlotDefinition, key_name="name", keyed=True) + if self.all_members is not None and not isinstance(self.all_members, AnonymousSlotExpression): + self.all_members = AnonymousSlotExpression(**as_dict(self.all_members)) if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] @@ -1721,7 +1823,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class AnonymousSlotExpression(AnonymousExpression): - _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] class_class_uri: ClassVar[URIRef] = LINKML.AnonymousSlotExpression class_class_curie: ClassVar[str] = "linkml:AnonymousSlotExpression" @@ -1741,6 +1843,7 @@ class AnonymousSlotExpression(AnonymousExpression): structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None implicit_prefix: Optional[str] = None + value_presence: Optional[Union[str, "PresenceEnum"]] = None equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None @@ -1748,7 +1851,7 @@ class AnonymousSlotExpression(AnonymousExpression): minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, "AnonymousSlotExpression"]] = None - all_members: Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, "SlotDefinition"]], List[Union[dict, "SlotDefinition"]]]] = empty_dict() + all_members: Optional[Union[dict, "AnonymousSlotExpression"]] = None none_of: Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]] = empty_list() 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() @@ -1794,6 +1897,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.implicit_prefix is not None and not isinstance(self.implicit_prefix, str): self.implicit_prefix = str(self.implicit_prefix) + if self.value_presence is not None and not isinstance(self.value_presence, PresenceEnum): + self.value_presence = PresenceEnum(self.value_presence) + if self.equals_string is not None and not isinstance(self.equals_string, str): self.equals_string = str(self.equals_string) @@ -1816,7 +1922,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.has_member is not None and not isinstance(self.has_member, AnonymousSlotExpression): self.has_member = AnonymousSlotExpression(**as_dict(self.has_member)) - self._normalize_inlined_as_dict(slot_name="all_members", slot_type=SlotDefinition, key_name="name", keyed=True) + if self.all_members is not None and not isinstance(self.all_members, AnonymousSlotExpression): + self.all_members = AnonymousSlotExpression(**as_dict(self.all_members)) if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] @@ -1840,9 +1947,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class SlotDefinition(Definition): """ - the definition of a property or a slot + an element that describes how instances are related to other instances """ - _inherited_slots: ClassVar[List[str]] = ["domain", "multivalued", "inherited", "readonly", "ifabsent", "list_elements_unique", "list_elements_ordered", "shared", "key", "identifier", "designates_type", "role", "relational_role", "range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] + _inherited_slots: ClassVar[List[str]] = ["domain", "multivalued", "inherited", "readonly", "ifabsent", "list_elements_unique", "list_elements_ordered", "shared", "key", "identifier", "designates_type", "role", "relational_role", "range", "required", "recommended", "inlined", "inlined_as_list", "minimum_value", "maximum_value", "pattern", "structured_pattern", "value_presence", "equals_string", "equals_string_in", "equals_number", "equals_expression", "minimum_cardinality", "maximum_cardinality"] class_class_uri: ClassVar[URIRef] = LINKML.SlotDefinition class_class_curie: ClassVar[str] = "linkml:SlotDefinition" @@ -1886,7 +1993,7 @@ class SlotDefinition(Definition): path_rule: Optional[Union[dict, PathExpression]] = None 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, TypeDefinitionName], List[Union[str, TypeDefinitionName]]]] = empty_list() + union_of: Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]] = 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() @@ -1903,6 +2010,7 @@ class SlotDefinition(Definition): structured_pattern: Optional[Union[dict, "PatternExpression"]] = None unit: Optional[Union[dict, UnitOfMeasure]] = None implicit_prefix: Optional[str] = None + value_presence: Optional[Union[str, "PresenceEnum"]] = None equals_string: Optional[str] = None equals_string_in: Optional[Union[str, List[str]]] = empty_list() equals_number: Optional[int] = None @@ -1910,7 +2018,7 @@ class SlotDefinition(Definition): minimum_cardinality: Optional[int] = None maximum_cardinality: Optional[int] = None has_member: Optional[Union[dict, AnonymousSlotExpression]] = None - all_members: Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, "SlotDefinition"]], List[Union[dict, "SlotDefinition"]]]] = empty_dict() + all_members: Optional[Union[dict, AnonymousSlotExpression]] = None none_of: Optional[Union[Union[dict, AnonymousSlotExpression], List[Union[dict, AnonymousSlotExpression]]]] = empty_list() 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() @@ -2034,7 +2142,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if not isinstance(self.union_of, list): self.union_of = [self.union_of] if self.union_of is not None else [] - self.union_of = [v if isinstance(v, TypeDefinitionName) else TypeDefinitionName(v) for v in self.union_of] + self.union_of = [v if isinstance(v, SlotDefinitionName) else SlotDefinitionName(v) for v in self.union_of] if self.is_a is not None and not isinstance(self.is_a, SlotDefinitionName): self.is_a = SlotDefinitionName(self.is_a) @@ -2086,6 +2194,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.implicit_prefix is not None and not isinstance(self.implicit_prefix, str): self.implicit_prefix = str(self.implicit_prefix) + if self.value_presence is not None and not isinstance(self.value_presence, PresenceEnum): + self.value_presence = PresenceEnum(self.value_presence) + if self.equals_string is not None and not isinstance(self.equals_string, str): self.equals_string = str(self.equals_string) @@ -2108,7 +2219,8 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.has_member is not None and not isinstance(self.has_member, AnonymousSlotExpression): self.has_member = AnonymousSlotExpression(**as_dict(self.has_member)) - self._normalize_inlined_as_dict(slot_name="all_members", slot_type=SlotDefinition, key_name="name", keyed=True) + if self.all_members is not None and not isinstance(self.all_members, AnonymousSlotExpression): + self.all_members = AnonymousSlotExpression(**as_dict(self.all_members)) if not isinstance(self.none_of, list): self.none_of = [self.none_of] if self.none_of is not None else [] @@ -2213,7 +2325,7 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @dataclass class ClassDefinition(Definition): """ - the definition of a class or interface + an element whose instances are complex objects that may have slot-value assignments """ _inherited_slots: ClassVar[List[str]] = ["defining_slots", "represents_relationship"] @@ -2390,6 +2502,11 @@ class ClassRule(ClassLevelRule): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.preconditions is not None and not isinstance(self.preconditions, AnonymousClassExpression): @@ -2500,6 +2617,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) + super().__post_init__(**kwargs) @@ -2544,6 +2676,11 @@ class PatternExpression(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -2643,6 +2780,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -2690,6 +2842,11 @@ class ImportExpression(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -2790,6 +2947,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -2897,6 +3069,7 @@ class Example(YAMLRoot): value: Optional[str] = None description: Optional[str] = None + object: Optional[Union[dict, Anything]] = None def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): if self.value is not None and not isinstance(self.value, str): @@ -2980,6 +3153,11 @@ class PermissibleValue(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -3088,6 +3266,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -3108,6 +3301,7 @@ class UniqueKey(YAMLRoot): unique_key_name: Union[str, UniqueKeyUniqueKeyName] = None unique_key_slots: Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]] = None + consider_nulls_inequal: Optional[Union[bool, Bool]] = 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 @@ -3134,6 +3328,11 @@ class UniqueKey(YAMLRoot): 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 + 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 def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): @@ -3148,6 +3347,9 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): self.unique_key_slots = [self.unique_key_slots] if self.unique_key_slots is not None else [] self.unique_key_slots = [v if isinstance(v, SlotDefinitionName) else SlotDefinitionName(v) for v in self.unique_key_slots] + if self.consider_nulls_inequal is not None and not isinstance(self.consider_nulls_inequal, Bool): + self.consider_nulls_inequal = Bool(self.consider_nulls_inequal) + 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) @@ -3235,6 +3437,21 @@ def __post_init__(self, *_: List[str], **kwargs: Dict[str, Any]): 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 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) @@ -3297,7 +3514,9 @@ class RelationalRoleEnum(EnumDefinitionImpl): ) class AliasPredicateEnum(EnumDefinitionImpl): - + """ + permissible values for the relationship between an element and an alias + """ EXACT_SYNONYM = PermissibleValue(text="EXACT_SYNONYM", meaning=SKOS.exactMatch) RELATED_SYNONYM = PermissibleValue(text="RELATED_SYNONYM", @@ -3309,7 +3528,705 @@ class AliasPredicateEnum(EnumDefinitionImpl): _defn = EnumDefinition( name="AliasPredicateEnum", + description="permissible values for the relationship between an element and an alias", ) # Slots +class slots: + pass + +slots.name = Slot(uri=RDFS.label, name="name", curie=RDFS.curie('label'), + model_uri=LINKML.name, domain=Element, range=Union[str, ElementName]) + +slots.title = Slot(uri=DCTERMS.title, name="title", curie=DCTERMS.curie('title'), + model_uri=LINKML.title, domain=Element, range=Optional[str]) + +slots.conforms_to = Slot(uri=DCTERMS.conformsTo, name="conforms_to", curie=DCTERMS.curie('conformsTo'), + model_uri=LINKML.conforms_to, domain=Element, range=Optional[str]) + +slots.implements = Slot(uri=LINKML.implements, name="implements", curie=LINKML.curie('implements'), + model_uri=LINKML.implements, domain=Element, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.categories = Slot(uri=DCTERMS.subject, name="categories", curie=DCTERMS.curie('subject'), + model_uri=LINKML.categories, domain=None, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.keywords = Slot(uri=SCHEMA.keywords, name="keywords", curie=SCHEMA.curie('keywords'), + model_uri=LINKML.keywords, domain=Element, range=Optional[Union[str, List[str]]]) + +slots.definition_uri = Slot(uri=LINKML.definition_uri, name="definition_uri", curie=LINKML.curie('definition_uri'), + model_uri=LINKML.definition_uri, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.id_prefixes = Slot(uri=LINKML.id_prefixes, name="id_prefixes", curie=LINKML.curie('id_prefixes'), + model_uri=LINKML.id_prefixes, domain=Element, range=Optional[Union[Union[str, NCName], List[Union[str, NCName]]]]) + +slots.description = Slot(uri=SKOS.definition, name="description", curie=SKOS.curie('definition'), + model_uri=LINKML.description, domain=Element, range=Optional[str]) + +slots.structured_aliases = Slot(uri=SKOSXL.altLabel, name="structured_aliases", curie=SKOSXL.curie('altLabel'), + model_uri=LINKML.structured_aliases, domain=None, range=Optional[Union[Union[dict, StructuredAlias], List[Union[dict, StructuredAlias]]]]) + +slots.aliases = Slot(uri=SKOS.altLabel, name="aliases", curie=SKOS.curie('altLabel'), + model_uri=LINKML.aliases, domain=Element, range=Optional[Union[str, List[str]]]) + +slots.deprecated = Slot(uri=LINKML.deprecated, name="deprecated", curie=LINKML.curie('deprecated'), + model_uri=LINKML.deprecated, domain=Element, range=Optional[str]) + +slots.todos = Slot(uri=LINKML.todos, name="todos", curie=LINKML.curie('todos'), + model_uri=LINKML.todos, domain=Element, range=Optional[Union[str, List[str]]]) + +slots.notes = Slot(uri=SKOS.editorialNote, name="notes", curie=SKOS.curie('editorialNote'), + model_uri=LINKML.notes, domain=Element, range=Optional[Union[str, List[str]]]) + +slots.comments = Slot(uri=SKOS.note, name="comments", curie=SKOS.curie('note'), + model_uri=LINKML.comments, domain=Element, range=Optional[Union[str, List[str]]]) + +slots.in_subset = Slot(uri=OIO.inSubset, name="in_subset", curie=OIO.curie('inSubset'), + model_uri=LINKML.in_subset, domain=Element, range=Optional[Union[Union[str, SubsetDefinitionName], List[Union[str, SubsetDefinitionName]]]]) + +slots.from_schema = Slot(uri=SKOS.inScheme, name="from_schema", curie=SKOS.curie('inScheme'), + model_uri=LINKML.from_schema, domain=Element, range=Optional[Union[str, URI]]) + +slots.imported_from = Slot(uri=LINKML.imported_from, name="imported_from", curie=LINKML.curie('imported_from'), + model_uri=LINKML.imported_from, domain=Element, range=Optional[str]) + +slots.see_also = Slot(uri=RDFS.seeAlso, name="see_also", curie=RDFS.curie('seeAlso'), + model_uri=LINKML.see_also, domain=Element, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.owned_by = Slot(uri=LINKML.owned_by, name="owned_by", curie=LINKML.curie('owned_by'), + model_uri=LINKML.owned_by, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.created_by = Slot(uri=PAV.createdBy, name="created_by", curie=PAV.curie('createdBy'), + model_uri=LINKML.created_by, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.contributors = Slot(uri=DCTERMS.contributor, name="contributors", curie=DCTERMS.curie('contributor'), + model_uri=LINKML.contributors, domain=Element, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.created_on = Slot(uri=PAV.createdOn, name="created_on", curie=PAV.curie('createdOn'), + model_uri=LINKML.created_on, domain=Element, range=Optional[Union[str, XSDDateTime]]) + +slots.last_updated_on = Slot(uri=PAV.lastUpdatedOn, name="last_updated_on", curie=PAV.curie('lastUpdatedOn'), + model_uri=LINKML.last_updated_on, domain=Element, range=Optional[Union[str, XSDDateTime]]) + +slots.modified_by = Slot(uri=OSLC.modifiedBy, name="modified_by", curie=OSLC.curie('modifiedBy'), + model_uri=LINKML.modified_by, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.status = Slot(uri=BIBO.status, name="status", curie=BIBO.curie('status'), + model_uri=LINKML.status, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.literal_form = Slot(uri=SKOSXL.literalForm, name="literal_form", curie=SKOSXL.curie('literalForm'), + model_uri=LINKML.literal_form, domain=StructuredAlias, range=str) + +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.in_language = Slot(uri=SCHEMA.inLanguage, name="in_language", curie=SCHEMA.curie('inLanguage'), + model_uri=LINKML.in_language, domain=None, range=Optional[str]) + +slots.source = Slot(uri=DCTERMS.source, name="source", curie=DCTERMS.curie('source'), + model_uri=LINKML.source, domain=Element, range=Optional[Union[str, URIorCURIE]]) + +slots.publisher = Slot(uri=DCTERMS.publisher, name="publisher", curie=DCTERMS.curie('publisher'), + 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]]) + +slots.abstract = Slot(uri=LINKML.abstract, name="abstract", curie=LINKML.curie('abstract'), + model_uri=LINKML.abstract, domain=Definition, range=Optional[Union[bool, Bool]]) + +slots.mixin = Slot(uri=LINKML.mixin, name="mixin", curie=LINKML.curie('mixin'), + 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]]]]) + +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]]]]) + +slots.values_from = Slot(uri=LINKML.values_from, name="values_from", curie=LINKML.curie('values_from'), + model_uri=LINKML.values_from, domain=Definition, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.code_set = Slot(uri=LINKML.code_set, name="code_set", curie=LINKML.curie('code_set'), + model_uri=LINKML.code_set, domain=EnumExpression, range=Optional[Union[str, URIorCURIE]]) + +slots.code_set_version = Slot(uri=LINKML.code_set_version, name="code_set_version", curie=LINKML.curie('code_set_version'), + model_uri=LINKML.code_set_version, domain=EnumExpression, range=Optional[str]) + +slots.code_set_tag = Slot(uri=LINKML.code_set_tag, name="code_set_tag", curie=LINKML.curie('code_set_tag'), + 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"]]) + +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"]]]]) + +slots.enum_uri = Slot(uri=LINKML.enum_uri, name="enum_uri", curie=LINKML.curie('enum_uri'), + 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"]]]]) + +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"]]]]) + +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"]]) + +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]) + +slots.concepts = Slot(uri=LINKML.concepts, name="concepts", curie=LINKML.curie('concepts'), + 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"]]) + +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]]) + +slots.is_direct = Slot(uri=LINKML.is_direct, name="is_direct", curie=LINKML.curie('is_direct'), + model_uri=LINKML.is_direct, domain=ReachabilityQuery, range=Optional[Union[bool, Bool]]) + +slots.traverse_up = Slot(uri=LINKML.traverse_up, name="traverse_up", curie=LINKML.curie('traverse_up'), + model_uri=LINKML.traverse_up, domain=ReachabilityQuery, range=Optional[Union[bool, Bool]]) + +slots.include_self = Slot(uri=LINKML.include_self, name="include_self", curie=LINKML.curie('include_self'), + model_uri=LINKML.include_self, domain=ReachabilityQuery, range=Optional[Union[bool, Bool]]) + +slots.relationship_types = Slot(uri=LINKML.relationship_types, name="relationship_types", curie=LINKML.curie('relationship_types'), + model_uri=LINKML.relationship_types, domain=ReachabilityQuery, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.source_nodes = Slot(uri=LINKML.source_nodes, name="source_nodes", curie=LINKML.curie('source_nodes'), + model_uri=LINKML.source_nodes, domain=ReachabilityQuery, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.text = Slot(uri=LINKML.text, name="text", curie=LINKML.curie('text'), + model_uri=LINKML.text, domain=PermissibleValue, range=Union[str, PermissibleValueText]) + +slots.meaning = Slot(uri=LINKML.meaning, name="meaning", curie=LINKML.curie('meaning'), + model_uri=LINKML.meaning, domain=PermissibleValue, range=Optional[Union[str, URIorCURIE]]) + +slots.id = Slot(uri=LINKML.id, name="id", curie=LINKML.curie('id'), + model_uri=LINKML.id, domain=SchemaDefinition, range=Union[str, URI]) + +slots.emit_prefixes = Slot(uri=LINKML.emit_prefixes, name="emit_prefixes", curie=LINKML.curie('emit_prefixes'), + model_uri=LINKML.emit_prefixes, domain=SchemaDefinition, range=Optional[Union[Union[str, NCName], List[Union[str, NCName]]]]) + +slots.version = Slot(uri=PAV.version, name="version", curie=PAV.curie('version'), + model_uri=LINKML.version, domain=SchemaDefinition, range=Optional[str]) + +slots.imports = Slot(uri=LINKML.imports, name="imports", curie=LINKML.curie('imports'), + model_uri=LINKML.imports, domain=SchemaDefinition, range=Optional[Union[Union[str, URIorCURIE], List[Union[str, URIorCURIE]]]]) + +slots.structured_imports = Slot(uri=LINKML.structured_imports, name="structured_imports", curie=LINKML.curie('structured_imports'), + model_uri=LINKML.structured_imports, domain=SchemaDefinition, range=Optional[Union[Union[dict, "ImportExpression"], List[Union[dict, "ImportExpression"]]]]) + +slots.license = Slot(uri=DCTERMS.license, name="license", curie=DCTERMS.curie('license'), + model_uri=LINKML.license, domain=SchemaDefinition, range=Optional[str]) + +slots.default_curi_maps = Slot(uri=LINKML.default_curi_maps, name="default_curi_maps", curie=LINKML.curie('default_curi_maps'), + model_uri=LINKML.default_curi_maps, domain=SchemaDefinition, range=Optional[Union[str, List[str]]]) + +slots.default_prefix = Slot(uri=LINKML.default_prefix, name="default_prefix", curie=LINKML.curie('default_prefix'), + model_uri=LINKML.default_prefix, domain=SchemaDefinition, range=Optional[str]) + +slots.default_range = Slot(uri=LINKML.default_range, name="default_range", curie=LINKML.curie('default_range'), + model_uri=LINKML.default_range, domain=SchemaDefinition, range=Optional[Union[str, TypeDefinitionName]]) + +slots.subsets = Slot(uri=LINKML.subsets, name="subsets", curie=LINKML.curie('subsets'), + model_uri=LINKML.subsets, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, SubsetDefinitionName], Union[dict, "SubsetDefinition"]], List[Union[dict, "SubsetDefinition"]]]]) + +slots.types = Slot(uri=LINKML.types, name="types", curie=LINKML.curie('types'), + model_uri=LINKML.types, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, TypeDefinitionName], Union[dict, "TypeDefinition"]], List[Union[dict, "TypeDefinition"]]]]) + +slots.enums = Slot(uri=LINKML.enums, name="enums", curie=LINKML.curie('enums'), + model_uri=LINKML.enums, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, EnumDefinitionName], Union[dict, "EnumDefinition"]], List[Union[dict, "EnumDefinition"]]]]) + +slots.slot_definitions = Slot(uri=LINKML.slots, name="slot_definitions", curie=LINKML.curie('slots'), + model_uri=LINKML.slot_definitions, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, "SlotDefinition"]], List[Union[dict, "SlotDefinition"]]]]) + +slots.classes = Slot(uri=LINKML.classes, name="classes", curie=LINKML.curie('classes'), + model_uri=LINKML.classes, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, ClassDefinitionName], Union[dict, "ClassDefinition"]], List[Union[dict, "ClassDefinition"]]]]) + +slots.metamodel_version = Slot(uri=LINKML.metamodel_version, name="metamodel_version", curie=LINKML.curie('metamodel_version'), + model_uri=LINKML.metamodel_version, domain=SchemaDefinition, range=Optional[str]) + +slots.source_file = Slot(uri=LINKML.source_file, name="source_file", curie=LINKML.curie('source_file'), + model_uri=LINKML.source_file, domain=SchemaDefinition, range=Optional[str]) + +slots.source_file_date = Slot(uri=LINKML.source_file_date, name="source_file_date", curie=LINKML.curie('source_file_date'), + model_uri=LINKML.source_file_date, domain=SchemaDefinition, range=Optional[Union[str, XSDDateTime]]) + +slots.source_file_size = Slot(uri=LINKML.source_file_size, name="source_file_size", curie=LINKML.curie('source_file_size'), + model_uri=LINKML.source_file_size, domain=SchemaDefinition, range=Optional[int]) + +slots.generation_date = Slot(uri=LINKML.generation_date, name="generation_date", curie=LINKML.curie('generation_date'), + model_uri=LINKML.generation_date, domain=SchemaDefinition, range=Optional[Union[str, XSDDateTime]]) + +slots.slots = Slot(uri=LINKML.slots, name="slots", curie=LINKML.curie('slots'), + model_uri=LINKML.slots, domain=ClassDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.slot_usage = Slot(uri=LINKML.slot_usage, name="slot_usage", curie=LINKML.curie('slot_usage'), + model_uri=LINKML.slot_usage, domain=ClassDefinition, range=Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, SlotDefinition]], List[Union[dict, SlotDefinition]]]]) + +slots.enum_range = Slot(uri=LINKML.enum_range, name="enum_range", curie=LINKML.curie('enum_range'), + model_uri=LINKML.enum_range, domain=None, range=Optional[Union[dict, EnumExpression]]) + +slots.range_expression = Slot(uri=LINKML.range_expression, name="range_expression", curie=LINKML.curie('range_expression'), + model_uri=LINKML.range_expression, domain=None, range=Optional[Union[dict, "AnonymousClassExpression"]]) + +slots.boolean_slot = Slot(uri=LINKML.boolean_slot, name="boolean_slot", curie=LINKML.curie('boolean_slot'), + model_uri=LINKML.boolean_slot, domain=None, range=Optional[Union[Union[dict, Expression], List[Union[dict, Expression]]]]) + +slots.any_of = Slot(uri=LINKML.any_of, name="any_of", curie=LINKML.curie('any_of'), + model_uri=LINKML.any_of, domain=None, range=Optional[Union[Union[dict, Expression], List[Union[dict, Expression]]]]) + +slots.exactly_one_of = Slot(uri=LINKML.exactly_one_of, name="exactly_one_of", curie=LINKML.curie('exactly_one_of'), + model_uri=LINKML.exactly_one_of, domain=None, range=Optional[Union[Union[dict, Expression], List[Union[dict, Expression]]]]) + +slots.none_of = Slot(uri=LINKML.none_of, name="none_of", curie=LINKML.curie('none_of'), + model_uri=LINKML.none_of, domain=None, range=Optional[Union[Union[dict, Expression], List[Union[dict, Expression]]]]) + +slots.all_of = Slot(uri=LINKML.all_of, name="all_of", curie=LINKML.curie('all_of'), + model_uri=LINKML.all_of, domain=None, range=Optional[Union[Union[dict, Expression], List[Union[dict, Expression]]]]) + +slots.preconditions = Slot(uri=SH.condition, name="preconditions", curie=SH.curie('condition'), + model_uri=LINKML.preconditions, domain=None, range=Optional[Union[dict, AnonymousClassExpression]]) + +slots.postconditions = Slot(uri=LINKML.postconditions, name="postconditions", curie=LINKML.curie('postconditions'), + model_uri=LINKML.postconditions, domain=None, range=Optional[Union[dict, AnonymousClassExpression]]) + +slots.elseconditions = Slot(uri=LINKML.elseconditions, name="elseconditions", curie=LINKML.curie('elseconditions'), + model_uri=LINKML.elseconditions, domain=None, range=Optional[Union[dict, AnonymousClassExpression]]) + +slots.bidirectional = Slot(uri=LINKML.bidirectional, name="bidirectional", curie=LINKML.curie('bidirectional'), + model_uri=LINKML.bidirectional, domain=None, range=Optional[Union[bool, Bool]]) + +slots.open_world = Slot(uri=LINKML.open_world, name="open_world", curie=LINKML.curie('open_world'), + model_uri=LINKML.open_world, domain=None, range=Optional[Union[bool, Bool]]) + +slots.rank = Slot(uri=SH.order, name="rank", curie=SH.curie('order'), + model_uri=LINKML.rank, domain=None, range=Optional[int]) + +slots.deactivated = Slot(uri=SH.deactivated, name="deactivated", curie=SH.curie('deactivated'), + model_uri=LINKML.deactivated, domain=None, range=Optional[Union[bool, Bool]]) + +slots.rules = Slot(uri=SH.rule, name="rules", curie=SH.curie('rule'), + model_uri=LINKML.rules, domain=ClassDefinition, range=Optional[Union[Union[dict, "ClassRule"], List[Union[dict, "ClassRule"]]]]) + +slots.classification_rules = Slot(uri=LINKML.classification_rules, name="classification_rules", curie=LINKML.curie('classification_rules'), + model_uri=LINKML.classification_rules, domain=ClassDefinition, range=Optional[Union[Union[dict, AnonymousClassExpression], List[Union[dict, AnonymousClassExpression]]]]) + +slots.slot_conditions = Slot(uri=LINKML.slot_conditions, name="slot_conditions", curie=LINKML.curie('slot_conditions'), + model_uri=LINKML.slot_conditions, domain=None, range=Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, SlotDefinition]], List[Union[dict, SlotDefinition]]]]) + +slots.attributes = Slot(uri=LINKML.attributes, name="attributes", curie=LINKML.curie('attributes'), + model_uri=LINKML.attributes, domain=ClassDefinition, range=Optional[Union[Dict[Union[str, SlotDefinitionName], Union[dict, SlotDefinition]], List[Union[dict, SlotDefinition]]]]) + +slots.class_uri = Slot(uri=LINKML.class_uri, name="class_uri", curie=LINKML.curie('class_uri'), + model_uri=LINKML.class_uri, domain=ClassDefinition, range=Optional[Union[str, URIorCURIE]]) + +slots.subclass_of = Slot(uri=LINKML.subclass_of, name="subclass_of", curie=LINKML.curie('subclass_of'), + model_uri=LINKML.subclass_of, domain=ClassDefinition, range=Optional[Union[str, URIorCURIE]]) + +slots.defining_slots = Slot(uri=LINKML.defining_slots, name="defining_slots", curie=LINKML.curie('defining_slots'), + model_uri=LINKML.defining_slots, domain=ClassDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.union_of = Slot(uri=LINKML.union_of, name="union_of", curie=LINKML.curie('union_of'), + model_uri=LINKML.union_of, domain=Element, range=Optional[Union[Union[str, ElementName], List[Union[str, ElementName]]]]) + +slots.tree_root = Slot(uri=LINKML.tree_root, name="tree_root", curie=LINKML.curie('tree_root'), + model_uri=LINKML.tree_root, domain=ClassDefinition, range=Optional[Union[bool, Bool]]) + +slots.unique_keys = Slot(uri=LINKML.unique_keys, name="unique_keys", curie=LINKML.curie('unique_keys'), + model_uri=LINKML.unique_keys, domain=ClassDefinition, range=Optional[Union[Dict[Union[str, UniqueKeyUniqueKeyName], Union[dict, "UniqueKey"]], List[Union[dict, "UniqueKey"]]]]) + +slots.unique_key_name = Slot(uri=LINKML.unique_key_name, name="unique_key_name", curie=LINKML.curie('unique_key_name'), + model_uri=LINKML.unique_key_name, domain=UniqueKey, range=Union[str, UniqueKeyUniqueKeyName]) + +slots.consider_nulls_inequal = Slot(uri=LINKML.consider_nulls_inequal, name="consider_nulls_inequal", curie=LINKML.curie('consider_nulls_inequal'), + model_uri=LINKML.consider_nulls_inequal, domain=UniqueKey, range=Optional[Union[bool, Bool]]) + +slots.unique_key_slots = Slot(uri=LINKML.unique_key_slots, name="unique_key_slots", curie=LINKML.curie('unique_key_slots'), + model_uri=LINKML.unique_key_slots, domain=UniqueKey, range=Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]) + +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.domain = Slot(uri=LINKML.domain, name="domain", curie=LINKML.curie('domain'), + model_uri=LINKML.domain, domain=SlotDefinition, range=Optional[Union[str, ClassDefinitionName]]) + +slots.range = Slot(uri=LINKML.range, name="range", curie=LINKML.curie('range'), + model_uri=LINKML.range, domain=SlotDefinition, range=Optional[Union[str, ElementName]]) + +slots.slot_uri = Slot(uri=LINKML.slot_uri, name="slot_uri", curie=LINKML.curie('slot_uri'), + model_uri=LINKML.slot_uri, domain=SlotDefinition, range=Optional[Union[str, URIorCURIE]]) + +slots.multivalued = Slot(uri=LINKML.multivalued, name="multivalued", curie=LINKML.curie('multivalued'), + model_uri=LINKML.multivalued, domain=SlotDefinition, 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]]) + +slots.readonly = Slot(uri=LINKML.readonly, name="readonly", curie=LINKML.curie('readonly'), + model_uri=LINKML.readonly, domain=SlotDefinition, range=Optional[str]) + +slots.ifabsent = Slot(uri=LINKML.ifabsent, name="ifabsent", curie=LINKML.curie('ifabsent'), + model_uri=LINKML.ifabsent, domain=SlotDefinition, range=Optional[str]) + +slots.implicit_prefix = Slot(uri=LINKML.implicit_prefix, name="implicit_prefix", curie=LINKML.curie('implicit_prefix'), + model_uri=LINKML.implicit_prefix, domain=None, range=Optional[str]) + +slots.value_specification_constant = Slot(uri=LINKML.value_specification_constant, name="value_specification_constant", curie=LINKML.curie('value_specification_constant'), + model_uri=LINKML.value_specification_constant, domain=None, range=Optional[str]) + +slots.list_value_specification_constant = Slot(uri=LINKML.list_value_specification_constant, name="list_value_specification_constant", curie=LINKML.curie('list_value_specification_constant'), + model_uri=LINKML.list_value_specification_constant, domain=None, range=Optional[str]) + +slots.value_presence = Slot(uri=LINKML.value_presence, name="value_presence", curie=LINKML.curie('value_presence'), + model_uri=LINKML.value_presence, domain=SlotDefinition, range=Optional[Union[str, "PresenceEnum"]]) + +slots.equals_string = Slot(uri=LINKML.equals_string, name="equals_string", curie=LINKML.curie('equals_string'), + model_uri=LINKML.equals_string, domain=None, range=Optional[str]) + +slots.equals_number = Slot(uri=LINKML.equals_number, name="equals_number", curie=LINKML.curie('equals_number'), + model_uri=LINKML.equals_number, domain=None, range=Optional[int]) + +slots.equals_expression = Slot(uri=LINKML.equals_expression, name="equals_expression", curie=LINKML.curie('equals_expression'), + model_uri=LINKML.equals_expression, domain=None, range=Optional[str]) + +slots.minimum_cardinality = Slot(uri=LINKML.minimum_cardinality, name="minimum_cardinality", curie=LINKML.curie('minimum_cardinality'), + model_uri=LINKML.minimum_cardinality, domain=None, range=Optional[int]) + +slots.maximum_cardinality = Slot(uri=LINKML.maximum_cardinality, name="maximum_cardinality", curie=LINKML.curie('maximum_cardinality'), + model_uri=LINKML.maximum_cardinality, domain=None, range=Optional[int]) + +slots.equals_string_in = Slot(uri=LINKML.equals_string_in, name="equals_string_in", curie=LINKML.curie('equals_string_in'), + model_uri=LINKML.equals_string_in, domain=None, range=Optional[Union[str, List[str]]]) + +slots.equals_number_in = Slot(uri=LINKML.equals_number_in, name="equals_number_in", curie=LINKML.curie('equals_number_in'), + model_uri=LINKML.equals_number_in, domain=None, range=Optional[Union[int, List[int]]]) + +slots.has_member = Slot(uri=LINKML.has_member, name="has_member", curie=LINKML.curie('has_member'), + model_uri=LINKML.has_member, domain=None, range=Optional[Union[dict, AnonymousSlotExpression]]) + +slots.all_members = Slot(uri=LINKML.all_members, name="all_members", curie=LINKML.curie('all_members'), + model_uri=LINKML.all_members, domain=None, range=Optional[Union[dict, AnonymousSlotExpression]]) + +slots.singular_name = Slot(uri=LINKML.singular_name, name="singular_name", curie=LINKML.curie('singular_name'), + model_uri=LINKML.singular_name, domain=SlotDefinition, range=Optional[str]) + +slots.required = Slot(uri=LINKML.required, name="required", curie=LINKML.curie('required'), + model_uri=LINKML.required, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.recommended = Slot(uri=LINKML.recommended, name="recommended", curie=LINKML.curie('recommended'), + model_uri=LINKML.recommended, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.inapplicable = Slot(uri=LINKML.inapplicable, name="inapplicable", curie=LINKML.curie('inapplicable'), + model_uri=LINKML.inapplicable, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.inlined = Slot(uri=LINKML.inlined, name="inlined", curie=LINKML.curie('inlined'), + model_uri=LINKML.inlined, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.inlined_as_list = Slot(uri=LINKML.inlined_as_list, name="inlined_as_list", curie=LINKML.curie('inlined_as_list'), + model_uri=LINKML.inlined_as_list, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.inlined_as_simple_dict = Slot(uri=LINKML.inlined_as_simple_dict, name="inlined_as_simple_dict", curie=LINKML.curie('inlined_as_simple_dict'), + model_uri=LINKML.inlined_as_simple_dict, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.list_elements_ordered = Slot(uri=LINKML.list_elements_ordered, name="list_elements_ordered", curie=LINKML.curie('list_elements_ordered'), + model_uri=LINKML.list_elements_ordered, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.list_elements_unique = Slot(uri=LINKML.list_elements_unique, name="list_elements_unique", curie=LINKML.curie('list_elements_unique'), + model_uri=LINKML.list_elements_unique, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.shared = Slot(uri=LINKML.shared, name="shared", curie=LINKML.curie('shared'), + model_uri=LINKML.shared, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.key = Slot(uri=LINKML.key, name="key", curie=LINKML.curie('key'), + model_uri=LINKML.key, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.identifier = Slot(uri=LINKML.identifier, name="identifier", curie=LINKML.curie('identifier'), + model_uri=LINKML.identifier, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.designates_type = Slot(uri=LINKML.designates_type, name="designates_type", curie=LINKML.curie('designates_type'), + model_uri=LINKML.designates_type, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.alias = Slot(uri=SKOS.prefLabel, name="alias", curie=SKOS.curie('prefLabel'), + model_uri=LINKML.alias, domain=SlotDefinition, range=Optional[str]) + +slots.owner = Slot(uri=LINKML.owner, name="owner", curie=LINKML.curie('owner'), + model_uri=LINKML.owner, domain=SlotDefinition, range=Optional[Union[str, DefinitionName]]) + +slots.domain_of = Slot(uri=LINKML.domain_of, name="domain_of", curie=LINKML.curie('domain_of'), + model_uri=LINKML.domain_of, domain=SlotDefinition, range=Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]]) + +slots.is_usage_slot = Slot(uri=LINKML.is_usage_slot, name="is_usage_slot", curie=LINKML.curie('is_usage_slot'), + model_uri=LINKML.is_usage_slot, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.usage_slot_name = Slot(uri=LINKML.usage_slot_name, name="usage_slot_name", curie=LINKML.curie('usage_slot_name'), + model_uri=LINKML.usage_slot_name, domain=SlotDefinition, range=Optional[str]) + +slots.subproperty_of = Slot(uri=RDFS.subPropertyOf, name="subproperty_of", curie=RDFS.curie('subPropertyOf'), + model_uri=LINKML.subproperty_of, domain=SlotDefinition, range=Optional[Union[str, SlotDefinitionName]]) + +slots.disjoint_with = Slot(uri=LINKML.disjoint_with, name="disjoint_with", curie=LINKML.curie('disjoint_with'), + model_uri=LINKML.disjoint_with, domain=Definition, range=Optional[Union[Union[str, DefinitionName], List[Union[str, DefinitionName]]]]) + +slots.children_are_mutually_disjoint = Slot(uri=LINKML.children_are_mutually_disjoint, name="children_are_mutually_disjoint", curie=LINKML.curie('children_are_mutually_disjoint'), + model_uri=LINKML.children_are_mutually_disjoint, domain=Definition, range=Optional[Union[bool, Bool]]) + +slots.relational_logical_characteristic = Slot(uri=LINKML.relational_logical_characteristic, name="relational_logical_characteristic", curie=LINKML.curie('relational_logical_characteristic'), + model_uri=LINKML.relational_logical_characteristic, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.symmetric = Slot(uri=LINKML.symmetric, name="symmetric", curie=LINKML.curie('symmetric'), + model_uri=LINKML.symmetric, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.asymmetric = Slot(uri=LINKML.asymmetric, name="asymmetric", curie=LINKML.curie('asymmetric'), + model_uri=LINKML.asymmetric, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.reflexive = Slot(uri=LINKML.reflexive, name="reflexive", curie=LINKML.curie('reflexive'), + model_uri=LINKML.reflexive, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.irreflexive = Slot(uri=LINKML.irreflexive, name="irreflexive", curie=LINKML.curie('irreflexive'), + model_uri=LINKML.irreflexive, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.locally_reflexive = Slot(uri=LINKML.locally_reflexive, name="locally_reflexive", curie=LINKML.curie('locally_reflexive'), + model_uri=LINKML.locally_reflexive, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.transitive = Slot(uri=LINKML.transitive, name="transitive", curie=LINKML.curie('transitive'), + model_uri=LINKML.transitive, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.transitive_form_of = Slot(uri=LINKML.transitive_form_of, name="transitive_form_of", curie=LINKML.curie('transitive_form_of'), + model_uri=LINKML.transitive_form_of, domain=None, range=Optional[Union[str, SlotDefinitionName]]) + +slots.reflexive_transitive_form_of = Slot(uri=LINKML.reflexive_transitive_form_of, name="reflexive_transitive_form_of", curie=LINKML.curie('reflexive_transitive_form_of'), + model_uri=LINKML.reflexive_transitive_form_of, domain=None, range=Optional[Union[str, SlotDefinitionName]]) + +slots.inverse = Slot(uri=OWL.inverseOf, name="inverse", curie=OWL.curie('inverseOf'), + model_uri=LINKML.inverse, domain=SlotDefinition, range=Optional[Union[str, SlotDefinitionName]]) + +slots.is_class_field = Slot(uri=LINKML.is_class_field, name="is_class_field", curie=LINKML.curie('is_class_field'), + model_uri=LINKML.is_class_field, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.role = Slot(uri=LINKML.role, name="role", curie=LINKML.curie('role'), + model_uri=LINKML.role, domain=SlotDefinition, range=Optional[str]) + +slots.minimum_value = Slot(uri=LINKML.minimum_value, name="minimum_value", curie=LINKML.curie('minimum_value'), + model_uri=LINKML.minimum_value, domain=SlotDefinition, range=Optional[int]) + +slots.maximum_value = Slot(uri=LINKML.maximum_value, name="maximum_value", curie=LINKML.curie('maximum_value'), + model_uri=LINKML.maximum_value, domain=SlotDefinition, range=Optional[int]) + +slots.interpolated = Slot(uri=LINKML.interpolated, name="interpolated", curie=LINKML.curie('interpolated'), + model_uri=LINKML.interpolated, domain=PatternExpression, range=Optional[Union[bool, Bool]]) + +slots.partial_match = Slot(uri=LINKML.partial_match, name="partial_match", curie=LINKML.curie('partial_match'), + model_uri=LINKML.partial_match, domain=PatternExpression, range=Optional[Union[bool, Bool]]) + +slots.pattern = Slot(uri=LINKML.pattern, name="pattern", curie=LINKML.curie('pattern'), + model_uri=LINKML.pattern, domain=Definition, range=Optional[str]) + +slots.syntax = Slot(uri=LINKML.syntax, name="syntax", curie=LINKML.curie('syntax'), + model_uri=LINKML.syntax, domain=PatternExpression, range=Optional[str]) + +slots.structured_pattern = Slot(uri=LINKML.structured_pattern, name="structured_pattern", curie=LINKML.curie('structured_pattern'), + model_uri=LINKML.structured_pattern, domain=Definition, range=Optional[Union[dict, "PatternExpression"]]) + +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.typeof = Slot(uri=LINKML.typeof, name="typeof", curie=LINKML.curie('typeof'), + model_uri=LINKML.typeof, domain=TypeDefinition, range=Optional[Union[str, TypeDefinitionName]]) + +slots.base = Slot(uri=LINKML.base, name="base", curie=LINKML.curie('base'), + model_uri=LINKML.base, domain=TypeDefinition, range=Optional[str]) + +slots.type_uri = Slot(uri=LINKML.uri, name="type_uri", curie=LINKML.curie('uri'), + model_uri=LINKML.type_uri, domain=TypeDefinition, range=Optional[Union[str, URIorCURIE]]) + +slots.repr = Slot(uri=LINKML.repr, name="repr", curie=LINKML.curie('repr'), + model_uri=LINKML.repr, domain=TypeDefinition, range=Optional[str]) + +slots.alt_description_text = Slot(uri=LINKML.description, name="alt_description_text", curie=LINKML.curie('description'), + model_uri=LINKML.alt_description_text, domain=AltDescription, range=str) + +slots.alt_description_source = Slot(uri=LINKML.source, name="alt_description_source", curie=LINKML.curie('source'), + model_uri=LINKML.alt_description_source, domain=AltDescription, range=Union[str, AltDescriptionSource]) + +slots.alt_descriptions = Slot(uri=LINKML.alt_descriptions, name="alt_descriptions", curie=LINKML.curie('alt_descriptions'), + model_uri=LINKML.alt_descriptions, domain=Element, range=Optional[Union[Dict[Union[str, AltDescriptionSource], Union[dict, "AltDescription"]], List[Union[dict, "AltDescription"]]]]) + +slots.value = Slot(uri=SKOS.example, name="value", curie=SKOS.curie('example'), + model_uri=LINKML.value, domain=Example, range=Optional[str]) + +slots.value_description = Slot(uri=LINKML.description, name="value_description", curie=LINKML.curie('description'), + model_uri=LINKML.value_description, domain=Example, range=Optional[str]) + +slots.value_object = Slot(uri=LINKML.object, name="value_object", curie=LINKML.curie('object'), + model_uri=LINKML.value_object, domain=Example, range=Optional[Union[dict, Anything]]) + +slots.examples = Slot(uri=LINKML.examples, name="examples", curie=LINKML.curie('examples'), + model_uri=LINKML.examples, domain=Element, range=Optional[Union[Union[dict, "Example"], List[Union[dict, "Example"]]]]) + +slots.prefix_prefix = Slot(uri=SH.prefix, name="prefix_prefix", curie=SH.curie('prefix'), + model_uri=LINKML.prefix_prefix, domain=Prefix, range=Union[str, PrefixPrefixPrefix]) + +slots.prefix_reference = Slot(uri=SH.namespace, name="prefix_reference", curie=SH.curie('namespace'), + model_uri=LINKML.prefix_reference, domain=Prefix, range=Union[str, URI]) + +slots.prefixes = Slot(uri=SH.declare, name="prefixes", curie=SH.curie('declare'), + model_uri=LINKML.prefixes, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, PrefixPrefixPrefix], Union[dict, "Prefix"]], List[Union[dict, "Prefix"]]]]) + +slots.setting_key = Slot(uri=LINKML.setting_key, name="setting_key", curie=LINKML.curie('setting_key'), + model_uri=LINKML.setting_key, domain=Setting, range=Union[str, SettingSettingKey]) + +slots.setting_value = Slot(uri=LINKML.setting_value, name="setting_value", curie=LINKML.curie('setting_value'), + model_uri=LINKML.setting_value, domain=Setting, range=str) + +slots.settings = Slot(uri=LINKML.settings, name="settings", curie=LINKML.curie('settings'), + model_uri=LINKML.settings, domain=SchemaDefinition, range=Optional[Union[Dict[Union[str, SettingSettingKey], Union[dict, "Setting"]], List[Union[dict, "Setting"]]]]) + +slots.import_from = Slot(uri=LINKML.import_from, name="import_from", curie=LINKML.curie('import_from'), + model_uri=LINKML.import_from, domain=ImportExpression, range=Union[str, URIorCURIE]) + +slots.import_as = Slot(uri=LINKML.import_as, name="import_as", curie=LINKML.curie('import_as'), + model_uri=LINKML.import_as, domain=ImportExpression, range=Optional[Union[str, NCName]]) + +slots.import_map = Slot(uri=LINKML.import_map, name="import_map", curie=LINKML.curie('import_map'), + model_uri=LINKML.import_map, domain=ImportExpression, range=Optional[Union[Dict[Union[str, SettingSettingKey], Union[dict, "Setting"]], List[Union[dict, "Setting"]]]]) + +slots.local_name_source = Slot(uri=LINKML.local_name_source, name="local_name_source", curie=LINKML.curie('local_name_source'), + model_uri=LINKML.local_name_source, domain=LocalName, range=Union[str, LocalNameLocalNameSource]) + +slots.local_name_value = Slot(uri=SKOS.altLabel, name="local_name_value", curie=SKOS.curie('altLabel'), + model_uri=LINKML.local_name_value, domain=LocalName, range=str) + +slots.local_names = Slot(uri=LINKML.local_names, name="local_names", curie=LINKML.curie('local_names'), + model_uri=LINKML.local_names, domain=Element, range=Optional[Union[Dict[Union[str, LocalNameLocalNameSource], Union[dict, "LocalName"]], List[Union[dict, "LocalName"]]]]) + +slots.slot_group = Slot(uri=SH.group, name="slot_group", curie=SH.curie('group'), + model_uri=LINKML.slot_group, domain=SlotDefinition, range=Optional[Union[str, SlotDefinitionName]]) + +slots.is_grouping_slot = Slot(uri=LINKML.is_grouping_slot, name="is_grouping_slot", curie=LINKML.curie('is_grouping_slot'), + model_uri=LINKML.is_grouping_slot, domain=SlotDefinition, range=Optional[Union[bool, Bool]]) + +slots.followed_by = Slot(uri=LINKML.followed_by, name="followed_by", curie=LINKML.curie('followed_by'), + model_uri=LINKML.followed_by, domain=None, range=Optional[Union[dict, Expression]]) + +slots.reversed = Slot(uri=LINKML.reversed, name="reversed", curie=LINKML.curie('reversed'), + model_uri=LINKML.reversed, domain=None, range=Optional[Union[bool, Bool]]) + +slots.traverse = Slot(uri=LINKML.traverse, name="traverse", curie=LINKML.curie('traverse'), + model_uri=LINKML.traverse, domain=None, range=Optional[Union[str, SlotDefinitionName]]) + +slots.path_rule = Slot(uri=LINKML.path_rule, name="path_rule", curie=LINKML.curie('path_rule'), + model_uri=LINKML.path_rule, domain=SlotDefinition, range=Optional[Union[dict, PathExpression]]) + +slots.represents_relationship = Slot(uri=LINKML.represents_relationship, name="represents_relationship", curie=LINKML.curie('represents_relationship'), + model_uri=LINKML.represents_relationship, domain=ClassDefinition, range=Optional[Union[bool, Bool]]) + +slots.relational_role = Slot(uri=LINKML.relational_role, name="relational_role", curie=LINKML.curie('relational_role'), + model_uri=LINKML.relational_role, domain=SlotDefinition, range=Optional[Union[str, "RelationalRoleEnum"]]) + +slots.schema_definition_name = Slot(uri=RDFS.label, name="schema_definition_name", curie=RDFS.curie('label'), + 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"]]]]) + +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"]]]]) + +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"]]]]) + +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"]]]]) + +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.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]]]]) + +slots.path_expression_followed_by = Slot(uri=LINKML.followed_by, name="path_expression_followed_by", curie=LINKML.curie('followed_by'), + model_uri=LINKML.path_expression_followed_by, domain=PathExpression, range=Optional[Union[dict, "PathExpression"]]) + +slots.path_expression_any_of = Slot(uri=LINKML.any_of, name="path_expression_any_of", curie=LINKML.curie('any_of'), + model_uri=LINKML.path_expression_any_of, domain=PathExpression, range=Optional[Union[Union[dict, "PathExpression"], List[Union[dict, "PathExpression"]]]]) + +slots.path_expression_exactly_one_of = Slot(uri=LINKML.exactly_one_of, name="path_expression_exactly_one_of", curie=LINKML.curie('exactly_one_of'), + model_uri=LINKML.path_expression_exactly_one_of, domain=PathExpression, range=Optional[Union[Union[dict, "PathExpression"], List[Union[dict, "PathExpression"]]]]) + +slots.path_expression_none_of = Slot(uri=LINKML.none_of, name="path_expression_none_of", curie=LINKML.curie('none_of'), + model_uri=LINKML.path_expression_none_of, domain=PathExpression, range=Optional[Union[Union[dict, "PathExpression"], List[Union[dict, "PathExpression"]]]]) + +slots.path_expression_all_of = Slot(uri=LINKML.all_of, name="path_expression_all_of", curie=LINKML.curie('all_of'), + model_uri=LINKML.path_expression_all_of, domain=PathExpression, range=Optional[Union[Union[dict, "PathExpression"], List[Union[dict, "PathExpression"]]]]) + +slots.slot_expression_any_of = Slot(uri=LINKML.any_of, name="slot_expression_any_of", curie=LINKML.curie('any_of'), + model_uri=LINKML.slot_expression_any_of, domain=None, range=Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]]) + +slots.slot_expression_all_of = Slot(uri=LINKML.all_of, name="slot_expression_all_of", curie=LINKML.curie('all_of'), + model_uri=LINKML.slot_expression_all_of, domain=None, range=Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]]) + +slots.slot_expression_exactly_one_of = Slot(uri=LINKML.exactly_one_of, name="slot_expression_exactly_one_of", curie=LINKML.curie('exactly_one_of'), + model_uri=LINKML.slot_expression_exactly_one_of, domain=None, range=Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]]) + +slots.slot_expression_none_of = Slot(uri=LINKML.none_of, name="slot_expression_none_of", curie=LINKML.curie('none_of'), + model_uri=LINKML.slot_expression_none_of, domain=None, range=Optional[Union[Union[dict, "AnonymousSlotExpression"], List[Union[dict, "AnonymousSlotExpression"]]]]) + +slots.slot_definition_is_a = Slot(uri=LINKML.is_a, name="slot_definition_is_a", curie=LINKML.curie('is_a'), + model_uri=LINKML.slot_definition_is_a, domain=SlotDefinition, range=Optional[Union[str, SlotDefinitionName]]) + +slots.slot_definition_mixins = Slot(uri=LINKML.mixins, name="slot_definition_mixins", curie=LINKML.curie('mixins'), + model_uri=LINKML.slot_definition_mixins, domain=SlotDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.slot_definition_apply_to = Slot(uri=LINKML.apply_to, name="slot_definition_apply_to", curie=LINKML.curie('apply_to'), + model_uri=LINKML.slot_definition_apply_to, domain=SlotDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.slot_definition_disjoint_with = Slot(uri=LINKML.disjoint_with, name="slot_definition_disjoint_with", curie=LINKML.curie('disjoint_with'), + model_uri=LINKML.slot_definition_disjoint_with, domain=SlotDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.slot_definition_union_of = Slot(uri=LINKML.union_of, name="slot_definition_union_of", curie=LINKML.curie('union_of'), + model_uri=LINKML.slot_definition_union_of, domain=SlotDefinition, range=Optional[Union[Union[str, SlotDefinitionName], List[Union[str, SlotDefinitionName]]]]) + +slots.class_expression_any_of = Slot(uri=LINKML.any_of, name="class_expression_any_of", curie=LINKML.curie('any_of'), + model_uri=LINKML.class_expression_any_of, domain=None, range=Optional[Union[Union[dict, "AnonymousClassExpression"], List[Union[dict, "AnonymousClassExpression"]]]]) + +slots.class_expression_all_of = Slot(uri=LINKML.all_of, name="class_expression_all_of", curie=LINKML.curie('all_of'), + model_uri=LINKML.class_expression_all_of, domain=None, range=Optional[Union[Union[dict, "AnonymousClassExpression"], List[Union[dict, "AnonymousClassExpression"]]]]) + +slots.class_expression_exactly_one_of = Slot(uri=LINKML.exactly_one_of, name="class_expression_exactly_one_of", curie=LINKML.curie('exactly_one_of'), + model_uri=LINKML.class_expression_exactly_one_of, domain=None, range=Optional[Union[Union[dict, "AnonymousClassExpression"], List[Union[dict, "AnonymousClassExpression"]]]]) + +slots.class_expression_none_of = Slot(uri=LINKML.none_of, name="class_expression_none_of", curie=LINKML.curie('none_of'), + model_uri=LINKML.class_expression_none_of, domain=None, range=Optional[Union[Union[dict, "AnonymousClassExpression"], List[Union[dict, "AnonymousClassExpression"]]]]) + +slots.class_definition_is_a = Slot(uri=LINKML.is_a, name="class_definition_is_a", curie=LINKML.curie('is_a'), + model_uri=LINKML.class_definition_is_a, domain=ClassDefinition, range=Optional[Union[str, ClassDefinitionName]]) + +slots.class_definition_mixins = Slot(uri=LINKML.mixins, name="class_definition_mixins", curie=LINKML.curie('mixins'), + model_uri=LINKML.class_definition_mixins, domain=ClassDefinition, range=Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]]) + +slots.class_definition_apply_to = Slot(uri=LINKML.apply_to, name="class_definition_apply_to", curie=LINKML.curie('apply_to'), + model_uri=LINKML.class_definition_apply_to, domain=ClassDefinition, range=Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]]) + +slots.class_definition_rules = Slot(uri=SH.rule, name="class_definition_rules", curie=SH.curie('rule'), + model_uri=LINKML.class_definition_rules, domain=ClassDefinition, range=Optional[Union[Union[dict, "ClassRule"], List[Union[dict, "ClassRule"]]]]) + +slots.class_definition_disjoint_with = Slot(uri=LINKML.disjoint_with, name="class_definition_disjoint_with", curie=LINKML.curie('disjoint_with'), + model_uri=LINKML.class_definition_disjoint_with, domain=ClassDefinition, range=Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]]) + +slots.class_definition_union_of = Slot(uri=LINKML.union_of, name="class_definition_union_of", curie=LINKML.curie('union_of'), + model_uri=LINKML.class_definition_union_of, domain=ClassDefinition, range=Optional[Union[Union[str, ClassDefinitionName], List[Union[str, ClassDefinitionName]]]]) + +slots.permissible_value_is_a = Slot(uri=LINKML.is_a, name="permissible_value_is_a", curie=LINKML.curie('is_a'), + model_uri=LINKML.permissible_value_is_a, domain=PermissibleValue, range=Optional[Union[str, PermissibleValueText]]) +slots.permissible_value_mixins = Slot(uri=LINKML.mixins, name="permissible_value_mixins", curie=LINKML.curie('mixins'), + model_uri=LINKML.permissible_value_mixins, domain=PermissibleValue, range=Optional[Union[Union[str, PermissibleValueText], List[Union[str, PermissibleValueText]]]]) \ No newline at end of file diff --git a/linkml_runtime/linkml_model/model/schema/meta.yaml b/linkml_runtime/linkml_model/model/schema/meta.yaml index f6f699b6..efdaa1b1 100644 --- a/linkml_runtime/linkml_model/model/schema/meta.yaml +++ b/linkml_runtime/linkml_model/model/schema/meta.yaml @@ -4,7 +4,13 @@ name: meta description: |- The metamodel for schemas defined using the Linked Data Modeling Language framework. - For more information on LinkML, see [linkml.io](https://linkml.io) + For more information on LinkML: + + * [linkml.io](https://linkml.io) main website + * [specification](https://w3id.org/linkml/docs/specification/) + + LinkML is self-describing. Every LinkML schema consists of elements + that instantiate classes in this metamodel. Core metaclasses: @@ -13,18 +19,16 @@ description: |- * [SlotDefinition](https://w3id.org/linkml/SlotDefinition) * [TypeDefinition](https://w3id.org/linkml/TypeDefinition) - Every LinkML model instantiates SchemaDefinition, all classes in - the model instantiate ClassDefinition, and so on - - Note that the LinkML metamodel instantiates itself. + There are many subsets of *profiles* of the metamodel, for different purposes: - For a non-normative introduction to LinkML schemas, see the tutorial - and schema guide on [linkml.io/linkml]. + * [MinimalSubset](https://w3id.org/linkml/MinimalSubset) + * [BasicSubset](https://w3id.org/linkml/BasicSubset) + * [BasicSubset](https://w3id.org/linkml/BasicSubset) For canonical reference documentation on any metamodel construct, refer to the official URI for each construct, e.g. [https://w3id.org/linkml/is_a](https://w3id.org/linkml/is_a) - + license: https://creativecommons.org/publicdomain/zero/1.0/ version: 2.0.0 @@ -39,7 +43,7 @@ prefixes: schema: http://schema.org/ bibo: http://purl.org/ontology/bibo/ swrl: http://www.w3.org/2003/11/swrl# - sh: https://w3id.org/shacl/ + sh: http://www.w3.org/ns/shacl# owl: http://www.w3.org/2002/07/owl# qb: http://purl.org/linked-data/cube# prov: http://www.w3.org/ns/prov# @@ -50,7 +54,7 @@ default_prefix: linkml default_range: string default_curi_maps: - - semweb_context + - semweb_context emit_prefixes: - linkml @@ -68,20 +72,57 @@ imports: - linkml:mappings - linkml:extensions - linkml:annotations - - linkml:validation +# - linkml:validation - linkml:units - + subsets: - owl: - description: Set of slots that appear in the OWL representation of a model - minimal: - description: Minimal set of slots for defining a model - basic: - description: An extension of minimal that is a basic subset that can be implemented by a broad variety of tools - relational_model: - description: The set of constructs that have an equivalent in the classic relational mode as defined by Codd - object_oriented: - description: The set of constructs that have an equivalent in a minimal object oriented metamodel + MinimalSubset: + rank: 0 + title: minimal subset + description: |- + The absolute minimal set of elements necessary for defining any schema. + + schemas conforming to the minimal subset consist of classes, with all slots + inlined as attributes. There are no enums. + BasicSubset: + rank: 1 + title: basic subset + description: |- + An extension of MinimalSubset that avoids advanced constructs and can be implemented by a broad variety of tools. + + This subset roughly corresponds to the union of most standard constructs used in relational datamodel modeling, + object oriented modeling, and simple JSON-style modeling, while avoiding more advanced constructs from these languages. + + It is often possible to translate from a more expressive schema to a BasicSubset schema, through a schema derivation + process + SpecificationSubset: + rank: 2 + title: specification subset + description: |- + A subset that includes all the metamodel elements that form part of the normative LinkML specification. + + The complete LinkML specification can be found at [linkml:specification](https://w3id.org/linkml/specification) + RelationalModelProfile: + rank: 3 + title: relational model profile + description: |- + A profile that includes all the metamodel elements whose semantics can be expressed using the classic Relational Model. + The Relational Model excludes collections (multivalued slots) as first class entities. Instead, these must be + mapped to backreferences + + The classic Relational Model excludes inheritance and polymorphism -- these must be rolled down to + concrete classes or otherwise transformed. + ObjectOrientedProfile: + rank: 4 + title: object oriented profile + description: |- + A profile that includes all the metamodel elements whose semantics can be expressed using a minimal + implementation of the object oriented metamodel as employed by languages such as Java and Python, or + in modeling frameworks like UML + OwlProfile: + title: owl profile + description: |- + A profile that includes all the metamodel elements whose semantics can be expressed in OWL #================================== # Slots # @@ -92,6 +133,7 @@ slots: # Common metadata shared by all elements # ----------------------------------- name: + rank: 1 aliases: - short name - unique name @@ -102,68 +144,90 @@ slots: form the globally unique subject of the target class. slot_uri: rdfs:label in_subset: - - owl - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - OwlProfile + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile exact_mappings: - schema:name see_also: - https://en.wikipedia.org/wiki/Data_element_name + - https://linkml.io/linkml/faq/modeling.html#why-are-my-class-names-translated-to-camelcase title: + rank: 3 aliases: - long name domain: element - description: the official title of the element + description: >- + A concise human-readable display label for the element. The title should mirror the name, + and should use ordinary textual punctuation. slot_uri: dcterms:title in_subset: - - owl - - basic + - BasicSubset conforms_to: domain: element description: An established standard to which the element conforms. slot_uri: dcterms:conformsTo in_subset: - - owl - - basic + - BasicSubset + see_also: + - linkml:implements + implements: + domain: element + range: uriorcurie + 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. + multivalued: true + categories: range: uriorcurie singular_name: category slot_uri: dcterms:subject multivalued: true description: >- - controlled terms used to categorize an element + Controlled terms used to categorize an element. + comments: + - if you wish to use uncontrolled terms or terms that lack identifiers then use the keywords element in_subset: - - basic + - BasicSubset keywords: domain: element singular_name: keyword - description: Keywords or tags used to describe the element + description: >- + Keywords or tags used to describe the element slot_uri: schema:keywords range: string multivalued: true in_subset: - - basic + - BasicSubset definition_uri: domain: element - description: the "native" URI of the element + 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 comments: - - Formed by combining the default_prefix with the mangled element + - Formed by combining the default_prefix with the normalized element name range: uriorcurie - readonly: filled in by the schema loader + readonly: filled in by the schema loader or schema view + see_also: + - linkml:class_uri + - linkml:slot_uri id_prefixes: domain: element multivalued: true range: ncname description: >- - the identifier of this class or slot must begin with the URIs referenced by this prefix + 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 comments: - Order of elements may be used to indicate priority order - If identifiers are treated as CURIEs, then the CURIE must start with one of the indicated prefixes followed by `:` (_should_ start if the list is open) @@ -172,20 +236,23 @@ slots: - https://github.com/linkml/linkml/issues/194 - https://github.com/linkml/linkml-model/issues/28 in_subset: - - basic + - SpecificationSubset + - BasicSubset description: + rank: 5 aliases: - definition domain: element - description: a description of the element's purpose and use + description: >- + a textual description of the element's purpose and use slot_uri: skos:definition exact_mappings: - dcterms:description - schema:description recommended: true in_subset: - - basic + - BasicSubset structured_aliases: slot_uri: skosxl:altLabel @@ -193,8 +260,10 @@ slots: multivalued: true inlined: true description: >- - A list of structured_alias objects. - + A list of structured_alias objects, used to provide aliases in conjunction with additional metadata. + see_also: + - linkml:aliases + aliases: aliases: - synonyms @@ -202,50 +271,56 @@ slots: - alternative labels - designations domain: element + 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. + comments: + - not be confused with the metaslot alias. range: string multivalued: true slot_uri: skos:altLabel exact_mappings: - schema:alternateName in_subset: - - basic + - BasicSubset deprecated: domain: element range: string - description: Description of why and when this element will no longer be used + description: >- + Description of why and when this element will no longer be used + comments: + - note that linkml does not use a boolean to indicate deprecation status - the presence of a string value in this field is sufficient to indicate deprecation. close_mappings: - owl:deprecated in_subset: - - basic + - BasicSubset todos: domain: element range: string - description: Outstanding issue that needs resolution + description: Outstanding issues that needs resolution multivalued: true in_subset: - - basic + - BasicSubset notes: domain: element multivalued: true - description: editorial notes about an element intended for internal consumption + description: editorial notes about an element intended primarily for internal consumption slot_uri: skos:editorialNote in_subset: - - owl - - basic + - BasicSubset comments: domain: element multivalued: true - description: notes and comments about an element intended for external consumption + description: notes and comments about an element intended primarily for external consumption slot_uri: skos:note exact_mappings: - rdfs:comment in_subset: - - owl - - basic + - BasicSubset in_subset: domain: element @@ -253,36 +328,39 @@ slots: range: subset_definition description: >- used to indicate membership of a term in a defined subset of terms used for a particular domain - or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a - translator knowledge graph) + or application. + comments: + - an example of use in the translator_minimal subset in the biolink model, holding the minimal set of predicates used in a translator knowledge graph slot_uri: OIO:inSubset in_subset: - - basic + - BasicSubset from_schema: domain: element range: uri - readonly: supplied by the schema loader + readonly: supplied by the schema loader or schema view description: id of the schema that defined the element notes: - A stronger model would be range schema_definition, but this doesn't address the import model slot_uri: skos:inScheme + in_subset: + - SpecificationSubset imported_from: domain: element range: string - readonly: supplied by the schema loader - description: the imports entry that this element was derived from. Empty means primary source + readonly: supplied by the schema loader or schema view + description: >- + the imports entry that this element was derived from. Empty means primary source see_also: domain: element multivalued: true range: uriorcurie - description: a reference + description: A list of related entities or URLs that may be of relevance slot_uri: rdfs:seeAlso in_subset: - - owl - - basic + - BasicSubset owned_by: aliases: @@ -294,7 +372,7 @@ slots: close_mappings: - rdfs:isDefinedBy in_subset: - - basic + - BasicSubset created_by: domain: element @@ -302,7 +380,16 @@ slots: description: agent that created the element slot_uri: pav:createdBy in_subset: - - basic + - BasicSubset + + contributors: + domain: element + range: uriorcurie + description: agent that contributed to the element + slot_uri: dcterms:contributor + multivalued: true + in_subset: + - BasicSubset created_on: domain: element @@ -310,7 +397,7 @@ slots: description: time at which the element was created slot_uri: pav:createdOn in_subset: - - basic + - BasicSubset last_updated_on: domain: element @@ -318,7 +405,7 @@ slots: description: time at which the element was last updated slot_uri: pav:lastUpdatedOn in_subset: - - basic + - BasicSubset modified_by: domain: element @@ -326,7 +413,7 @@ slots: description: agent that modified the element slot_uri: oslc:modifiedBy in_subset: - - basic + - BasicSubset status: aliases: @@ -341,7 +428,7 @@ slots: - https://www.hl7.org/fhir/valueset-publication-status.html ## Draft, Active, Retired, Unknown - https://www.hl7.org/fhir/versions.html#std-process ## Draft, Trial Use, Normative, Informative, Deprecated in_subset: - - basic + - BasicSubset literal_form: aliases: @@ -352,7 +439,7 @@ slots: required: true slot_uri: skosxl:literalForm description: >- - The literal lexical form of a structured alias + The literal lexical form of a structured alias; i.e the actual alias value. alias_predicate: alias: predicate @@ -361,14 +448,17 @@ slots: domain: structured_alias range: alias_predicate_enum description: >- - The relationship between an element and its alias + The relationship between an element and its alias. in_language: slot_uri: schema:inLanguage range: string - notes: - - Use a string from IETF BCP 47 - + description: >- + the primary language used in the sources + comments: + - Recommended to use a string from IETF BCP 47 + conforms_to: https://www.rfc-editor.org/rfc/bcp/bcp47.txt + source: aliases: - origin @@ -383,62 +473,79 @@ slots: comments: - The described resource may be derived from the related resource in whole or in part in_subset: - - basic + - BasicSubset + + publisher: + domain: element + range: uriorcurie + description: An entity responsible for making the resource available + slot_uri: dcterms:publisher + in_subset: + - BasicSubset # -------------------------------------------------------------- # Slots that are common to slot definition and class definition # -------------------------------------------------------------- is_a: + rank: 11 domain: definition range: definition abstract: true description: >- - specifies single-inheritance between classes or slots. + 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 in_subset: - - basic - - object_oriented + - SpecificationSubset + - BasicSubset + - ObjectOrientedProfile + - OwlProfile abstract: domain: definition range: boolean description: >- - an abstract class is a high level class or slot that is typically used to group common slots together and cannot - be directly instantiated. + Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes. in_subset: - - basic - - object_oriented + - SpecificationSubset + - BasicSubset + - ObjectOrientedProfile mixin: aliases: - trait domain: definition range: boolean - description: this slot or class can only be used as a 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. see_also: - https://en.wikipedia.org/wiki/Mixin in_subset: - - basic - - object_oriented + - SpecificationSubset + - BasicSubset + - ObjectOrientedProfile mixins: + rank: 13 aliases: - traits domain: definition multivalued: true range: definition - description: List of definitions to be mixed in. Targets may be any definition of the same type + description: >- + A collection of secondary parent classes or slots from which inheritable metaslots are propagated from. comments: - mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance see_also: - https://en.wikipedia.org/wiki/Mixin in_subset: - - basic - - object_oriented + - SpecificationSubset + - BasicSubset + - ObjectOrientedProfile + - OwlProfile apply_to: domain: definition @@ -449,6 +556,7 @@ slots: 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. + status: testing values_from: domain: definition @@ -461,6 +569,7 @@ slots: 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 hiearchy into an enumerated list of possible values in every serialization of the model. + status: testing # ----------------------------------- # Enum definition slots @@ -470,10 +579,9 @@ slots: range: uriorcurie description: >- the identifier of an enumeration code set. - todos: - - this should be able to connect to an existing code set from TCCM in_subset: - - basic + - SpecificationSubset + - BasicSubset code_set_version: domain: enum_expression @@ -483,7 +591,7 @@ slots: comments: - we assume that version identifiers lexically sort in temporal order. Recommend semver when possible in_subset: - - basic + - BasicSubset code_set_tag: domain: enum_expression @@ -493,7 +601,7 @@ slots: comments: - enum_expression cannot have both a code_set_tag and a code_set_version in_subset: - - basic + - BasicSubset pv_formula: domain: enum_expression @@ -504,9 +612,12 @@ slots: - you cannot have BOTH the permissible_values and permissible_value_formula tag - code_set must be supplied for this to be valid in_subset: - - basic + - SpecificationSubset + - BasicSubset permissible_values: + aliases: + - coded values domain: enum_expression range: permissible_value multivalued: true @@ -514,29 +625,35 @@ slots: description: >- A list of possible values for a slot range in_subset: - - basic + - SpecificationSubset + - BasicSubset enum_uri: aliases: - public ID domain: enum_definition range: uriorcurie - description: URI of the enum in an RDF environment + 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 ifabsent: class_curie in_subset: - - basic - + - SpecificationSubset + - BasicSubset + include: description: An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set domain: enum_expression range: anonymous_enum_expression multivalued: true + in_subset: + - SpecificationSubset minus: description: An enum expression that yields a list of permissible values that are to be subtracted from the enum domain: enum_expression range: anonymous_enum_expression multivalued: true + in_subset: + - SpecificationSubset inherits: description: An enum definition that is used as the basis to create a new enum @@ -545,41 +662,58 @@ slots: domain: enum_expression range: enum_definition multivalued: true + in_subset: + - SpecificationSubset matches: description: Specifies a match query that is used to calculate the list of permissible values domain: enum_expression range: match_query + in_subset: + - SpecificationSubset 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 domain: match_query range: string - + in_subset: + - SpecificationSubset + concepts: description: A list of identifiers that are used to construct a set of permissible values domain: enum_expression range: uriorcurie multivalued: true - + in_subset: + - SpecificationSubset + reachable_from: description: Specifies a query for obtaining a list of permissible values based on graph reachability domain: enum_expression range: reachability_query + in_subset: + - SpecificationSubset source_ontology: aliases: - terminology - vocabulary description: An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values + comments: + - examples include schema.org, wikidata, or an OBO ontology + - for obo ontologies we recommend CURIEs of the form obo:cl, obo:envo, etc range: uriorcurie - + in_subset: + - SpecificationSubset + is_direct: aliases: - non-transitive description: True if the reachability query should only include directly related nodes, if False then include also transitively connected domain: reachability_query range: boolean + in_subset: + - SpecificationSubset traverse_up: aliases: @@ -587,6 +721,8 @@ slots: description: True if the direction of the reachability query is reversed and ancestors are retrieved domain: reachability_query range: boolean + in_subset: + - SpecificationSubset include_self: aliases: @@ -594,6 +730,8 @@ slots: description: True if the query is reflexive domain: reachability_query range: boolean + in_subset: + - SpecificationSubset relationship_types: description: A list of relationship types (properties) that are used in a reachability query @@ -603,26 +741,39 @@ slots: domain: reachability_query range: uriorcurie multivalued: true + in_subset: + - SpecificationSubset source_nodes: description: A list of nodes that are used in the reachability query domain: reachability_query range: uriorcurie multivalued: true + in_subset: + - SpecificationSubset # ----------------------------------- # Slots for permissible_value # ----------------------------------- text: + rank: 21 aliases: - value domain: permissible_value range: string + description: >- + The actual permissible value itself + comments: + - there are no constraints on the text of the permissible value, but for many applications you may want to consider following idiomatic forms and using computer-friendly forms identifier: true + close_mappings: + - skos:notation in_subset: - - basic + - SpecificationSubset + - BasicSubset meaning: + rank: 23 aliases: - PV meaning domain: permissible_value @@ -632,7 +783,8 @@ slots: notes: - we may want to change the range of this (and other) elements in the model to an entitydescription type construct in_subset: - - basic + - SpecificationSubset + - BasicSubset see_also: - https://en.wikipedia.org/wiki/ISO/IEC_11179 @@ -640,13 +792,16 @@ slots: # Schema definition slots # ----------------------------------- id: + rank: 0 domain: schema_definition range: uri description: The official schema URI required: true in_subset: - - minimal - - basic + - SpecificationSubset + - MinimalSubset + - BasicSubset + - OwlProfile emit_prefixes: domain: schema_definition @@ -663,125 +818,145 @@ slots: exact_mappings: - schema:schemaVersion in_subset: - - owl - - basic + - BasicSubset imports: + rank: 21 domain: schema_definition range: uriorcurie multivalued: true - description: other schemas that are included in this schema + description: A list of schemas that are to be included in this schema in_subset: - - basic + - SpecificationSubset + - BasicSubset + - OwlProfile structured_imports: domain: schema_definition range: import_expression multivalued: true - description: other schemas that are included in this schema + description: >- + A list of specifications for how to import elements from external schemas + status: testing license: + rank: 31 domain: schema_definition description: license for the schema slot_uri: dcterms:license in_subset: - - owl - - basic + - BasicSubset default_curi_maps: domain: schema_definition multivalued: true description: ordered list of prefixcommon biocontexts to be fetched to resolve id prefixes and inline prefix variables in_subset: - - basic + - BasicSubset default_prefix: + rank: 11 domain: schema_definition range: string ifabsent: default_ns - description: default and base prefix -- used for ':' identifiers, @base and @vocab + description: >- + The prefix that is used for all elements within a schema in_subset: - - minimal - - basic + - SpecificationSubset + - MinimalSubset + - BasicSubset default_range: + rank: 13 domain: schema_definition range: type_definition description: default slot range to be used if range element is omitted from a slot definition - notes: - - restricted to type definitions for the time being. Could be broadened if required in_subset: - - minimal - - basic + - SpecificationSubset + - MinimalSubset + - BasicSubset subsets: + rank: 8 domain: schema_definition multivalued: true range: subset_definition inlined: true - description: list of subsets referenced in this model + description: An index to the collection of all subset definitions in the schema exact_mappings: - OIO:hasSubset in_subset: - - basic + - SpecificationSubset + - BasicSubset types: + rank: 6 domain: schema_definition range: type_definition multivalued: true inlined: true - description: data types used in the model + description: An index to the collection of all type definitions in the schema in_subset: - - basic - - object_oriented + - BasicSubset + - ObjectOrientedProfile + - OwlProfile enums: + rank: 5 domain: schema_definition range: enum_definition multivalued: true inlined: true - description: enumerated ranges + description: An index to the collection of all enum definitions in the schema in_subset: - - basic - - object_oriented + - SpecificationSubset + - BasicSubset + - ObjectOrientedProfile + - OwlProfile slot_definitions: + rank: 4 domain: schema_definition multivalued: true range: slot_definition inlined: true alias: slots - description: slot definitions + description: An index to the collection of all slot definitions in the schema + comments: + - note the formal name of this element is slot_definitions, but it has alias slots, which is the canonical form used in yaml/json serializes of schemas. in_subset: - - basic + - SpecificationSubset + - BasicSubset + - OwlProfile classes: + rank: 3 domain: schema_definition range: class_definition multivalued: true inlined: true - description: class definitions + description: An index to the collection of all class definitions in the schema in_subset: - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile + - OwlProfile metamodel_version: domain: schema_definition - readonly: supplied by the schema loader + readonly: supplied by the schema loader or schema view description: Version of the metamodel used to load the schema in_subset: - - owl - - basic + - BasicSubset source_file: domain: schema_definition readonly: suppplied by the schema loader description: name, uri or description of the source of the schema in_subset: - - owl - - basic + - BasicSubset source_file_date: domain: schema_definition @@ -789,51 +964,51 @@ slots: readonly: supplied by the loader description: modification date of the source of the schema in_subset: - - owl - - basic + - BasicSubset source_file_size: domain: schema_definition range: integer - readonly: supplied by the schema loader + readonly: supplied by the schema loader or schema view description: size in bytes of the source of the schema in_subset: - - owl - - basic + - BasicSubset generation_date: domain: schema_definition range: datetime - readonly: supplied by the schema loader + readonly: supplied by the schema loader or schema view description: date and time that the schema was loaded/generated in_subset: - - owl - - basic + - BasicSubset # ----------------------------------- # Class definition slots # ----------------------------------- slots: + rank: 19 domain: class_definition multivalued: true range: slot_definition - description: list of slot names that are applicable to a class + description: collection of slot names that are applicable to a class comments: + - the list of applicable slots is inherited from parent classes - >- This defines the set of slots that are allowed to be used for a given class. The final list of slots for a class is the combination of the parent (is a) slots, mixins slots, apply to slots minus the slot usage entries. - Formally, in_subset: - - basic + - SpecificationSubset + - BasicSubset slot_usage: + rank: 23 domain: class_definition multivalued: true range: slot_definition inlined: true - description: the redefinition of a slot in the context of the containing class definition. + description: the refinement of a slot in the context of the containing class definition. comments: - >- Many slots may be re-used across different classes, but the meaning of the slot may be refined by context. @@ -841,11 +1016,15 @@ slots: minimal constraints. When this is subclasses, e.g. to disease-phenotype associations then slot usage may specify both local naming (e.g. subject=disease) and local constraints in_subset: - - basic + - SpecificationSubset + - BasicSubset enum_range: range: enum_expression description: An inlined enumeration + in_subset: + - SpecificationSubset + status: testing range_expression: domain: slot_expression @@ -853,7 +1032,10 @@ slots: description: A range that is described as a boolean expression combining existing ranges comments: - one use for this is being able to describe a range using any_of expressions, for example to combine two enums - + in_subset: + - SpecificationSubset + status: testing + boolean_slot: abstract: true multivalued: true @@ -861,34 +1043,55 @@ slots: description: A grouping of slots that expression a boolean operator over a list of operands any_of: + rank: 101 description: holds if at least one of the expressions hold is_a: boolean_slot range: expression exact_mappings: - sh:or - + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" + exactly_one_of: + rank: 103 description: holds if only one of the expressions hold is_a: boolean_slot range: expression exact_mappings: - sh:xone - + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" + none_of: + rank: 105 description: holds if none of the expressions hold is_a: boolean_slot range: expression exact_mappings: - sh:not - + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" + all_of: + rank: 107 description: holds if all of the expressions hold is_a: boolean_slot range: expression exact_mappings: - sh:and + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" preconditions: + rank: 111 aliases: - if - body @@ -899,8 +1102,13 @@ slots: inlined: true close_mappings: - swrl:body + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" postconditions: + rank: 113 aliases: - then - head @@ -910,22 +1118,40 @@ slots: inlined: true close_mappings: - swrl:body + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" + elseconditions: + rank: 115 aliases: - else description: an expression that must hold for an instance of the class, if the preconditions no not hold range: anonymous_class_expression inlined: true + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/05validation/#rules" + bidirectional: aliases: - iff - if and only if description: in addition to preconditions entailing postconditions, the postconditions entail the preconditions range: boolean + in_subset: + - SpecificationSubset + 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 range: boolean + in_subset: + - SpecificationSubset + rank: + rank: 51 aliases: - order - precedence @@ -935,15 +1161,18 @@ slots: - the rank of an element does not affect the semantics slot_uri: sh:order range: integer - in_subset: - - basic exact_mappings: - qudt:order + - qb:order + in_subset: + - SpecificationSubset + - BasicSubset + deactivated: description: a deactivated rule is not executed by the rules engine slot_uri: sh:deactivated range: boolean - + rules: slot_uri: sh:rule domain: class_definition @@ -951,13 +1180,19 @@ slots: range: class_rule inlined: true description: the collection of rules that apply to all members of this class + in_subset: + - SpecificationSubset classification_rules: domain: class_definition multivalued: true range: anonymous_class_expression inlined: true - description: the collection of classification rules that apply to all members of this class + 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. + in_subset: + - SpecificationSubset slot_conditions: domain: class_expression @@ -965,8 +1200,11 @@ slots: range: slot_definition inlined: true description: expresses constraints on a group of slots for a class expression - + in_subset: + - SpecificationSubset + attributes: + rank: 29 domain: class_definition multivalued: true range: slot_definition @@ -977,26 +1215,37 @@ slots: attributes are an alternative way of defining new slots. An attribute adds a slot to the global space in the form __ (lower case, double underscores). Attributes can be specialized via slot_usage. in_subset: - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile + - OwlProfile class_uri: + rank: 2 aliases: - public ID domain: class_definition range: uriorcurie - description: URI of the class in an RDF environment + 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 + comments: + - Assigning class_uris can provide additional hooks for interoperation, indicating a common conceptual model ifabsent: class_curie in_subset: - - basic + - SpecificationSubset + - BasicSubset + see_also: + - linkml:definition_uri + - https://linkml.io/linkml/schemas/uris-and-mappings.html subclass_of: domain: class_definition range: uriorcurie - description: rdfs:subClassOf to be emitted in OWL generation - slot_uri: rdfs:subClassOf + description: DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation + close_mappings: + - rdfs:subClassOf deprecated: Use is_a instead defining_slots: @@ -1015,27 +1264,38 @@ slots: description: indicates that the domain element consists exactly of the members of the element in the range. notes: - this only applies in the OWL generation + in_subset: + - SpecificationSubset + - OwlProfile tree_root: + rank: 31 domain: class_definition range: boolean - description: indicator that this is the root class in tree structures + description: >- + Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations notes: - each schema should have at most one tree root in_subset: - - basic + - SpecificationSubset + - BasicSubset + see_also: + - https://linkml.io/linkml/intro/tutorial02.html unique_keys: domain: class_definition range: unique_key multivalued: true inlined: true - description: Set of unique keys for this slot + description: A collection of named unique keys for this class. Unique keys may be singular or compound. exact_mappings: - owl:hasKey in_subset: - - basic - - relational_model + - SpecificationSubset + - BasicSubset + - RelationalModelProfile + see_also: + - https://linkml.io/linkml/schemas/constraints.html#unique-key unique_key_name: domain: unique_key @@ -1043,23 +1303,33 @@ slots: required: true description: name of the unique key in_subset: - - basic - - relational_model - + - SpecificationSubset + - BasicSubset + - RelationalModelProfile + + consider_nulls_inequal: + domain: unique_key + range: boolean + 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. + unique_key_slots: domain: unique_key multivalued: true required: true range: slot_definition - description: list of slot names that form a key + description: list of slot names that form a key. The tuple formed from the values of all these slots should be unique. in_subset: - - basic - - relational_model - + - SpecificationSubset + - BasicSubset + - RelationalModelProfile + slot_names_unique: domain: definition range: boolean description: if true then induced/mangled slot names are not created for class_usage and attributes + status: testing # ----------------------------------- @@ -1079,6 +1349,8 @@ slots: S1: Y implicitly asserts that X is an instance of C1 + in_subset: + - SpecificationSubset range: aliases: @@ -1100,31 +1372,42 @@ slots: implicitly asserts Y is an instance of C2 in_subset: - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile slot_uri: + rank: 2 aliases: - public ID domain: slot_definition range: uriorcurie ifabsent: slot_curie - description: predicate of this slot for semantic web application + 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 in_subset: - - basic + - SpecificationSubset + - BasicSubset + see_also: + - linkml:definition_uri + - https://linkml.io/linkml/schemas/uris-and-mappings.html multivalued: + rank: 7 domain: slot_definition range: boolean inherited: true - description: true means that slot can have more than one value + description: true means that slot can have more than one value and should be represented using a list or collection structure. # ifabsent: False in_subset: - - minimal - - basic - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - ObjectOrientedProfile inherited: domain: slot_definition @@ -1132,13 +1415,18 @@ slots: inherited: true description: true means that the *value* of a slot is inherited by subclasses comments: + - the slot is to be used for defining *metamodels* only - Inherited applies to slot values. Parent *slots* are always inherited by subclasses + in_subset: + - SpecificationSubset readonly: domain: slot_definition range: string inherited: true description: If present, slot is read only. Text explains why + comments: + - the slot is to be used for defining *metamodels* only ifabsent: domain: slot_definition @@ -1146,35 +1434,44 @@ slots: inherited: true description: |- function that provides a default value for the slot. Possible values for this slot are defined in - linkml_runtime.utils.ifabsent_functions.default_library: + linkml.utils.ifabsent_functions.default_library: * [Tt]rue -- boolean True * [Ff]alse -- boolean False - * int(value) -- integer value - * str(value) -- string value - * default_range -- schema default range * bnode -- blank node identifier - * slot_uri -- URI for the slot * 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 close_mappings: - sh:defaultValue + in_subset: + - SpecificationSubset + see_also: + - linkml:equals_expression implicit_prefix: domain: slot_expression range: string description: >- Causes the slot value to be interpreted as a uriorcurie after prefixing with this string + in_subset: + - SpecificationSubset + status: testing value_specification_constant: abstract: true description: Grouping for metamodel slots that constrain the a slot value to equal a specified constant status: testing - + list_value_specification_constant: abstract: true description: Grouping for metamodel slots that constrain members of a multivalued slot value to equal a specified constant status: testing - + value_presence: is_a: list_value_specification_constant domain: slot_definition @@ -1190,8 +1487,9 @@ slots: range: string inherited: true description: the slot must have range string and the value of the slot must equal the specified value - status: testing - + in_subset: + - SpecificationSubset + equals_number: is_a: list_value_specification_constant range: integer ## todo, make the range a union @@ -1206,11 +1504,11 @@ slots: description: the value of the slot must equal the value of the evaluated expression comments: - for example, a 'length' slot may have an equals_expression with value '(end-start)+1' - todos: - - specify expression language see_also: - - https://github.com/linkml/linkml/issues/75 - status: unstable + - https://linkml.io/linkml/developers/inference.html + - https://linkml.io/linkml/schemas/advanced.html#equals-expression + in_subset: + - SpecificationSubset minimum_cardinality: is_a: list_value_specification_constant @@ -1218,6 +1516,8 @@ slots: inherited: true description: the minimum number of entries for a multivalued slot status: testing + in_subset: + - SpecificationSubset maximum_cardinality: is_a: list_value_specification_constant @@ -1225,6 +1525,8 @@ slots: inherited: true description: the maximum number of entries for a multivalued slot status: testing + in_subset: + - SpecificationSubset equals_string_in: is_a: list_value_specification_constant @@ -1233,6 +1535,8 @@ slots: inherited: true description: the slot must have range string and the value of the slot must equal one of the specified values status: testing + in_subset: + - SpecificationSubset equals_number_in: is_a: list_value_specification_constant @@ -1241,74 +1545,75 @@ slots: inherited: true description: the slot must have range number and the value of the slot must equal one of the specified values status: testing - + in_subset: + - SpecificationSubset + has_member: is_a: list_value_specification_constant range: anonymous_slot_expression - #multivalued: true - inlined: true - description: the values of the slot is multivalued with at least one member satisfying the condition + description: the value of the slot is multivalued with at least one member satisfying the condition status: testing + in_subset: + - SpecificationSubset all_members: is_a: list_value_specification_constant - range: slot_definition - multivalued: true - inlined: true - description: |- - the value of the multiavlued slot is a list where all elements conform to the specified values. - this defines a dynamic class with named slots according to matching constraints - - E.g to state that all members of a list are between 1 and 10 - ``` - all_members: - x: - range: integer - minimum_value: 10 - maximum_value: 10 - ``` + range: anonymous_slot_expression + description: the value of the slot is multivalued with all members satisfying the condition status: testing + in_subset: + - SpecificationSubset singular_name: domain: slot_definition description: a name that is used in the singular form - slot_uri: skos:altLabel + comments: + - this may be used in some schema translations where use of a singular form is idiomatic, for example RDF + close_mappings: + - skos:altLabel in_subset: - - basic + - BasicSubset required: + rank: 8 domain: slot_definition range: boolean inherited: true - description: true means that the slot must be present in the loaded definition + description: true means that the slot must be present in instances of the class definition in_subset: - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile recommended: + rank: 9 domain: slot_definition range: boolean inherited: true - description: true means that the slot should be present in the loaded definition, but this is not required + description: true means that the slot should be present in instances of the class definition, but this is not required comments: - This is to be used where not all data is expected to conform to having a required field - If a slot is recommended, and it is not populated, applications must not treat this as an error. Applications may use this to inform the user of missing data see_also: - https://github.com/linkml/linkml/issues/177 in_subset: - - basic + - SpecificationSubset + - BasicSubset inapplicable: domain: slot_definition range: boolean inherited: true - description: true means that the slot must not be present + description: true means that values for this slot must not be present comments: - By default all slots are applicable. The main use case for this slot is as an override in a subclass + in_subset: + - SpecificationSubset inlined: + rank: 25 domain: slot_definition range: boolean inherited: true @@ -1317,10 +1622,15 @@ slots: or identifier for the slot appears within the domain, referencing a structure that appears elsewhere. comments: - classes without keys or identifiers are necessarily inlined as lists + - only applicable in tree-like serializations, e.g json, yaml in_subset: - - basic + - SpecificationSubset + - BasicSubset + see_also: + - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" inlined_as_list: + rank: 27 domain: slot_definition range: boolean inherited: true @@ -1336,7 +1646,23 @@ slots: is the key or identifier and whose value is the one additional element. This form is still stored according to the inlined_as_list setting. in_subset: - - basic + - SpecificationSubset + - BasicSubset + see_also: + - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + + inlined_as_simple_dict: + rank: 28 + domain: slot_definition + range: boolean + inherited: true + description: >- + True means that an inlined slot is represented as a simple dict whose values are all atoms + in_subset: + - SpecificationSubset + see_also: + - "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" + status: testing list_elements_ordered: domain: slot_definition @@ -1347,7 +1673,10 @@ slots: order may still be preserved but this is not guaranteed comments: - should only be used with multivalued slots - + in_subset: + - SpecificationSubset + status: testing + list_elements_unique: domain: slot_definition range: boolean @@ -1356,6 +1685,8 @@ slots: If True, then there must be no duplicates in the elements of a multivalued slot comments: - should only be used with multivalued slots + in_subset: + - SpecificationSubset shared: aliases: @@ -1366,29 +1697,34 @@ slots: inherited: true description: >- If True, then the relationship between the slot domain and range is many to one or many to many - + in_subset: + - SpecificationSubset + key: domain: slot_definition range: boolean inherited: true description: >- - True means that the key slot(s) uniquely identify the container. + True means that the key slot(s) uniquely identify the elements within a single container comments: - - see also 'unique_key' - key is inherited - a given domain can have at most one key slot (restriction to be removed in the future) - identifiers and keys are mutually exclusive. A given domain cannot have both - a key slot is automatically required. Keys cannot be optional in_subset: - - basic - - relational_model + - SpecificationSubset + - BasicSubset + - RelationalModelProfile + see_also: + - linkml:unique_keys identifier: + rank: 5 domain: slot_definition range: boolean inherited: true description: >- - True means that the key slot(s) uniquely identify the container. There can be at most one identifier or key per + True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container aliases: - primary key @@ -1397,15 +1733,17 @@ slots: - code see_also: - https://en.wikipedia.org/wiki/Identifier + - linkml:unique_keys comments: - identifier is inherited - a key slot is automatically required. Identifiers cannot be optional - a given domain can have at most one identifier - identifiers and keys are mutually exclusive. A given domain cannot have both in_subset: - - minimal - - basic - - relational_model + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile designates_type: aliases: @@ -1415,14 +1753,24 @@ slots: inherited: true description: >- True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition + in_subset: + - SpecificationSubset + see_also: + - https://linkml.io/linkml/schemas/type-designators.html alias: + rank: 6 domain: slot_definition range: string slot_uri: skos:prefLabel 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. + comments: + - an example of alias is used within this metamodel, slot_definitions is aliases as slots + - not to be confused with aliases, which indicates a set of terms to be used for search purposes. + in_subset: + - SpecificationSubset owner: domain: slot_definition @@ -1438,6 +1786,8 @@ slots: description: the class(es) that reference the slot in a "slots" or "slot_usage" context readonly: filled in by the loader multivalued: true + exact_mappings: + - schema:domainIncludes is_usage_slot: domain: slot_definition @@ -1474,6 +1824,8 @@ slots: range: definition multivalued: true 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 + in_subset: + - SpecificationSubset children_are_mutually_disjoint: domain: definition @@ -1484,14 +1836,16 @@ slots: abstract: true domain: slot_definition range: boolean - description: A property of a slot that pertains to its logical properties + description: An abstract grouping for metaslots that describe logical properties of a slot symmetric: is_a: relational_logical_characteristic description: If s is symmetric, and i.s=v, then v.s=i close_mappings: - owl:SymmetricProperty - + in_subset: + - SpecificationSubset + asymmetric: is_a: relational_logical_characteristic description: If s is antisymmetric, and i.s=v where i is different from v, v.s cannot have value i @@ -1499,6 +1853,8 @@ slots: - asymmetry is the combination of antisymmetry and irreflexivity close_mappings: - owl:AsymmetricProperty + in_subset: + - SpecificationSubset reflexive: is_a: relational_logical_characteristic @@ -1507,48 +1863,64 @@ slots: - it is rare for a property to be reflexive, this characteristic is added for completeness, consider instead locally_reflexive close_mappings: - owl:ReflexiveProperty + in_subset: + - SpecificationSubset irreflexive: is_a: relational_logical_characteristic description: If s is irreflexive, then there exists no i such i.s=i close_mappings: - owl:IrreflexiveProperty + in_subset: + - SpecificationSubset locally_reflexive: is_a: relational_logical_characteristic - description: If s is locally_reflexive, then i.s=i for all instances i where s if a class slot for the type of i + 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 + in_subset: + - SpecificationSubset transitive: is_a: relational_logical_characteristic description: If s is transitive, and i.s=z, and s.s=j, then i.s=j close_mappings: - owl:TransitiveProperty + in_subset: + - SpecificationSubset transitive_form_of: range: slot_definition 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 comments: - - Example: ancestor_of is the transitive_form_of parent_of + - "Example: ancestor_of is the transitive_form_of parent_of" + in_subset: + - SpecificationSubset reflexive_transitive_form_of: is_a: transitive_form_of description: transitive_form_of including the reflexive case - + in_subset: + - SpecificationSubset + inverse: domain: slot_definition range: slot_definition description: indicates that any instance of d s r implies that there is also an instance of r s' d slot_uri: owl:inverseOf + in_subset: + - SpecificationSubset is_class_field: domain: slot_definition range: boolean - description: indicates that any instance, i, the domain of this slot will include an assert of i s range + description: indicates that for any instance, i, the domain of this slot will include an assertion of i s range role: domain: slot_definition range: string - description: the role played by the slot range + description: a textual descriptor that indicates the role played by the slot range + comments: + - the primary use case for this slot is to provide a textual descriptor of a generic slot name when used in the context of a more specific class inherited: true minimum_value: @@ -1559,7 +1931,8 @@ slots: description: for slots with ranges of type number, the value must be equal to or higher than this inherited: true in_subset: - - basic + - SpecificationSubset + - BasicSubset maximum_value: aliases: @@ -1569,37 +1942,50 @@ slots: description: for slots with ranges of type number, the value must be equal to or lowe than this inherited: true in_subset: - - basic + - SpecificationSubset + - BasicSubset interpolated: domain: pattern_expression range: boolean description: if true then the pattern is first string interpolated + in_subset: + - SpecificationSubset partial_match: domain: pattern_expression range: boolean description: if true then the pattern must match the whole string, as if enclosed in ^...$ + in_subset: + - SpecificationSubset pattern: + rank: 35 domain: definition range: string description: the string value of the slot must conform to this regular expression expressed in the string inherited: true in_subset: - - basic + - SpecificationSubset + - BasicSubset syntax: domain: pattern_expression range: string description: the string value of the slot must conform to this regular expression expressed in the string. May be interpolated. inherited: true + in_subset: + - SpecificationSubset structured_pattern: domain: definition range: pattern_expression description: the string value of the slot must conform to the regular expression in the pattern expression inherited: true + in_subset: + - SpecificationSubset + see_also: + - https://linkml.io/linkml/schemas/constraints.html#structured-patterns string_serialization: domain: definition @@ -1622,34 +2008,41 @@ slots: inherited: false see_also: - https://github.com/linkml/issues/128 + in_subset: + - SpecificationSubset # ----------------------------------- # Slots for type definition # ----------------------------------- typeof: + rank: 7 domain: type_definition range: type_definition description: >- - Names a parent type + A parent type from which type properties are inherited comments: - the target type definition of the typeof slot is referred to as the "parent type" - the type definition containing the typeof slot is referred to as the "child type" - type definitions without a typeof slot are referred to as a "root type" in_subset: - - basic + - SpecificationSubset + - BasicSubset base: + rank: 8 domain: type_definition - description: python base type that implements this type definition + description: python base type in the LinkML runtime that implements this type definition inherited: true comments: - every root type must have a base - the base is inherited by child types but may be overriden. Base compatibility is not checked. in_subset: - - basic + - SpecificationSubset + - BasicSubset type_uri: + rank: 2 domain: type_definition range: uriorcurie alias: uri @@ -1659,15 +2052,18 @@ slots: - uri is typically drawn from the set of URI's defined in OWL (https://www.w3.org/TR/2012/REC-owl2-syntax-20121211/#Datatype_Maps) - every root type must have a type uri in_subset: - - basic + - SpecificationSubset + - BasicSubset repr: + rank: 10 domain: type_definition range: string description: the name of the python object that implements this type definition inherited: true in_subset: - - basic + - SpecificationSubset + - BasicSubset # ----------------------------------- # Slots for alt descripion @@ -1679,7 +2075,7 @@ slots: description: text of an attributed description alias: description in_subset: - - basic + - BasicSubset alt_description_source: domain: alt_description @@ -1688,17 +2084,18 @@ slots: alias: source description: the source of an attributed description in_subset: - - basic + - BasicSubset alt_descriptions: aliases: - alternate definitions domain: element + description: A sourced alternative description for an element range: alt_description multivalued: true inlined: true in_subset: - - basic + - BasicSubset # ----------------------------------- # Slots for example @@ -1708,14 +2105,22 @@ slots: description: example value slot_uri: skos:example in_subset: - - basic + - BasicSubset value_description: domain: example alias: description description: description of what the value is doing in_subset: - - basic + - BasicSubset + + value_object: + domain: example + alias: object + description: direct object representation of the example + range: Anything + in_subset: + - BasicSubset examples: singular_name: example @@ -1727,36 +2132,47 @@ slots: close_mappings: - vann:example in_subset: - - owl - - basic + - BasicSubset # ----------------------------------- # Slots for prefix # ----------------------------------- prefix_prefix: + slot_uri: sh:prefix + rank: 1 domain: prefix range: ncname key: true - description: the nsname (sans ':' for a given prefix) + description: >- + The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE. in_subset: - - basic + - SpecificationSubset + - BasicSubset prefix_reference: + slot_uri: sh:namespace + rank: 2 domain: prefix range: uri required: true - description: A URI associated with a given prefix + description: >- + The namespace to which a prefix expands to. in_subset: - - basic + - SpecificationSubset + - BasicSubset prefixes: + slot_uri: sh:declare + rank: 10 domain: schema_definition range: prefix multivalued: true inlined: true - description: prefix / URI definitions to be added to the context beyond those fetched from prefixcommons in id prefixes + description: >- + A collection of prefix expansions that specify how CURIEs can be expanded to URIs in_subset: - - basic + - SpecificationSubset + - BasicSubset # ----------------------------------- # Slots for settings @@ -1766,38 +2182,52 @@ slots: range: ncname key: true description: the variable name for a setting + in_subset: + - SpecificationSubset setting_value: domain: setting range: string required: true description: The value assigned for a setting + in_subset: + - SpecificationSubset settings: + aliases: + - constants + rank: 20 domain: schema_definition range: setting multivalued: true inlined: true description: A collection of global variable settings comments: - - global variables are used in string interpolation + - global variables are used in string interpolation in structured patterns + in_subset: + - SpecificationSubset # ----------------------------------- # Slots for import expressions # ----------------------------------- - + import_from: domain: import_expression required: true range: uriorcurie + status: testing + import_as: domain: import_expression range: ncname + status: testing + import_map: domain: import_expression multivalued: true inlined: true range: setting + status: testing # ----------------------------------- # Slots for local_name @@ -1825,13 +2255,16 @@ slots: domain: slot_definition range: slot_definition description: allows for grouping of related slots into a grouping slot that serves the role of a group + comments: + - slot groups do not change the semantics of a model but are a useful way of visually grouping related slots slot_uri: sh:group range_expression: slot_conditions: - - is_grouping_slot: - equals_expression: True + is_grouping_slot: + equals_expression: "True" in_subset: - - basic + - SpecificationSubset + - BasicSubset is_grouping_slot: domain: slot_definition @@ -1840,7 +2273,8 @@ slots: close_mappings: - sh:PropertyGroup in_subset: - - basic + - SpecificationSubset + - BasicSubset # paths @@ -1857,7 +2291,7 @@ slots: description: a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignemnts domain: slot_definition range: path_expression - + # ----------------------------------- # Relational Roles # ----------------------------------- @@ -1876,7 +2310,7 @@ slots: - in the context of Entity-Relationship (ER) modeling, this is used to state that a class models a relationship between entities, and should be drawn with a diamond - in the context of RDF, this should be used when instances of the class are `rdf:Statement`s - in the context of property graphs, this should be used when a class is used to represent an edge that connects nodes - + relational_role: aliases: - reification_role @@ -1890,12 +2324,15 @@ slots: - in the context of RDF, this should be used for slots that can be modeled using the RDF reification vocabulary - in the context of property graphs, this should be used on edge classes to indicate which slots represent the input and output nodes - + #================================== # Classes # #================================== classes: + Anything: + class_uri: linkml:Any + common_metadata: description: Generic metadata shared across definitions mixin: true @@ -1924,15 +2361,21 @@ classes: - related mappings - narrow mappings - broad mappings + - created_by + - created_on + - last_updated_on + - modified_by + - status - rank in_subset: - - basic + - BasicSubset element: aliases: - data element - object - description: a named element in the model + description: >- + A named element in the model abstract: true mixins: - extensible @@ -1944,16 +2387,24 @@ classes: - definition_uri - local_names - conforms_to + - implements see_also: - https://en.wikipedia.org/wiki/Data_element in_subset: - - basic + - BasicSubset schema_definition: - description: "a collection of subset, type, slot and class definitions" + rank: 1 + description: >- + A collection of definitions that make up a schema or a data model. tree_root: true aliases: - data dictionary + - data model + - information model + - logical model + - schema + - model is_a: element slots: - id @@ -1981,19 +2432,27 @@ classes: - keywords see_also: - https://en.wikipedia.org/wiki/Data_dictionary + close_mappings: + - qb:ComponentSet + - owl:Ontology slot_usage: name: range: ncname + description: a unique name for the schema that is both human-readable and consists of only characters from the NCName set # slot_usage: # description: # slot_uri: dcterms:description in_subset: - - minimal - - basic - - relational_model - - object_oriented - + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile + - OwlProfile + type_expression: + description: >- + An abstract class grouping named types and anonymous type expressions is_a: expression mixin: true slots: @@ -2023,11 +2482,14 @@ classes: anonymous_type_expression: mixins: - type_expression - + description: >- + A type expression that is not a top-level named type definition. Used for nesting. + type_definition: + rank: 4 mixins: - type_expression - description: A data type definition. + description: an element that whose instances are atomic scalar values that can be mapped to primitive types is_a: element slots: - typeof @@ -2039,16 +2501,20 @@ classes: union_of: range: type_definition in_subset: - - basic + - SpecificationSubset + - BasicSubset + - OwlProfile subset_definition: - description: the name and description of a subset + rank: 6 + description: an element that can be used to group other metamodel elements is_a: element in_subset: - - basic + - SpecificationSubset + - BasicSubset definition: - description: "base class for definitions" + description: abstract base class for core metaclasses abstract: true is_a: element slots: @@ -2058,16 +2524,11 @@ classes: - mixins - apply_to - values_from - - created_by - - created_on - - last_updated_on - - modified_by - - status - string_serialization see_also: - https://en.wikipedia.org/wiki/Data_element_definition in_subset: - - basic + - BasicSubset enum_expression: description: An expression that constrains the range of a slot @@ -2089,25 +2550,31 @@ classes: description: An enum_expression that is not named mixins: - enum_expression - + enum_definition: + rank: 5 aliases: - enum - value set - term set + - concept set - Terminology Value Set - description: List of values that constrain the range of a slot + - answer list + description: an element whose instances must be drawn from a specified set of permissible values is_a: definition mixins: - enum_expression exact_mappings: + - qb:HierarchicalCodeList - NCIT:C113497 close_mappings: - - qb:HierarchicalCodeList + - skos:ConceptScheme in_subset: - - basic - - relational_model - - object_oriented + - SpecificationSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile + - OwlProfile slots: - enum_uri @@ -2116,7 +2583,9 @@ classes: slots: - identifier_pattern - source_ontology - + in_subset: + - SpecificationSubset + 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 slots: @@ -2126,8 +2595,9 @@ classes: - is_direct - include_self - traverse_up - - + in_subset: + - SpecificationSubset + structured_alias: description: >- object that contains meta data about a synonym or alias including where it came from (source) @@ -2150,12 +2620,10 @@ classes: - value: "https://w3id.org/mod#acronym" description: An acronym - expression: mixin: true abstract: true description: general mixin for any class that can represent some form of expression - status: testing anonymous_expression: abstract: true @@ -2164,7 +2632,10 @@ classes: - extensible - annotatable - common_metadata - status: testing + description: >- + An abstract parent class for any nested expression + comments: + - anonymous expressions are useful for when it is necessary to build a complex expression without introducing a named element for each sub-expression path_expression: description: An expression that describes an abstract path from an object to another through a sequence of slot lookups @@ -2173,7 +2644,6 @@ classes: - extensible - annotatable - common_metadata - status: testing slots: - followed_by - none_of @@ -2195,7 +2665,6 @@ classes: all_of: range: path_expression - slot_expression: description: an expression that constrains the range of values a slot can take mixin: true @@ -2214,6 +2683,7 @@ classes: - structured_pattern - unit - implicit_prefix + - value_presence - equals_string - equals_string_in - equals_number @@ -2235,16 +2705,15 @@ classes: range: anonymous_slot_expression none_of: range: anonymous_slot_expression - status: testing anonymous_slot_expression: is_a: anonymous_expression mixins: - slot_expression - status: testing - + slot_definition: - description: the definition of a property or a slot + rank: 3 + description: an element that describes how instances are related to other instances aliases: - slot - field @@ -2255,6 +2724,7 @@ classes: is_a: definition close_mappings: - rdf:Property + - qb:ComponentProperty mixins: - slot_expression slots: @@ -2298,16 +2768,21 @@ classes: slot_usage: is_a: range: slot_definition + description: A primary parent slot from which inheritable metaslots are propagated mixins: range: slot_definition + description: A collection of secondary parent mixin slots from which inheritable metaslots are propagated apply_to: range: slot_definition disjoint_with: range: slot_definition union_of: - range: type_definition + range: slot_definition in_subset: - - basic + - SpecificationSubset + - MinimalSubset + - BasicSubset + - OwlProfile class_expression: mixin: true @@ -2327,7 +2802,6 @@ classes: range: anonymous_class_expression none_of: range: anonymous_class_expression - status: testing anonymous_class_expression: is_a: anonymous_expression @@ -2335,12 +2809,12 @@ classes: - class_expression slots: - is_a - status: testing class_definition: + rank: 2 mixins: - class_expression - description: the definition of a class or interface + description: an element whose instances are complex objects that may have slot-value assignments aliases: - table - record @@ -2367,8 +2841,10 @@ classes: slot_usage: is_a: range: class_definition + description: A primary parent class from which inheritable metaslots are propagated mixins: range: class_definition + description: A collection of secondary parent mixin classes from which inheritable metaslots are propagated apply_to: range: class_definition rules: @@ -2380,16 +2856,17 @@ classes: close_mappings: - owl:Class in_subset: - - minimal - - basic - - relational_model - - object_oriented + - SpecificationSubset + - MinimalSubset + - BasicSubset + - RelationalModelProfile + - ObjectOrientedProfile + - OwlProfile class_level_rule: abstract: true description: A rule that is applied to classes - status: testing - + class_rule: is_a: class_level_rule aliases: @@ -2410,7 +2887,8 @@ classes: close_mappings: - sh:TripleRule - swrl:Imp - status: testing + in_subset: + - SpecificationSubset pattern_expression: description: a regular expression pattern used to evaluate conformance of a string @@ -2422,7 +2900,7 @@ classes: - syntax - interpolated - partial_match - + import_expression: description: an expression describing an import status: testing @@ -2434,20 +2912,24 @@ classes: - import_from - import_as - import_map - + setting: description: assignment of a key to a value slots: - setting_key - setting_value + in_subset: + - SpecificationSubset prefix: + rank: 12 description: prefix URI tuple slots: - prefix_prefix - prefix_reference in_subset: - - basic + - SpecificationSubset + - BasicSubset local_name: description: an attributed label @@ -2460,18 +2942,22 @@ classes: slots: - value - value_description + - value_object in_subset: - - basic + - BasicSubset alt_description: + aliases: + - structured description description: an attributed description slots: - alt_description_source - alt_description_text in_subset: - - basic + - BasicSubset permissible_value: + rank: 16 aliases: - PV description: a permissible value, accompanied by intended text and an optional mapping to a concept URI @@ -2484,15 +2970,19 @@ classes: range: permissible_value mixins: range: permissible_value + close_mappings: + - skos:Concept slots: - text - description - meaning - unit in_subset: - - basic + - SpecificationSubset + - BasicSubset unique_key: + rank: 20 description: a collection of slots whose values uniquely identify an instance of a class mixins: - extensible @@ -2501,56 +2991,69 @@ classes: slots: - unique_key_name - unique_key_slots + - consider_nulls_inequal in_subset: - - basic - - relational_model + - SpecificationSubset + - BasicSubset + - RelationalModelProfile #================================== # Enumerations # #================================== enums: pv_formula_options: + rank: 1 description: >- The formula used to generate the set of permissible values from the code_set values permissible_values: - CODE: The permissible values are the set of possible codes in the code set - CURIE: The permissible values are the set of CURIES in the code set - URI: The permissible values are the set of code URIs in the code set - FHIR_CODING: The permissible values are the set of FHIR coding elements derived from the code set - in_subset: - - basic + CODE: + description: The permissible values are the set of possible codes in the code set + CURIE: + description: The permissible values are the set of CURIES in the code set + URI: + description: The permissible values are the set of code URIs in the code set + FHIR_CODING: + description: The permissible values are the set of FHIR coding elements derived from the code set + in_subset: + - SpecificationSubset + - BasicSubset presence_enum: + rank: 11 description: enumeration of conditions by which a slot value should be set permissible_values: UNCOMMITTED: PRESENT: ABSENT: + status: testing relational_role_enum: + rank: 3 description: enumeration of roles a slot on a relationship class can play permissible_values: SUBJECT: meaning: rdf:subject description: a slot with this role connects a relationship to its subject/source node -# exact_mappings: -# - owl:annotatedSource + exact_mappings: + - owl:annotatedSource OBJECT: meaning: rdf:object description: a slot with this role connects a relationship to its object/target node -# exact_mappings: -# - owl:annotatedTarget + exact_mappings: + - owl:annotatedTarget PREDICATE: meaning: rdf:predicate description: a slot with this role connects a relationship to its predicate/property -# exact_mappings: -# - owl:annotatedProperty + exact_mappings: + - owl:annotatedProperty NODE: description: a slot with this role connects a symmetric relationship to a node that represents either subject or object node OTHER_ROLE: description: a slot with this role connects a relationship to a node that is not subject/object/predicate alias_predicate_enum: + rank: 5 + description: permissible values for the relationship between an element and an alias permissible_values: EXACT_SYNONYM: meaning: skos:exactMatch diff --git a/linkml_runtime/linkml_model/model/schema/types.yaml b/linkml_runtime/linkml_model/model/schema/types.yaml index c2376dfd..b8981855 100644 --- a/linkml_runtime/linkml_model/model/schema/types.yaml +++ b/linkml_runtime/linkml_model/model/schema/types.yaml @@ -10,6 +10,7 @@ prefixes: linkml: https://w3id.org/linkml/ xsd: http://www.w3.org/2001/XMLSchema# shex: http://www.w3.org/ns/shex# + schema: http://schema.org/ default_prefix: linkml default_range: string @@ -30,32 +31,44 @@ types: uri: xsd:string base: str description: A character string + exact_mappings: + - schema:Text integer: uri: xsd:integer base: int description: An integer + exact_mappings: + - schema:Integer boolean: uri: xsd:boolean base: Bool repr: bool description: A binary (true or false) value + exact_mappings: + - schema:Boolean float: uri: xsd:float base: float description: A real number that conforms to the xsd:float specification + exact_mappings: + - schema:Float double: uri: xsd:double base: float description: A real number that conforms to the xsd:double specification + close_mappings: + - schema:Float decimal: uri: xsd:decimal base: Decimal description: A real number with arbitrary precision that conforms to the xsd:decimal specification + broad_mappings: + - schema:Number time: uri: xsd:dateTime @@ -63,7 +76,9 @@ types: repr: str description: A time object represents a (local) time of day, independent of any particular day notes: - - URI is dateTime because OWL reasoners don't work with straight date or time + - URI is dateTime because OWL reasoners do not work with straight date or time + exact_mappings: + - schema:Time date: uri: xsd:date @@ -72,12 +87,16 @@ types: description: a date (year, month and day) in an idealized calendar notes: - URI is dateTime because OWL reasoners don't work with straight date or time + exact_mappings: + - schema:Date datetime: uri: xsd:dateTime repr: str base: XSDDateTime description: The combination of a date and time + exact_mappings: + - schema:DateTime date_or_datetime: uri: linkml:DateOrDatetime @@ -94,11 +113,28 @@ types: repr: str description: a URI or a CURIE + curie: + uri: xsd:string + base: Curie + repr: str + description: a compact URI + comments: + - in RDF serializations this MUST be expanded to a URI + - in non-RDF serializations MAY be serialized as the compact representation + conforms_to: https://www.w3.org/TR/curie/ + uri: uri: xsd:anyURI base: URI repr: str description: a complete URI + comments: + - >- + in RDF serializations a slot with range of uri is treated as a literal or type xsd:anyURI unless it is an identifier or + a reference to an identifier, in which case it is translated directly to a node + close_mappings: + - schema:URL + conforms_to: https://www.ietf.org/rfc/rfc3987.txt ncname: uri: xsd:string diff --git a/linkml_runtime/linkml_model/model/schema/units.yaml b/linkml_runtime/linkml_model/model/schema/units.yaml index 66c6d3f3..cdf7c660 100644 --- a/linkml_runtime/linkml_model/model/schema/units.yaml +++ b/linkml_runtime/linkml_model/model/schema/units.yaml @@ -50,6 +50,15 @@ slots: symbol: slot_uri: qudt:symbol description: name of the unit encoded as a symbol + + abbreviation: + slot_uri: qudt: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) + + descriptive_name: + slot_uri: rdfs:label + description: the spelled out name of the unit, for example, meter classes: UnitOfMeasure: @@ -57,6 +66,8 @@ classes: 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). slots: - symbol + - abbreviation + - descriptive_name - exact mappings - ucum_code - derivation diff --git a/linkml_runtime/linkml_model/owl/meta.owl.ttl b/linkml_runtime/linkml_model/owl/meta.owl.ttl index 16870776..4063ad13 100644 --- a/linkml_runtime/linkml_model/owl/meta.owl.ttl +++ b/linkml_runtime/linkml_model/owl/meta.owl.ttl @@ -1,4 +1,5 @@ @prefix IAO: . +@prefix NCIT: . @prefix OIO: . @prefix bibo: . @prefix dcterms: . @@ -8,14 +9,15 @@ @prefix pav: . @prefix prov: . @prefix qb: . +@prefix qudt: . @prefix rdf: . @prefix rdfs: . -@prefix schema1: . -@prefix sh1: . +@prefix schema: . +@prefix sh: . @prefix skos: . @prefix skosxl: . @prefix swrl: . -@prefix vann1: . +@prefix vann: . @prefix xsd: . linkml:equals_number_in a owl:ObjectProperty, @@ -30,13 +32,22 @@ linkml:inapplicable a owl:ObjectProperty, rdfs:label "inapplicable" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that the slot must not be present" ; + skos:definition "true means that values for this slot must not be present" ; skos:note "By default all slots are applicable. The main use case for this slot is as an override in a subclass" . +linkml:inlined_as_simple_dict a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "inlined_as_simple_dict" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" ; + skos:definition "True means that an inlined slot is represented as a simple dict whose values are all atoms" . + linkml:meta a owl:Ontology ; rdfs:label "meta" ; IAO:0000700 linkml:AltDescription, linkml:Annotatable, + linkml:Anything, linkml:ClassExpression, linkml:ClassLevelRule, linkml:CommonMetadata, @@ -45,16 +56,19 @@ linkml:meta a owl:Ontology ; linkml:Extensible, linkml:Extension, linkml:LocalName, + linkml:MatchQuery, linkml:Prefix, - linkml:Setting ; + linkml:ReachabilityQuery, + linkml:Setting, + linkml:UnitOfMeasure ; dcterms:license "https://creativecommons.org/publicdomain/zero/1.0/" ; dcterms:title "LinkML Schema Metamodel" ; pav:version "2.0.0" ; - linkml:generation_date "2022-05-19T21:52:59" ; + linkml:generation_date "2023-03-16T10:58:30" ; linkml:metamodel_version "1.7.0" ; linkml:source_file "meta.yaml" ; - linkml:source_file_date "2022-05-19T21:50:21" ; - linkml:source_file_size 65393 . + linkml:source_file_date "2023-03-11T19:19:30" ; + linkml:source_file_size 89120 . linkml:owned_by a owl:ObjectProperty, linkml:SlotDefinition ; @@ -71,32 +85,39 @@ linkml:structured_imports a owl:ObjectProperty, rdfs:label "structured_imports" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:ImportExpression ; - skos:definition "other schemas that are included in this schema" . + skos:definition "A list of specifications for how to import elements from external schemas" . linkml:topValue a owl:DatatypeProperty ; rdfs:label "value" . -linkml:value_presence a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "value_presence" ; - 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:note "if set to true this has the same effect as required=true. In contrast, required=false allows a value to be present" . - linkml:value_specification_constant a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "value_specification_constant" ; rdfs:range linkml:String ; skos:definition "Grouping for metamodel slots that constrain the a slot value to equal a specified constant" . +dcterms:contributor a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "contributors" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "agent that contributed to the element" ; + skos:exactMatch dcterms:contributor . + +dcterms:publisher a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "publisher" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "An entity responsible for making the resource available" ; + skos:exactMatch dcterms:publisher . + linkml:abstract a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "abstract" ; rdfs:domain linkml:Definition ; rdfs:range linkml:Boolean ; - skos:definition "an abstract class is a high level class or slot that is typically used to group common slots together and cannot be directly instantiated." . + skos:definition "Indicates the class or slot cannot be directly instantiated and is intended for grouping purposes." . linkml:asymmetric a owl:ObjectProperty, linkml:SlotDefinition ; @@ -121,7 +142,7 @@ linkml:base a owl:ObjectProperty, rdfs:label "base" ; rdfs:domain linkml:TypeDefinition ; rdfs:range linkml:String ; - skos:definition "python base type that implements this type definition" ; + skos:definition "python base type in the LinkML runtime that implements this type definition" ; skos:note "every root type must have a base", "the base is inherited by child types but may be overriden. Base compatibility is not checked." . @@ -138,45 +159,32 @@ linkml:class_uri a owl:ObjectProperty, rdfs:label "class_uri" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso "https://linkml.io/linkml/schemas/uris-and-mappings.html", + "linkml:definition_uri" ; skos:altLabel "public ID" ; - skos:definition "URI of the class in an RDF environment" . + skos:definition "URI of the class that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" ; + skos:note "Assigning class_uris can provide additional hooks for interoperation, indicating a common conceptual model" . linkml:classes a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "classes" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:ClassDefinition ; - skos:definition "class definitions" . + skos:definition "An index to the collection of all class definitions in the schema" . linkml:classification_rules a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "classification_rules" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:AnonymousClassExpression ; - skos:definition "the collection of classification rules that apply to all members of this class" . - -linkml:code_set a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "code_set" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:definition "the identifier of an enumeration code set." . - -linkml:code_set_tag a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "code_set_tag" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:String ; - skos:definition "the version tag of the enumeration code set" ; - skos:note "enum_definition cannot have both a code_set_tag and a code_set_version" . + skos:definition "The collection of classification rules that apply to all members of this class. Classification rules allow for automatically assigning the instantiated type of an instance." . -linkml:code_set_version a owl:ObjectProperty, +linkml:consider_nulls_inequal a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "code_set_version" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:String ; - skos:definition "the version identifier of the enumeration code set" ; - skos:note "we assume that version identifiers lexically sort in temporal order. Recommend semver when possible" . + rdfs:label "consider_nulls_inequal" ; + rdfs:domain linkml:UniqueKey ; + rdfs:range linkml:Boolean ; + skos:definition "By default, None values are considered equal for the purposes of comparisons in determining uniqueness. Set this to true to treat missing values as per ANSI-SQL NULLs, i.e NULL=NULL is always False." . linkml:default_curi_maps a owl:ObjectProperty, linkml:SlotDefinition ; @@ -190,15 +198,14 @@ linkml:default_prefix a owl:ObjectProperty, rdfs:label "default_prefix" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:String ; - skos:definition "default and base prefix -- used for ':' identifiers, @base and @vocab" . + skos:definition "The prefix that is used for all elements within a schema" . linkml:default_range a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "default_range" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:TypeDefinition ; - skos:definition "default slot range to be used if range element is omitted from a slot definition" ; - skos:editorialNote "restricted to type definitions for the time being. Could be broadened if required" . + skos:definition "default slot range to be used if range element is omitted from a slot definition" . linkml:defining_slots a owl:ObjectProperty, linkml:SlotDefinition ; @@ -212,14 +219,23 @@ linkml:definition_uri a owl:ObjectProperty, rdfs:label "definition_uri" ; rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "the \"native\" URI of the element" ; - skos:note "Formed by combining the default_prefix with the mangled element" . + rdfs:seeAlso "linkml:class_uri", + "linkml:slot_uri" ; + skos:definition "The native URI of the element. This is always within the namespace of the containing schema. Contrast with the assigned URI, via class_uri or slot_uri" ; + skos:note "Formed by combining the default_prefix with the normalized element name" . + +linkml:derivation a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "derivation" ; + rdfs:range linkml:String ; + skos:definition "Expression for deriving this unit from other units" . linkml:designates_type a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "designates_type" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; + rdfs:seeAlso "https://linkml.io/linkml/schemas/type-designators.html" ; skos:altLabel "type designator" ; skos:definition "True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition" . @@ -244,12 +260,14 @@ linkml:domain_of a owl:ObjectProperty, rdfs:label "domain_of" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:ClassDefinition ; - skos:definition "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" . + skos:definition "the class(es) that reference the slot in a \"slots\" or \"slot_usage\" context" ; + skos:exactMatch schema:domainIncludes . linkml:elseconditions a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "elseconditions" ; rdfs:range linkml:AnonymousClassExpression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; skos:altLabel "else" ; skos:definition "an expression that must hold for an instance of the class, if the preconditions no not hold" . @@ -260,12 +278,20 @@ linkml:emit_prefixes a owl:ObjectProperty, rdfs:range linkml:Ncname ; skos:definition "a list of Curie prefixes that are used in the representation of instances of the model. All prefixes in this list are added to the prefix sections of the target models." . +linkml:enum_uri a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "enum_uri" ; + rdfs:domain linkml:EnumDefinition ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "public ID" ; + skos:definition "URI of the enum that provides a semantic interpretation of the element in a linked data context. The URI may come from any namespace and may be shared between schemas" . + linkml:enums a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "enums" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:EnumDefinition ; - skos:definition "enumerated ranges" . + skos:definition "An index to the collection of all enum definitions in the schema" . linkml:followed_by a owl:ObjectProperty, linkml:SlotDefinition ; @@ -294,7 +320,7 @@ linkml:id_prefixes a owl:ObjectProperty, rdfs:range linkml:Ncname ; rdfs:seeAlso "https://github.com/linkml/linkml-model/issues/28", "https://github.com/linkml/linkml/issues/194" ; - skos:definition "the identifier of this class or slot must begin with the URIs referenced by this prefix" ; + skos:definition "An allowed list of prefixes for which identifiers must conform. The identifier of this class or slot must begin with the URIs referenced by this prefix" ; skos:note "If identifiers are treated as CURIEs, then the CURIE must start with one of the indicated prefixes followed by `:` (_should_ start if the list is open)", "If identifiers are treated as URIs, then the URI string must start with the expanded for of the prefix (_should_ start if the list is open)", "Order of elements may be used to indicate priority order" . @@ -304,34 +330,52 @@ linkml:identifier a owl:ObjectProperty, rdfs:label "identifier" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/Identifier" ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/Identifier", + "linkml:unique_keys" ; skos:altLabel "ID", "UID", "code", "primary key" ; - skos:definition "True means that the key slot(s) uniquely identify the container. There can be at most one identifier or key per container" ; + skos:definition "True means that the key slot(s) uniquely identifies the elements. There can be at most one identifier or key per container" ; skos:note "a given domain can have at most one identifier", "a key slot is automatically required. Identifiers cannot be optional", "identifier is inherited", "identifiers and keys are mutually exclusive. A given domain cannot have both" . +linkml:identifier_pattern a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "identifier_pattern" ; + rdfs:domain linkml:MatchQuery ; + rdfs:range linkml:String ; + skos:definition "A regular expression that is used to obtain a set of identifiers from a source_ontology to construct a set of permissible values" . + linkml:ifabsent a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "ifabsent" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:String ; - skos:closeMatch sh1:defaultValue ; + 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_runtime.utils.ifabsent_functions.default_library: +linkml.utils.ifabsent_functions.default_library: * [Tt]rue -- boolean True * [Ff]alse -- boolean False - * int(value) -- integer value - * str(value) -- string value - * default_range -- schema default range * bnode -- blank node identifier - * slot_uri -- URI for the slot * class_curie -- CURIE for the containing class - * class_uri -- URI 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""" . + +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." . linkml:import_as a owl:ObjectProperty, linkml:SlotDefinition ; @@ -356,7 +400,15 @@ linkml:imports a owl:ObjectProperty, rdfs:label "imports" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:Uriorcurie ; - skos:definition "other schemas that are included in this schema" . + skos:definition "A list of schemas that are to be included in this schema" . + +linkml:include_self a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "include_self" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "reflexive" ; + skos:definition "True if the query is reflexive" . linkml:inherited a owl:ObjectProperty, linkml:SlotDefinition ; @@ -364,7 +416,8 @@ linkml:inherited a owl:ObjectProperty, rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; skos:definition "true means that the *value* of a slot is inherited by subclasses" ; - skos:note "Inherited applies to slot values. Parent *slots* are always inherited by subclasses" . + skos:note "Inherited applies to slot values. Parent *slots* are always inherited by subclasses", + "the slot is to be used for defining *metamodels* only" . linkml:interpolated a owl:ObjectProperty, linkml:SlotDefinition ; @@ -387,14 +440,22 @@ linkml:is_class_field a owl:ObjectProperty, rdfs:label "is_class_field" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "indicates that any instance, i, the domain of this slot will include an assert of i s range" . + skos:definition "indicates that for any instance, i, the domain of this slot will include an assertion of i s range" . + +linkml:is_direct a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "is_direct" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "non-transitive" ; + skos:definition "True if the reachability query should only include directly related nodes, if False then include also transitively connected" . linkml:is_grouping_slot a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "is_grouping_slot" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:closeMatch sh1:PropertyGroup ; + skos:closeMatch sh:PropertyGroup ; skos:definition "true if this slot is a grouping slot" . linkml:is_usage_slot a owl:ObjectProperty, @@ -409,12 +470,12 @@ linkml:key a owl:ObjectProperty, rdfs:label "key" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "True means that the key slot(s) uniquely identify the container." ; + rdfs:seeAlso "linkml:unique_keys" ; + skos:definition "True means that the key slot(s) uniquely identify the elements within a single container" ; skos:note "a given domain can have at most one key slot (restriction to be removed in the future)", "a key slot is automatically required. Keys cannot be optional", "identifiers and keys are mutually exclusive. A given domain cannot have both", - "key is inherited", - "see also 'unique_key'" . + "key is inherited" . linkml:list_elements_ordered a owl:ObjectProperty, linkml:SlotDefinition ; @@ -451,7 +512,7 @@ linkml:locally_reflexive a owl:ObjectProperty, rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; rdfs:subPropertyOf linkml:relational_logical_characteristic ; - skos:definition "If s is locally_reflexive, then i.s=i for all instances i where s if a class slot for the type of i" . + 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" . linkml:meaning a owl:ObjectProperty, linkml:SlotDefinition ; @@ -475,7 +536,14 @@ linkml:multivalued a owl:ObjectProperty, rdfs:label "multivalued" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that slot can have more than one value" . + skos:definition "true means that slot can have more than one value and should be represented using a list or collection structure." . + +linkml:object a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "object" ; + rdfs:domain linkml:Example ; + rdfs:range linkml:Anything ; + skos:definition "direct object representation of the example" . linkml:open_world a owl:ObjectProperty, linkml:SlotDefinition ; @@ -504,59 +572,24 @@ linkml:path_rule a owl:ObjectProperty, rdfs:range linkml:PathExpression ; skos:definition "a rule for inferring a slot assignment based on evaluating a path through a sequence of slot assignemnts" . -linkml:permissible_values a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "permissible_values" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:PermissibleValue ; - skos:definition "A list of possible values for a slot range" . - linkml:postconditions a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "postconditions" ; rdfs:range linkml:AnonymousClassExpression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; skos:altLabel "consequents", "head", "then" ; skos:closeMatch swrl:body ; skos:definition "an expression that must hold for an instance of the class, if the preconditions hold" . -linkml:prefix_prefix a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "prefix_prefix" ; - rdfs:domain linkml:Prefix ; - rdfs:range linkml:Ncname ; - skos:definition "the nsname (sans ':' for a given prefix)" . - -linkml:prefix_reference a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "prefix_reference" ; - rdfs:domain linkml:Prefix ; - rdfs:range linkml:Uri ; - skos:definition "A URI associated with a given prefix" . - -linkml:prefixes a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "prefixes" ; - rdfs:domain linkml:SchemaDefinition ; - rdfs:range linkml:Prefix ; - skos:definition "prefix / URI definitions to be added to the context beyond those fetched from prefixcommons in id prefixes" . - -linkml:pv_formula a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "pv_formula" ; - rdfs:domain linkml:EnumDefinition ; - rdfs:range linkml:PvFormulaOptions ; - skos:definition "Defines the specific formula to be used to generate the permissible values." ; - 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:readonly a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "readonly" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:String ; - skos:definition "If present, slot is read only. Text explains why" . + skos:definition "If present, slot is read only. Text explains why" ; + skos:note "the slot is to be used for defining *metamodels* only" . linkml:reflexive a owl:ObjectProperty, linkml:SlotDefinition ; @@ -586,6 +619,15 @@ linkml:relational_role a owl:ObjectProperty, "in the context of property graphs, this should be used on edge classes to indicate which slots represent the input and output nodes", "this should only be used on slots that are applicable to class that represent relationships" . +linkml:relationship_types a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "relationship_types" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "predicates", + "properties" ; + skos:definition "A list of relationship types (properties) that are used in a reachability query" . + linkml:repr a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "repr" ; @@ -617,7 +659,8 @@ linkml:role a owl:ObjectProperty, rdfs:label "role" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:String ; - skos:definition "the role played by the slot range" . + skos:definition "a textual descriptor that indicates the role played by the slot range" ; + skos:note "the primary use case for this slot is to provide a textual descriptor of a generic slot name when used in the context of a more specific class" . linkml:setting_key a owl:ObjectProperty, linkml:SlotDefinition ; @@ -638,8 +681,9 @@ linkml:settings a owl:ObjectProperty, rdfs:label "settings" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:Setting ; + skos:altLabel "constants" ; skos:definition "A collection of global variable settings" ; - skos:note "global variables are used in string interpolation" . + skos:note "global variables are used in string interpolation in structured patterns" . linkml:shared a owl:ObjectProperty, linkml:SlotDefinition ; @@ -650,20 +694,32 @@ linkml:shared a owl:ObjectProperty, "many to one or many" ; skos:definition "If True, then the relationship between the slot domain and range is many to one or many to many" . +linkml:singular_name a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "singular_name" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:String ; + skos:closeMatch skos:altLabel ; + skos:definition "a name that is used in the singular form" ; + skos:note "this may be used in some schema translations where use of a singular form is idiomatic, for example RDF" . + linkml:slot_uri a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "slot_uri" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso "https://linkml.io/linkml/schemas/uris-and-mappings.html", + "linkml:definition_uri" ; skos:altLabel "public ID" ; - skos:definition "predicate of this slot for semantic web application" . + 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:note "Assigning slot_uris can provide additional hooks for interoperation, indicating a common conceptual model" . linkml:slot_usage a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "slot_usage" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:SlotDefinition ; - skos:definition "the redefinition of a slot in the context of the containing class definition." ; + skos:definition "the refinement of a slot in the context of the containing class definition." ; skos:note "Many slots may be re-used across different classes, but the meaning of the slot may be refined by context. For example, a generic association model may use slots subject/predicate/object with generic semantics and minimal constraints. When this is subclasses, e.g. to disease-phenotype associations then slot usage may specify both local naming (e.g. subject=disease) and local constraints" . linkml:source_file a owl:ObjectProperty, @@ -687,6 +743,13 @@ linkml:source_file_size a owl:ObjectProperty, rdfs:range linkml:Integer ; skos:definition "size in bytes of the source of the schema" . +linkml:source_nodes a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source_nodes" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Uriorcurie ; + skos:definition "A list of nodes that are used in the reachability query" . + linkml:string_serialization a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "string_serialization" ; @@ -698,12 +761,20 @@ 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""" . +linkml:subclass_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "subclass_of" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:Uriorcurie ; + skos:closeMatch rdfs:subClassOf ; + skos:definition "DEPRECATED -- rdfs:subClassOf to be emitted in OWL generation" . + linkml:subsets a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "subsets" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:SubsetDefinition ; - skos:definition "list of subsets referenced in this model" ; + skos:definition "An index to the collection of all subset definitions in the schema" ; skos:exactMatch OIO:hasSubset . linkml:symmetric a owl:ObjectProperty, @@ -734,7 +805,10 @@ linkml:text a owl:ObjectProperty, rdfs:label "text" ; rdfs:domain linkml:PermissibleValue ; rdfs:range linkml:String ; - skos:altLabel "value" . + skos:altLabel "value" ; + skos:closeMatch skos:notation ; + skos:definition "The actual permissible value itself" ; + skos:note "there are no constraints on the text of the permissible value, but for many applications you may want to consider following idiomatic forms and using computer-friendly forms" . linkml:transitive a owl:ObjectProperty, linkml:SlotDefinition ; @@ -751,12 +825,21 @@ linkml:traverse a owl:ObjectProperty, rdfs:range linkml:SlotDefinition ; skos:definition "the slot to traverse" . +linkml:traverse_up a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "traverse_up" ; + rdfs:domain linkml:ReachabilityQuery ; + rdfs:range linkml:Boolean ; + skos:altLabel "ancestors" ; + skos:definition "True if the direction of the reachability query is reversed and ancestors are retrieved" . + linkml:tree_root a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "tree_root" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:Boolean ; - skos:definition "indicator that this is the root class in tree structures" ; + rdfs:seeAlso "https://linkml.io/linkml/intro/tutorial02.html" ; + skos:definition "Indicates that this is the Container class which forms the root of the serialized document structure in tree serializations" ; skos:editorialNote "each schema should have at most one tree root" . linkml:typeof a owl:ObjectProperty, @@ -764,7 +847,7 @@ linkml:typeof a owl:ObjectProperty, rdfs:label "typeof" ; rdfs:domain linkml:TypeDefinition ; rdfs:range linkml:TypeDefinition ; - skos:definition "Names a parent type" ; + skos:definition "A parent type from which type properties are inherited" ; skos:note "the target type definition of the typeof slot is referred to as the \"parent type\"", "the type definition containing the typeof slot is referred to as the \"child type\"", "type definitions without a typeof slot are referred to as a \"root type\"" . @@ -774,15 +857,7 @@ linkml:types a owl:ObjectProperty, rdfs:label "types" ; rdfs:domain linkml:SchemaDefinition ; rdfs:range linkml:TypeDefinition ; - skos:definition "data types used in the model" . - -linkml:union_of a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "union_of" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:ClassDefinition ; - skos:definition "indicates that the domain class consists exactly of the members of the classes in the range" ; - skos:editorialNote "this only applies in the OWL generation" . + skos:definition "An index to the collection of all type definitions in the schema" . linkml:unique_key_name a owl:ObjectProperty, linkml:SlotDefinition ; @@ -796,7 +871,8 @@ linkml:unique_keys a owl:ObjectProperty, rdfs:label "unique_keys" ; rdfs:domain linkml:ClassDefinition ; rdfs:range linkml:UniqueKey ; - skos:definition "Set of unique keys for this slot" ; + rdfs:seeAlso "https://linkml.io/linkml/schemas/constraints.html#unique-key" ; + skos:definition "A collection of named unique keys for this class. Unique keys may be singular or compound." ; skos:exactMatch owl:hasKey . linkml:uri a owl:ObjectProperty, @@ -820,21 +896,14 @@ linkml:values_from a owl:ObjectProperty, rdfs:label "values_from" ; rdfs:domain linkml:Definition ; rdfs:range linkml:Uriorcurie ; - skos:definition "the identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot" . - -oslc:modifiedBy a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "modified_by" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - skos:definition "agent that modified the element" ; - skos:exactMatch oslc:modifiedBy . + skos:definition "The identifier of a \"value set\" -- a set of identifiers that form the possible values for the range of a slot. Note: this is different than 'subproperty_of' in that 'subproperty_of' is intended to be a single ontology term while 'values_from' is the identifier of an entire value set. Additionally, this is different than an enumeration in that in an enumeration, the values of the enumeration are listed directly in the model itself. Setting this property on a slot does not guarantee an expansion of the ontological hiearchy into an enumerated list of possible values in every serialization of the model." . dcterms:conformsTo a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "conforms_to" ; rdfs:domain linkml:Element ; rdfs:range linkml:String ; + rdfs:seeAlso "linkml:implements" ; skos:definition "An established standard to which the element conforms." ; skos:exactMatch dcterms:conformsTo . @@ -846,58 +915,58 @@ dcterms:license a owl:ObjectProperty, skos:definition "license for the schema" ; skos:exactMatch dcterms:license . -bibo:status a owl:ObjectProperty, +pav:version a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "status" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Uriorcurie ; - rdfs:seeAlso "https://www.hl7.org/fhir/valueset-publication-status.html", - "https://www.hl7.org/fhir/versions.html#std-process" ; - skos:altLabel "workflow status" ; - skos:definition "status of the element" ; - skos:exactMatch bibo:status ; - linkml:examples "Example(value='bibo:draft', description=None)" . + rdfs:label "version" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:String ; + skos:definition "particular version of schema" ; + skos:exactMatch pav:version, + schema:schemaVersion . -pav:createdBy a owl:ObjectProperty, +qudt:abbreviation a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "created_by" ; - rdfs:domain linkml:Element ; + rdfs:label "abbreviation" ; + rdfs:range linkml:String ; + skos:definition "An abbreviation for a unit is a short ASCII string that is used in place of the full name for the unit in contexts where non-ASCII characters would be problematic, or where using the abbreviation will enhance readability. When a power of a base unit needs to be expressed, such as squares this can be done using abbreviations rather than symbols (source: qudt)" ; + skos:exactMatch qudt:abbreviation . + +qudt:hasQuantityKind a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "has_quantity_kind" ; rdfs:range linkml:Uriorcurie ; - skos:definition "agent that created the element" ; - skos:exactMatch pav:createdBy . + skos:definition "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length" ; + skos:exactMatch qudt:hasQuantityKind ; + skos:note "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" . -pav:createdOn a owl:ObjectProperty, +qudt:iec61360Code a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "created_on" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Datetime ; - skos:definition "time at which the element was created" ; - skos:exactMatch pav:createdOn . + rdfs:label "iec61360code" ; + rdfs:range linkml:String ; + skos:exactMatch qudt:iec61360Code . -pav:lastUpdatedOn a owl:ObjectProperty, +qudt:symbol a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "last_updated_on" ; - rdfs:domain linkml:Element ; - rdfs:range linkml:Datetime ; - skos:definition "time at which the element was last updated" ; - skos:exactMatch pav:lastUpdatedOn . + rdfs:label "symbol" ; + rdfs:range linkml:String ; + skos:definition "name of the unit encoded as a symbol" ; + skos:exactMatch qudt:symbol . -pav:version a owl:ObjectProperty, +qudt:ucumCode a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "version" ; - rdfs:domain linkml:SchemaDefinition ; + rdfs:label "ucum_code" ; + rdfs:domain linkml:UnitOfMeasure ; rdfs:range linkml:String ; - skos:definition "particular version of schema" ; - skos:exactMatch pav:version, - schema1:schemaVersion . + skos:definition "associates a QUDT unit with its UCUM code (case-sensitive)." ; + skos:exactMatch qudt:ucumCode . -schema1:keywords a owl:ObjectProperty, +schema:keywords a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "keywords" ; rdfs:domain linkml:Element ; rdfs:range linkml:String ; skos:definition "Keywords or tags used to describe the element" ; - skos:exactMatch schema1:keywords . + skos:exactMatch schema:keywords . rdf:object a owl:Class, linkml:RelationalRoleEnum ; @@ -907,21 +976,14 @@ rdf:subject a owl:Class, linkml:RelationalRoleEnum ; rdfs:label "SUBJECT" . -rdfs:subClassOf a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "subclass_of" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:Uriorcurie ; - skos:definition "rdfs:subClassOf to be emitted in OWL generation" ; - skos:exactMatch rdfs:subClassOf . - rdfs:subPropertyOf a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "subproperty_of" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:SlotDefinition ; - skos:definition "Ontology property which this slot is a subproperty of" ; - skos:exactMatch rdfs:subPropertyOf . + skos:definition "Ontology property which this slot is a subproperty of. Note: setting this property on a slot does not guarantee an expansion of the ontological hiearchy into an enumerated list of possible values in every serialization of the model." ; + skos:exactMatch rdfs:subPropertyOf ; + linkml:examples "Example(value='RO:HOM0000001', description='this is the RO term for \"in homology relationship with\", and used as a value of subproperty of this means that any ontological child (related to RO:HOM0000001 via an is_a relationship), is a valid value for the slot that declares this with the subproperty_of tag. This differs from the \\'values_from\\' meta model component in that \\'values_from\\' requires the id of a value set (said another way, if an entire ontology had a curie/identifier that was the identifier for the entire ontology, then that identifier would be used in \\'values_from.\\')')" . owl:inverseOf a owl:ObjectProperty, linkml:SlotDefinition ; @@ -953,7 +1015,9 @@ skos:prefLabel a owl:ObjectProperty, rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:String ; skos:definition "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; - skos:exactMatch skos:prefLabel . + skos:exactMatch skos:prefLabel ; + skos:note "an example of alias is used within this metamodel, slot_definitions is aliases as slots", + "not to be confused with aliases, which indicates a set of terms to be used for search purposes." . skosxl:literalForm a owl:ObjectProperty, linkml:SlotDefinition ; @@ -962,107 +1026,189 @@ skosxl:literalForm a owl:ObjectProperty, rdfs:range linkml:String ; skos:altLabel "alias_name", "string_value" ; - skos:definition "The literal lexical form of a structured alias" ; + skos:definition "The literal lexical form of a structured alias; i.e the actual alias value." ; skos:exactMatch skosxl:literalForm . +sh:condition a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "preconditions" ; + rdfs:range linkml:AnonymousClassExpression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; + skos:altLabel "antecedents", + "body", + "if" ; + skos:closeMatch swrl:body ; + skos:definition "an expression that must hold in order for the rule to be applicable to an instance" ; + skos:exactMatch sh:condition . + +sh:deactivated a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "deactivated" ; + rdfs:range linkml:Boolean ; + skos:definition "a deactivated rule is not executed by the rules engine" ; + skos:exactMatch sh:deactivated . + +sh:declare a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "prefixes" ; + rdfs:domain linkml:SchemaDefinition ; + rdfs:range linkml:Prefix ; + skos:definition "A collection of prefix expansions that specify how CURIEs can be expanded to URIs" ; + skos:exactMatch sh:declare . + +sh:group a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "slot_group" ; + rdfs:domain linkml:SlotDefinition ; + rdfs:range linkml:SlotDefinition ; + skos:definition "allows for grouping of related slots into a grouping slot that serves the role of a group" ; + skos:exactMatch sh:group ; + skos:note "slot groups do not change the semantics of a model but are a useful way of visually grouping related slots" . + +sh:namespace a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "prefix_reference" ; + rdfs:domain linkml:Prefix ; + rdfs:range linkml:Uri ; + skos:definition "The namespace to which a prefix expands to." ; + skos:exactMatch sh:namespace . + +sh:prefix a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "prefix_prefix" ; + rdfs:domain linkml:Prefix ; + rdfs:range linkml:Ncname ; + skos:definition "The prefix components of a prefix expansions. This is the part that appears before the colon in a CURIE." ; + skos:exactMatch sh:prefix . + +sh:rule a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "rules" ; + rdfs:domain linkml:ClassDefinition ; + rdfs:range linkml:ClassRule ; + skos:definition "the collection of rules that apply to all members of this class" ; + skos:exactMatch sh:rule . + linkml:AnonymousExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "anonymous_expression" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onProperty sh:order ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:onProperty skos:mappingRelation ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:todos ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty schema:inLanguage ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; owl:allValuesFrom linkml:Annotation ; owl:onProperty linkml:annotations ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onClass linkml:String ; + owl:onProperty dcterms:title ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty skos:definition ], [ a owl:Restriction ; owl:allValuesFrom linkml:SubsetDefinition ; owl:onProperty OIO:inSubset ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty bibo:status ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onProperty skos:note ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:relatedMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:onProperty linkml:deprecated ], linkml:Annotatable, linkml:CommonMetadata, linkml:Expression, - linkml:Extensible . + linkml:Extensible ; + skos:definition "An abstract parent class for any nested expression" ; + skos:note "anonymous expressions are useful for when it is necessary to build a complex expression without introducing a named element for each sub-expression" . linkml:ClassLevelRule a owl:Class, linkml:ClassDefinition ; @@ -1074,115 +1220,135 @@ linkml:ClassRule a owl:Class, rdfs:label "class_rule" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:postconditions ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:note ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty skos:mappingRelation ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:String ; + owl:onProperty skos:definition ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty schema:inLanguage ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty bibo:status ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty sh:deactivated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:elseconditions ], + owl:onProperty sh:condition ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty sh1:condition ], + owl:onProperty linkml:elseconditions ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:open_world ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:exactMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty sh1:deactivated ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:relatedMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty dcterms:title ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:bidirectional ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty linkml:imported_from ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:open_world ], + owl:onClass linkml:AnonymousClassExpression ; + owl:onProperty linkml:postconditions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; @@ -1193,7 +1359,7 @@ linkml:ClassRule a owl:Class, linkml:Extensible ; skos:altLabel "if rule" ; skos:closeMatch swrl:Imp, - sh1:TripleRule ; + sh:TripleRule ; skos:definition "A rule that applies to instances of a class" . a owl:Class, @@ -1236,46 +1402,55 @@ linkml:TypeExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "type_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], - [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:onProperty linkml:implicit_prefix ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:PatternExpression ; owl:onProperty linkml:structured_pattern ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:pattern ], linkml:Expression, - linkml:mixin . + linkml:mixin ; + skos:definition "An abstract class grouping named types and anonymous type expressions" . linkml:children_are_mutually_disjoint a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1301,123 +1476,102 @@ linkml:slot_names_unique a owl:ObjectProperty, linkml:slots a owl:ObjectProperty, linkml:SlotDefinition . +linkml:source_ontology a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "source_ontology" ; + rdfs:range linkml:Uriorcurie ; + skos:altLabel "terminology", + "vocabulary" ; + skos:definition "An ontology or vocabulary or terminology that is used in a query to obtain a set of permissible values" ; + skos: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:transitive_form_of a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "transitive_form_of" ; rdfs:range linkml:SlotDefinition ; skos:definition "If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transitive (3) d holds whenever s holds and there are no intermediates, and s is not reflexive" ; - skos:note "{'Example': 'ancestor_of is the transitive_form_of parent_of'}" . + skos:note "Example: ancestor_of is the transitive_form_of parent_of" . linkml:unique_key_slots a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "unique_key_slots" ; rdfs:domain linkml:UniqueKey ; rdfs:range linkml:SlotDefinition ; - skos:definition "list of slot names that form a key" . + skos:definition "list of slot names that form a key. The tuple formed from the values of all these slots should be unique." . -sh1:condition a owl:ObjectProperty, +dcterms:subject a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "preconditions" ; - rdfs:range linkml:AnonymousClassExpression ; - skos:altLabel "antecedents", - "body", - "if" ; - skos:closeMatch swrl:body ; - skos:definition "an expression that must hold in order for the rule to be applicable to an instance" ; - skos:exactMatch sh1:condition . + rdfs:label "categories" ; + rdfs:range linkml:Uriorcurie ; + skos:definition "Controlled terms used to categorize an element." ; + skos:exactMatch dcterms:subject ; + skos:note "if you wish to use uncontrolled terms or terms that lack identifiers then use the keywords element" . -sh1:deactivated a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "deactivated" ; - rdfs:range linkml:Boolean ; - skos:definition "a deactivated rule is not executed by the rules engine" ; - skos:exactMatch sh1:deactivated . +rdfs:label a owl:ObjectProperty, + linkml:SlotDefinition . + +linkml:Anything a owl:Class, + linkml:ClassDefinition ; + rdfs:label "Anything" ; + skos:exactMatch linkml:Any . -sh1:group a owl:ObjectProperty, +linkml:all_members a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "slot_group" ; - rdfs:domain linkml:SlotDefinition ; - rdfs:range linkml:SlotDefinition ; - skos:definition "allows for grouping of related slots into a grouping slot that serves the role of a group" ; - skos:exactMatch sh1:group . + rdfs:label "all_members" ; + rdfs:range linkml:AnonymousSlotExpression ; + rdfs:subPropertyOf linkml:list_value_specification_constant ; + skos:definition "the value of the slot is multivalued with all members satisfying the condition" . -sh1:rule a owl:ObjectProperty, +linkml:apply_to a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "rules" ; - rdfs:domain linkml:ClassDefinition ; - rdfs:range linkml:ClassRule ; - skos:definition "the collection of rules that apply to all members of this class" ; - skos:exactMatch sh1:rule . + rdfs:label "apply_to" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." . -dcterms:subject a owl:ObjectProperty, +linkml:code_set a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "categories" ; + rdfs:label "code_set" ; + rdfs:domain linkml:EnumExpression ; rdfs:range linkml:Uriorcurie ; - skos:definition "controlled terms used to categorize an element" ; - skos:exactMatch dcterms:subject . + skos:definition "the identifier of an enumeration code set." . -rdfs:label a owl:ObjectProperty, +linkml:code_set_tag a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "name" ; - rdfs:domain linkml:Element ; + rdfs:label "code_set_tag" ; + rdfs:domain linkml:EnumExpression ; rdfs:range linkml:String ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_element_name" ; - skos:altLabel "short name", - "unique name" ; - skos:definition "the unique name of the element within the context of the schema. Name is combined with the default prefix to form the globally unique subject of the target class." ; - skos:exactMatch schema1:name, - rdfs:label . + skos:definition "the version tag of the enumeration code set" ; + skos:note "enum_expression cannot have both a code_set_tag and a code_set_version" . -linkml:ClassExpression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "class_expression" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:exactly_one_of ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:any_of ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], - linkml:mixin ; - skos:definition "A boolean expression that can be used to dynamically determine membership of a class" . +linkml:code_set_version a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "code_set_version" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:String ; + skos:definition "the version identifier of the enumeration code set" ; + skos:note "we assume that version identifiers lexically sort in temporal order. Recommend semver when possible" . -linkml:all_members a owl:ObjectProperty, +linkml:concepts a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "all_members" ; - rdfs:range linkml:SlotDefinition ; - rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition """the value of the multiavlued slot is a list where all elements conform to the specified values. -this defines a dynamic class with named slots according to matching constraints - -E.g to state that all members of a list are between 1 and 10 -``` -all_members: - x: - range: integer - minimum_value: 10 - maximum_value: 10 -```""" . + rdfs:label "concepts" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:Uriorcurie ; + skos:definition "A list of identifiers that are used to construct a set of permissible values" . -linkml:apply_to a owl:ObjectProperty, +linkml:enum_range a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "apply_to" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." . + rdfs:label "enum_range" ; + rdfs:range linkml:EnumExpression ; + skos:definition "An inlined enumeration" . linkml:equals_expression a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "equals_expression" ; rdfs:range linkml:String ; - rdfs:seeAlso "https://github.com/linkml/linkml/issues/75" ; + rdfs:seeAlso "https://linkml.io/linkml/developers/inference.html", + "https://linkml.io/linkml/schemas/advanced.html#equals-expression" ; rdfs:subPropertyOf linkml:list_value_specification_constant ; skos:definition "the value of the slot must equal the value of the evaluated expression" ; skos:note "for example, a 'length' slot may have an equals_expression with value '(end-start)+1'" . @@ -1427,28 +1581,39 @@ linkml:has_member a owl:ObjectProperty, rdfs:label "has_member" ; rdfs:range linkml:AnonymousSlotExpression ; rdfs:subPropertyOf linkml:list_value_specification_constant ; - skos:definition "the values of the slot is multivalued with at least one member satisfying the condition" . + skos:definition "the value of the slot is multivalued with at least one member satisfying the condition" . -linkml:implicit_prefix a owl:ObjectProperty, +linkml:include a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "implicit_prefix" ; - rdfs:domain linkml:SlotExpression ; - rdfs:range linkml:String ; - skos:definition "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" . + rdfs:label "include" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:AnonymousEnumExpression ; + skos:definition "An enum expression that yields a list of permissible values that are to be included, after subtracting the minus set" . + +linkml:inherits a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "inherits" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:EnumDefinition ; + skos:definition "An enum definition that is used as the basis to create a new enum" ; + skos:note "All permissible values for all inherited enums are copied to form the initial seed set" . linkml:inlined a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inlined" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" ; skos:definition "True means that keyed or identified slot appears in an outer structure by value. False means that only the key or identifier for the slot appears within the domain, referencing a structure that appears elsewhere." ; - skos:note "classes without keys or identifiers are necessarily inlined as lists" . + skos:note "classes without keys or identifiers are necessarily inlined as lists", + "only applicable in tree-like serializations, e.g json, yaml" . linkml:inlined_as_list a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "inlined_as_list" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/06mapping/#collection-forms" ; skos:definition "True means that an inlined slot is represented as a list of range instances. False means that an inlined slot is represented as a dictionary, whose key is the slot key or identifier and whose value is the range instance." ; skos:note """A keyed or identified class with one additional slot can be input in a third form, a dictionary whose key is the key or identifier and whose value is the one additional element. This form is still stored according @@ -1456,6 +1621,13 @@ to the inlined_as_list setting.""", """The default loader will accept either list or dictionary form as input. This parameter controls internal representation and output.""" . +linkml:matches a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "matches" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:MatchQuery ; + skos:definition "Specifies a match query that is used to calculate the list of permissible values" . + linkml:maximum_cardinality a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "maximum_cardinality" ; @@ -1470,6 +1642,30 @@ linkml:minimum_cardinality a owl:ObjectProperty, rdfs:subPropertyOf linkml:list_value_specification_constant ; skos:definition "the minimum number of entries for a multivalued slot" . +linkml:minus a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "minus" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:AnonymousEnumExpression ; + skos:definition "An enum expression that yields a list of permissible values that are to be subtracted from the enum" . + +linkml:permissible_values a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "permissible_values" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:PermissibleValue ; + skos:altLabel "coded values" ; + skos:definition "A list of possible values for a slot range" . + +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: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" ; @@ -1488,13 +1684,20 @@ implicitly asserts Y is an instance of C2 """ ; skos:note "range is underspecified, as not all elements can appear as the range of a slot." . +linkml:reachable_from a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "reachable_from" ; + rdfs:domain linkml:EnumExpression ; + rdfs:range linkml:ReachabilityQuery ; + skos:definition "Specifies a query for obtaining a list of permissible values based on graph reachability" . + linkml:recommended a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "recommended" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; rdfs:seeAlso "https://github.com/linkml/linkml/issues/177" ; - skos:definition "true means that the slot should be present in the loaded definition, but this is not required" ; + skos:definition "true means that the slot should be present in instances of the class definition, but this is not required" ; skos:note "If a slot is recommended, and it is not populated, applications must not treat this as an error. Applications may use this to inform the user of missing data", "This is to be used where not all data is expected to conform to having a required field" . @@ -1503,13 +1706,31 @@ linkml:required a owl:ObjectProperty, rdfs:label "required" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "true means that the slot must be present in the loaded definition" . + skos:definition "true means that the slot must be present in instances of the class definition" . linkml:slot_conditions a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "slot_conditions" ; + rdfs:domain linkml:ClassExpression ; rdfs:range linkml:SlotDefinition ; - skos:definition "the redefinition of a slot in the context of the containing class definition." . + skos:definition "expresses constraints on a group of slots for a class expression" . + +linkml:union_of a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "union_of" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Element ; + skos:definition "indicates that the domain element consists exactly of the members of the element in the range." ; + skos:editorialNote "this only applies in the OWL generation" . + +linkml:value_presence a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "value_presence" ; + 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:note "if set to true this has the same effect as required=true. In contrast, required=false allows a value to be present" . rdf:predicate a owl:Class, owl:ObjectProperty, @@ -1519,114 +1740,155 @@ rdf:predicate a owl:Class, "predicate" ; rdfs:domain linkml:StructuredAlias ; rdfs:range linkml:AliasPredicateEnum ; - skos:definition "The relationship between an element and its alias " ; + skos:definition "The relationship between an element and its alias." ; skos:exactMatch rdf:predicate . +linkml:ClassExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "class_expression" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_conditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:exactly_one_of ], + linkml:mixin ; + skos:definition "A boolean expression that can be used to dynamically determine membership of a class" . + linkml:ImportExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "import_expression" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:exactMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], + [ a owl:Restriction ; owl:allValuesFrom linkml:StructuredAlias ; owl:onProperty skosxl:altLabel ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Ncname ; owl:onProperty linkml:import_as ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty skos:note ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onProperty dcterms:source ], [ a owl:Restriction ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:import_from ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:allValuesFrom linkml:SubsetDefinition ; owl:onProperty OIO:inSubset ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:allValuesFrom linkml:Setting ; + owl:onProperty linkml:import_map ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty skos:relatedMatch ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Setting ; - owl:onProperty linkml:import_map ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:onProperty skos:altLabel ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:Annotation ; owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty bibo:status ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty skos:broadMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onProperty sh:order ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty linkml:import_from ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:mappingRelation ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty dcterms:title ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; @@ -1645,215 +1907,111 @@ linkml:LocalName a owl:Class, owl:qualifiedCardinality 1 ] ; skos:definition "an attributed label" . -linkml:PresenceEnum a owl:Class, - linkml:EnumDefinition ; - rdfs:label "presence_enum" ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - . - linkml:SlotExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "slot_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:onClass linkml:Element ; + owl:onProperty linkml:range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:PatternExpression ; owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:required ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:onProperty linkml:all_members ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined ], + owl:onClass linkml:PresenceEnum ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:required ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:all_members ], + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:onClass linkml:AnonymousSlotExpression ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousSlotExpression ; owl:onProperty linkml:all_of ], - linkml:Expression, - linkml:mixin ; - skos:definition "an expression that constrains the range of values a slot can take" . - -linkml:UniqueKey a owl:Class, - linkml:ClassDefinition ; - rdfs:label "unique_key" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:unique_key_name ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], - [ a owl:Class ; - owl:intersectionOf ( [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:unique_key_slots ] [ a owl:Restriction ; - owl:onProperty linkml:unique_key_slots ; - owl:someValuesFrom linkml:SlotDefinition ] ) ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onClass linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:onClass linkml:EnumExpression ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], - linkml:Annotatable, - linkml:CommonMetadata, - linkml:Extensible ; - skos:definition "a collection of slots whose values uniquely identify an instance of a class" . + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_value ], + linkml:Expression, + linkml:mixin ; + skos:definition "an expression that constrains the range of values a slot can take" . linkml:boolean_slot a owl:ObjectProperty, linkml:SlotDefinition ; @@ -1868,7 +2026,7 @@ linkml:mixins a owl:ObjectProperty, rdfs:range linkml:Definition ; rdfs:seeAlso "https://en.wikipedia.org/wiki/Mixin" ; skos:altLabel "traits" ; - skos:definition "List of definitions to be mixed in. Targets may be any definition of the same type" ; + skos:definition "A collection of secondary parent classes or slots from which inheritable metaslots are propagated from." ; skos:note "mixins act in the same way as parents (is_a). They allow a model to have a primary strict hierachy, while keeping the benefits of multiple inheritance" . linkml:range_expression a owl:ObjectProperty, @@ -1883,154 +2041,176 @@ linkml:Prefix a owl:Class, linkml:ClassDefinition ; rdfs:label "prefix" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Uri ; - owl:onProperty linkml:prefix_reference ; + owl:onClass linkml:Ncname ; + owl:onProperty sh:prefix ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty linkml:prefix_prefix ; + owl:onClass linkml:Uri ; + owl:onProperty sh:namespace ; owl:qualifiedCardinality 1 ] ; skos:definition "prefix URI tuple" . -linkml:is_a a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "is_a" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Definition ; - skos:definition "specifies single-inheritance between classes or slots. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" . - -linkml:AliasPredicateEnum a owl:Class, - linkml:EnumDefinition ; - rdfs:label "alias_predicate_enum" ; - owl:unionOf ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; - linkml:permissible_values skos:broaderMatch, - skos:exactMatch, - skos:narrowerMatch, - skos:relatedMatch . - -linkml:PermissibleValue a owl:Class, +linkml:UniqueKey a owl:Class, linkml:ClassDefinition ; - rdfs:label "permissible_value" ; + rdfs:label "unique_key" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], - [ a owl:Restriction ; owl:allValuesFrom linkml:StructuredAlias ; owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty dcterms:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:exactMatch ], + [ a owl:Class ; + owl:intersectionOf ( [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:unique_key_slots ] [ a owl:Restriction ; + owl:onProperty linkml:unique_key_slots ; + owl:someValuesFrom linkml:SlotDefinition ] ) ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:consider_nulls_inequal ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty bibo:status ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:meaning ], + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:relatedMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty skos:definition ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:onClass linkml:String ; + owl:onProperty linkml:unique_key_name ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty skos:editorialNote ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:String ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty linkml:text ; - owl:qualifiedCardinality 1 ], + owl:onProperty skos:note ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PermissibleValue ; - owl:onProperty linkml:is_a ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:mappingRelation ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; - skos:altLabel "PV" ; - skos:definition "a permissible value, accompanied by intended text and an optional mapping to a concept URI" . + skos:definition "a collection of slots whose values uniquely identify an instance of a class" . -linkml:PvFormulaOptions a owl:Class, +linkml:is_a a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "is_a" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Definition ; + skos:definition "A primary parent class or slot from which inheritable metaslots are propagated from. While multiple inheritance is not allowed, mixins can be provided effectively providing the same thing. The semantics are the same when translated to formalisms that allow MI (e.g. RDFS/OWL). When translating to a SI framework (e.g. java classes, python classes) then is a is used. When translating a framework without polymorphism (e.g. json-schema, solr document schema) then is a and mixins are recursively unfolded" . + +linkml:AliasPredicateEnum a owl:Class, linkml:EnumDefinition ; - rdfs:label "pv_formula_options" ; - owl:unionOf ( ) ; - linkml:permissible_values , - , - , - . + rdfs:label "alias_predicate_enum" ; + owl:unionOf ( skos:exactMatch skos:relatedMatch skos:broaderMatch skos:narrowerMatch ) ; + linkml:permissible_values skos:broaderMatch, + skos:exactMatch, + skos:narrowerMatch, + skos:relatedMatch . + +linkml:MatchQuery a owl:Class, + linkml:ClassDefinition ; + rdfs:label "match_query" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:identifier_pattern ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ] ; + skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that matches on properties of the external concepts" . linkml:equals_number a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2053,6 +2233,13 @@ linkml:equals_string_in a owl:ObjectProperty, rdfs:subPropertyOf linkml:list_value_specification_constant ; skos:definition "the slot must have range string and the value of the slot must equal one of the specified values" . +linkml:implicit_prefix a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "implicit_prefix" ; + rdfs:domain linkml:SlotExpression ; + rdfs:range linkml:String ; + skos:definition "Causes the slot value to be interpreted as a uriorcurie after prefixing with this string" . + linkml:maximum_value a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "maximum_value" ; @@ -2081,143 +2268,172 @@ linkml:relational_logical_characteristic a owl:ObjectProperty, rdfs:label "relational_logical_characteristic" ; rdfs:domain linkml:SlotDefinition ; rdfs:range linkml:Boolean ; - skos:definition "A property of a slot that pertains to its logical properties" . + skos:definition "An abstract grouping for metaslots that describe logical properties of a slot" . linkml:structured_pattern a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "structured_pattern" ; rdfs:domain linkml:Definition ; rdfs:range linkml:PatternExpression ; + rdfs:seeAlso "https://linkml.io/linkml/schemas/constraints.html#structured-patterns" ; skos:definition "the string value of the slot must conform to the regular expression in the pattern expression" . linkml:PathExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "path_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:all_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:note ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:reversed ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onProperty dcterms:source ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:allValuesFrom linkml:PathExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:reversed ], + owl:onClass linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:relatedMatch ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], [ a owl:Restriction ; owl:allValuesFrom linkml:PathExpression ; owl:onProperty linkml:none_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty bibo:status ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; owl:allValuesFrom linkml:PathExpression ; owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:traverse ], + owl:onClass linkml:String ; + owl:onProperty skos:definition ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PathExpression ; - owl:onProperty linkml:followed_by ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PathExpression ; + owl:onProperty linkml:followed_by ], [ a owl:Restriction ; owl:allValuesFrom linkml:PathExpression ; - owl:onProperty linkml:any_of ], + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:closeMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:SlotDefinition ; + owl:onProperty linkml:traverse ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:mappingRelation ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty dcterms:title ], linkml:Annotatable, linkml:CommonMetadata, linkml:Expression, linkml:Extensible ; skos:definition "An expression that describes an abstract path from an object to another through a sequence of slot lookups" . +linkml:PresenceEnum a owl:Class, + linkml:EnumDefinition ; + rdfs:label "presence_enum" ; + owl:unionOf ( ) ; + linkml:permissible_values , + , + . + linkml:RelationalRoleEnum a owl:Class, linkml:EnumDefinition ; rdfs:label "relational_role_enum" ; @@ -2232,112 +2448,333 @@ linkml:Setting a owl:Class, linkml:ClassDefinition ; rdfs:label "setting" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty linkml:setting_key ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; owl:onClass linkml:String ; owl:onProperty linkml:setting_value ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:onClass linkml:Ncname ; + owl:onProperty linkml:setting_key ; owl:qualifiedCardinality 1 ] ; skos:definition "assignment of a key to a value" . -linkml:mixin a owl:ObjectProperty, +qudt:unit a owl:ObjectProperty, linkml:SlotDefinition ; - rdfs:label "mixin" ; - rdfs:domain linkml:Definition ; - rdfs:range linkml:Boolean ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/Mixin" ; - skos:altLabel "trait" ; - skos:definition "this slot or class can only be used as a mixin." . + rdfs:label "unit" ; + rdfs:range linkml:UnitOfMeasure ; + skos:definition "an encoding of a unit" ; + skos:exactMatch qudt:unit . -linkml:CommonMetadata a owl:Class, +linkml:AnonymousEnumExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "common_metadata" ; + rdfs:label "anonymous_enum_expression" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PvFormulaOptions ; + owl:onProperty linkml:pv_formula ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:code_set_version ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:ReachabilityQuery ; + owl:onProperty linkml:reachable_from ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:code_set ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:minus ], + [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:onProperty linkml:concepts ], [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:code_set_tag ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:MatchQuery ; + owl:onProperty linkml:matches ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:include ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:inherits ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:permissible_values ], + linkml:EnumExpression ; + skos:definition "An enum_expression that is not named" . + +linkml:PermissibleValue a owl:Class, + linkml:ClassDefinition ; + rdfs:label "permissible_value" ; + rdfs:subClassOf [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onProperty skos:editorialNote ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], + [ a owl:Restriction ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:text ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:String ; + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:onProperty schema:inLanguage ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PermissibleValue ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:imported_from ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:exactMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:mappingRelation ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:meaning ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty skos:note ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:relatedMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty bibo:status ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty dcterms:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty skos:definition ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], + linkml:Annotatable, + linkml:CommonMetadata, + linkml:Extensible ; + skos:altLabel "PV" ; + skos:closeMatch skos:Concept ; + skos:definition "a permissible value, accompanied by intended text and an optional mapping to a concept URI" . + +linkml:PvFormulaOptions a owl:Class, + linkml:EnumDefinition ; + rdfs:label "pv_formula_options" ; + owl:unionOf ( ) ; + linkml:permissible_values , + , + , + . + +linkml:mixin a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "mixin" ; + rdfs:domain linkml:Definition ; + rdfs:range linkml:Boolean ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/Mixin" ; + skos:altLabel "trait" ; + skos:definition "Indicates the class or slot is intended to be inherited from without being an is_a parent. mixins should not be inherited from using is_a, except by other mixins." . + +linkml:CommonMetadata a owl:Class, + linkml:ClassDefinition ; + rdfs:label "common_metadata" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:deprecated ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty dcterms:title ], [ a owl:Restriction ; owl:allValuesFrom linkml:AltDescription ; owl:onProperty linkml:alt_descriptions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty rdfs:seeAlso ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; owl:allValuesFrom linkml:Example ; owl:onProperty linkml:examples ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:relatedMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty schema:inLanguage ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:mappingRelation ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:onProperty skos:altLabel ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:note ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty bibo:status ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty skos:definition ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], linkml:mixin ; skos:definition "Generic metadata shared across definitions" . @@ -2345,197 +2782,222 @@ linkml:PatternExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "pattern_expression" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:syntax ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:mappingRelation ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty rdfs:seeAlso ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty skos:altLabel ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty skos:note ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:partial_match ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], + owl:onProperty skos:relatedMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:syntax ], + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty skos:definition ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:interpolated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:closeMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:partial_match ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_possible_replacement ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty bibo:status ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:onProperty sh:order ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:onProperty dcterms:title ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; skos:definition "a regular expression pattern used to evaluate conformance of a string" . -linkml:TypeDefinition a owl:Class, +linkml:ReachabilityQuery a owl:Class, linkml:ClassDefinition ; - rdfs:label "type_definition" ; + rdfs:label "reachability_query" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:none_of ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:repr ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:source_ontology ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:is_direct ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:relationship_types ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:include_self ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:uri ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:traverse_up ], [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:source_nodes ] ; + skos:definition "A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types" . + +linkml:UnitOfMeasure a owl:Class, + linkml:ClassDefinition ; + rdfs:label "UnitOfMeasure" ; + rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:base ], + owl:onProperty qudt:iec61360Code ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:TypeDefinition ; - owl:onProperty linkml:typeof ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:onClass linkml:String ; + owl:onProperty qudt:ucumCode ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty qudt:hasQuantityKind ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:onClass linkml:String ; + owl:onProperty rdfs:label ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:onClass linkml:String ; + owl:onProperty qudt:symbol ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:derivation ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], - linkml:Element, - linkml:TypeExpression ; - skos:definition "A data type definition." . + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty qudt:abbreviation ] ; + skos:definition "A unit of measure, or unit, is a particular quantity value that has been chosen as a scale for measuring other quantities the same kind (more generally of equivalent dimension)." ; + skos:exactMatch qudt:Unit . linkml:all_of a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "all_of" ; rdfs:range linkml:Expression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; rdfs:subPropertyOf linkml:boolean_slot ; skos:definition "holds if all of the expressions hold" ; - skos:exactMatch sh1:and . + skos:exactMatch sh:and . linkml:alt_descriptions a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "alt_descriptions" ; rdfs:domain linkml:Element ; rdfs:range linkml:AltDescription ; - skos:altLabel "alternate definitions" . + skos:altLabel "alternate definitions" ; + skos:definition "A sourced alternative description for an element" . linkml:any_of a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "any_of" ; rdfs:range linkml:Expression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; rdfs:subPropertyOf linkml:boolean_slot ; skos:definition "holds if at least one of the expressions hold" ; - skos:exactMatch sh1:or . + skos:exactMatch sh:or . linkml:deprecated a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2543,7 +3005,8 @@ linkml:deprecated a owl:ObjectProperty, rdfs:domain linkml:Element ; rdfs:range linkml:String ; skos:closeMatch owl:deprecated ; - skos:definition "Description of why and when this element will no longer be used" . + skos:definition "Description of why and when this element will no longer be used" ; + skos:note "note that linkml does not use a boolean to indicate deprecation status - the presence of a string value in this field is sufficient to indicate deprecation." . linkml:deprecated_element_has_exact_replacement a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2563,16 +3026,17 @@ linkml:exactly_one_of a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "exactly_one_of" ; rdfs:range linkml:Expression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; rdfs:subPropertyOf linkml:boolean_slot ; skos:definition "holds if only one of the expressions hold" ; - skos:exactMatch sh1:xone . + skos:exactMatch sh:xone . linkml:examples a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "examples" ; rdfs:domain linkml:Element ; rdfs:range linkml:Example ; - skos:closeMatch vann1:example ; + skos:closeMatch vann:example ; skos:definition "example usages of an element" . linkml:imported_from a owl:ObjectProperty, @@ -2592,16 +3056,25 @@ linkml:none_of a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "none_of" ; rdfs:range linkml:Expression ; + rdfs:seeAlso "https://w3id.org/linkml/docs/specification/05validation/#rules" ; rdfs:subPropertyOf linkml:boolean_slot ; skos:definition "holds if none of the expressions hold" ; - skos:exactMatch sh1:not . + skos:exactMatch sh:not . linkml:todos a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "todos" ; rdfs:domain linkml:Element ; rdfs:range linkml:String ; - skos:definition "Outstanding issue that needs resolution" . + skos:definition "Outstanding issues that needs resolution" . + +oslc:modifiedBy a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "modified_by" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "agent that modified the element" ; + skos:exactMatch oslc:modifiedBy . dcterms:source a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2610,7 +3083,7 @@ dcterms:source a owl:ObjectProperty, rdfs:range linkml:Uriorcurie ; skos:altLabel "derived from", "origin" ; - skos:closeMatch schema1:isBasedOn, + skos:closeMatch schema:isBasedOn, prov:wasDerivedFrom ; skos:definition "A related resource from which the element is derived." ; skos:exactMatch dcterms:source ; @@ -2622,30 +3095,69 @@ dcterms:title a owl:ObjectProperty, rdfs:domain linkml:Element ; rdfs:range linkml:String ; skos:altLabel "long name" ; - skos:definition "the official title of the element" ; + skos:definition "A concise human-readable display label for the element. The title should mirror the name, and should use ordinary textual punctuation." ; skos:exactMatch dcterms:title . -schema1:inLanguage a owl:ObjectProperty, +bibo:status a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "status" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + rdfs:seeAlso "https://www.hl7.org/fhir/valueset-publication-status.html", + "https://www.hl7.org/fhir/versions.html#std-process" ; + skos:altLabel "workflow status" ; + skos:definition "status of the element" ; + skos:exactMatch bibo:status ; + linkml:examples "Example(value='bibo:draft', description=None)" . + +pav:createdBy a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "created_by" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Uriorcurie ; + skos:definition "agent that created the element" ; + skos:exactMatch pav:createdBy . + +pav:createdOn a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "created_on" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Datetime ; + skos:definition "time at which the element was created" ; + skos:exactMatch pav:createdOn . + +pav:lastUpdatedOn a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "last_updated_on" ; + rdfs:domain linkml:Element ; + rdfs:range linkml:Datetime ; + skos:definition "time at which the element was last updated" ; + skos:exactMatch pav:lastUpdatedOn . + +schema:inLanguage a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "in_language" ; + dcterms:conformsTo "https://www.rfc-editor.org/rfc/bcp/bcp47.txt" ; rdfs:range linkml:String ; - skos:editorialNote "Use a string from IETF BCP 47" ; - skos:exactMatch schema1:inLanguage . + skos:definition "the primary language used in the sources" ; + skos:exactMatch schema:inLanguage ; + skos:note "Recommended to use a string from IETF BCP 47" . OIO:inSubset a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "in_subset" ; rdfs:domain linkml:Element ; rdfs:range linkml:SubsetDefinition ; - skos:definition "used to indicate membership of a term in a defined subset of terms used for a particular domain or application (e.g. the translator_minimal subset holding the minimal set of predicates used in a translator knowledge graph)" ; - skos:exactMatch OIO:inSubset . + skos:definition "used to indicate membership of a term in a defined subset of terms used for a particular domain or application." ; + skos:exactMatch OIO:inSubset ; + skos:note "an example of use in the translator_minimal subset in the biolink model, holding the minimal set of predicates used in a translator knowledge graph" . rdfs:seeAlso a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "see_also" ; rdfs:domain linkml:Element ; rdfs:range linkml:Uriorcurie ; - skos:definition "a reference" ; + skos:definition "A list of related entities or URLs that may be of relevance" ; skos:exactMatch rdfs:seeAlso . skos:broadMatch a owl:ObjectProperty, @@ -2670,9 +3182,9 @@ skos:definition a owl:ObjectProperty, rdfs:domain linkml:Element ; rdfs:range linkml:String ; skos:altLabel "definition" ; - skos:definition "a description of the element's purpose and use" ; + skos:definition "a textual description of the element's purpose and use" ; skos:exactMatch dcterms:description, - schema1:description, + schema:description, skos:definition . skos:editorialNote a owl:ObjectProperty, @@ -2680,7 +3192,7 @@ skos:editorialNote a owl:ObjectProperty, rdfs:label "notes" ; rdfs:domain linkml:Element ; rdfs:range linkml:String ; - skos:definition "editorial notes about an element intended for internal consumption" ; + skos:definition "editorial notes about an element intended primarily for internal consumption" ; skos:exactMatch skos:editorialNote . skos:inScheme a owl:ObjectProperty, @@ -2705,7 +3217,7 @@ skos:note a owl:ObjectProperty, rdfs:label "comments" ; rdfs:domain linkml:Element ; rdfs:range linkml:String ; - skos:definition "notes and comments about an element intended for external consumption" ; + skos:definition "notes and comments about an element intended primarily for external consumption" ; skos:exactMatch rdfs:comment, skos:note . @@ -2713,43 +3225,163 @@ skosxl:altLabel a owl:ObjectProperty, linkml:SlotDefinition ; rdfs:label "structured_aliases" ; rdfs:range linkml:StructuredAlias ; - skos:definition "A list of structured_alias objects." ; + rdfs:seeAlso "linkml:aliases" ; + skos:definition "A list of structured_alias objects, used to provide aliases in conjunction with additional metadata." ; skos:exactMatch skosxl:altLabel . +sh:order a owl:ObjectProperty, + linkml:SlotDefinition ; + rdfs:label "rank" ; + rdfs:range linkml:Integer ; + skos:altLabel "display order", + "order", + "precedence" ; + skos:definition "the relative order in which the element occurs, lower values are given precedence" ; + skos:exactMatch qb:order, + qudt:order, + sh:order ; + skos:note "the rank of an element does not affect the semantics" . + linkml:EnumDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "enum_definition" ; rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:enum_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:permissible_values ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:concepts ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:include ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PvFormulaOptions ; + owl:onProperty linkml:pv_formula ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:minus ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:inherits ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:code_set_version ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:MatchQuery ; + owl:onProperty linkml:matches ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:code_set_tag ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:ReachabilityQuery ; + owl:onProperty linkml:reachable_from ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:code_set ], + linkml:Definition, + linkml:EnumExpression ; + skos:altLabel "Terminology Value Set", + "answer list", + "concept set", + "enum", + "term set", + "value set" ; + skos:closeMatch skos:ConceptScheme ; + skos:definition "an element whose instances must be drawn from a specified set of permissible values" ; + skos:exactMatch NCIT:C113497, + qb:HierarchicalCodeList . + +linkml:Extensible a owl:Class, + linkml:ClassDefinition ; + rdfs:label "extensible" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], + linkml:mixin ; + skos:definition "mixin for classes that support extension" . + +linkml:TypeDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "type_definition" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:uri ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:code_set_tag ], + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PvFormulaOptions ; - owl:onProperty linkml:pv_formula ], + owl:onClass linkml:String ; + owl:onProperty linkml:repr ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:TypeDefinition ; + owl:onProperty linkml:typeof ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:TypeDefinition ; + owl:onProperty linkml:union_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:code_set_version ], + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:allValuesFrom linkml:PermissibleValue ; - owl:onProperty linkml:permissible_values ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:code_set ], - linkml:Element ; - skos:closeMatch qb:HierarchicalCodeList ; - skos:definition "List of values that constrain the range of a slot" . - -linkml:Extensible a owl:Class, - linkml:ClassDefinition ; - rdfs:label "extensible" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], - linkml:mixin ; - skos:definition "mixin for classes that support extension" . + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_value ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:base ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], + linkml:Element, + linkml:TypeExpression ; + skos:definition "an element that whose instances are atomic scalar values that can be mapped to primitive types" . linkml:annotations a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2759,17 +3391,6 @@ linkml:annotations a owl:ObjectProperty, rdfs:subPropertyOf linkml:extensions ; skos:definition "a collection of tag/text tuples with the semantics of OWL Annotation" . -sh1:order a owl:ObjectProperty, - linkml:SlotDefinition ; - rdfs:label "rank" ; - rdfs:range linkml:Integer ; - skos:altLabel "display order", - "order", - "precedence" ; - skos:definition "the relative order in which the element occurs, lower values are given precedence" ; - skos:exactMatch sh1:order ; - skos:note "the rank of an element does not affect the semantics" . - skos:altLabel a owl:ObjectProperty, linkml:SlotDefinition . @@ -2784,6 +3405,7 @@ linkml:AltDescription a owl:Class, owl:onClass linkml:String ; owl:onProperty linkml:description ; owl:qualifiedCardinality 1 ] ; + skos:altLabel "structured description" ; skos:definition "an attributed description" . linkml:Annotatable a owl:Class, @@ -2810,50 +3432,53 @@ linkml:AnonymousTypeExpression a owl:Class, rdfs:label "anonymous_type_expression" ; rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:onClass linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousTypeExpression ; + owl:onProperty linkml:exactly_one_of ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:equals_string ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:all_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:any_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousTypeExpression ; - owl:onProperty linkml:exactly_one_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], - linkml:TypeExpression . - -linkml:Expression a owl:Class, - linkml:ClassDefinition ; - rdfs:label "expression" ; - rdfs:subClassOf linkml:mixin ; - skos:definition "general mixin for any class that can represent some form of expression" . + owl:onProperty linkml:any_of ], + linkml:TypeExpression ; + skos:definition "A type expression that is not a top-level named type definition. Used for nesting." . linkml:extensions a owl:ObjectProperty, linkml:SlotDefinition ; @@ -2862,17 +3487,6 @@ linkml:extensions a owl:ObjectProperty, rdfs:range linkml:Extension ; skos:definition "a tag/text tuple attached to an arbitrary element" . -skos:exactMatch a owl:Class, - owl:ObjectProperty, - linkml:AliasPredicateEnum, - linkml:SlotDefinition ; - rdfs:label "EXACT_SYNONYM", - "exact mappings" ; - rdfs:range linkml:Uriorcurie ; - rdfs:subPropertyOf skos:mappingRelation ; - skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ; - skos:exactMatch skos:exactMatch . - skos:relatedMatch a owl:Class, owl:ObjectProperty, linkml:AliasPredicateEnum, @@ -2884,124 +3498,137 @@ skos:relatedMatch a owl:Class, skos:definition "A list of terms from different schemas or terminology systems that have related meaning." ; skos:exactMatch skos:relatedMatch . -linkml:Example a owl:Class, +linkml:Expression a owl:Class, linkml:ClassDefinition ; - rdfs:label "example" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:description ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:example ] ; - skos:definition "usage example and description" . + rdfs:label "expression" ; + rdfs:subClassOf linkml:mixin ; + skos:definition "general mixin for any class that can represent some form of expression" . linkml:StructuredAlias a owl:Class, linkml:ClassDefinition ; rdfs:label "structured_alias" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:exactMatch ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], - [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty dcterms:title ], + owl:onProperty linkml:deprecated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; owl:onProperty skos:note ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty rdfs:seeAlso ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:deprecated ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty dcterms:subject ], [ a owl:Restriction ; owl:onClass linkml:String ; owl:onProperty skosxl:literalForm ; owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty skos:broadMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:onProperty skos:altLabel ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:relatedMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AliasPredicateEnum ; - owl:onProperty rdf:predicate ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:exactMatch ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onProperty bibo:status ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], + owl:onClass linkml:String ; + owl:onProperty skos:definition ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:editorialNote ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], [ a owl:Restriction ; owl:allValuesFrom linkml:Example ; owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:definition ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty dcterms:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty skos:mappingRelation ], [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:AliasPredicateEnum ; + owl:onProperty rdf:predicate ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:narrowMatch ], linkml:Annotatable, linkml:CommonMetadata, linkml:Expression, @@ -3013,7 +3640,35 @@ linkml:SubsetDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "subset_definition" ; rdfs:subClassOf linkml:Element ; - skos:definition "the name and description of a subset" . + skos:definition "an element that can be used to group other metamodel elements" . + +skos:exactMatch a owl:Class, + owl:ObjectProperty, + linkml:AliasPredicateEnum, + linkml:SlotDefinition ; + rdfs:label "EXACT_SYNONYM", + "exact mappings" ; + rdfs:range linkml:Uriorcurie ; + rdfs:subPropertyOf skos:mappingRelation ; + skos:definition "A list of terms from different schemas or terminology systems that have identical meaning." ; + skos:exactMatch skos:exactMatch . + +linkml:Example a owl:Class, + linkml:ClassDefinition ; + rdfs:label "example" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty skos:example ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:description ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Anything ; + owl:onProperty linkml:object ] ; + skos:definition "usage example and description" . linkml:Extension a owl:Class, linkml:ClassDefinition ; @@ -3022,13 +3677,13 @@ linkml:Extension a owl:Class, owl:onClass linkml:String ; owl:onProperty linkml:value ; owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:onClass linkml:Uriorcurie ; owl:onProperty linkml:tag ; - owl:qualifiedCardinality 1 ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ] ; + owl:qualifiedCardinality 1 ] ; skos:definition "a tag/value pair used to add non-model information to an entry" . skos:mappingRelation a owl:ObjectProperty, @@ -3042,159 +3697,164 @@ skos:mappingRelation 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:exactMatch skos:mappingRelation . -linkml:AnonymousSlotExpression a owl:Class, +linkml:EnumExpression a owl:Class, linkml:ClassDefinition ; - rdfs:label "anonymous_slot_expression" ; + rdfs:label "enum_expression" ; rdfs:subClassOf [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:concepts ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:include ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:inherits ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousEnumExpression ; + owl:onProperty linkml:minus ], + [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:onClass linkml:MatchQuery ; + owl:onProperty linkml:matches ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:PvFormulaOptions ; + owl:onProperty linkml:pv_formula ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:onProperty linkml:code_set_version ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:code_set ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:ReachabilityQuery ; + owl:onProperty linkml:reachable_from ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:all_members ], + owl:allValuesFrom linkml:PermissibleValue ; + owl:onProperty linkml:permissible_values ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], - [ a owl:Restriction ; + owl:onClass linkml:String ; + owl:onProperty linkml:code_set_tag ], + linkml:Expression ; + skos:definition "An expression that constrains the range of a slot" . + +linkml:AnonymousSlotExpression a owl:Class, + linkml:ClassDefinition ; + rdfs:label "anonymous_slot_expression" ; + rdfs:subClassOf [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:onClass linkml:PresenceEnum ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousClassExpression ; - owl:onProperty linkml:range_expression ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:recommended ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], + owl:onClass linkml:AnonymousClassExpression ; + owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_cardinality ], + owl:onClass linkml:EnumExpression ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:onClass linkml:AnonymousSlotExpression ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:onClass linkml:Element ; + owl:onProperty linkml:range ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:onClass linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_members ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:required ], - linkml:AnonymousExpression, - linkml:SlotExpression . - -linkml:SchemaDefinition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "schema_definition" ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_dictionary" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:Setting ; - owl:onProperty linkml:settings ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty dcterms:subject ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:classes ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:default_curi_maps ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:default_prefix ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:source_file ], + owl:onClass linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty pav:version ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slots ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty linkml:subsets ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:EnumDefinition ; - owl:onProperty linkml:enums ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty schema1:keywords ], - [ a owl:Restriction ; - owl:onClass linkml:Uri ; - owl:onProperty linkml:id ; - owl:qualifiedCardinality 1 ], + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:emit_prefixes ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Prefix ; - owl:onProperty linkml:prefixes ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty dcterms:license ], + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:imports ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty linkml:source_file_size ], + owl:onProperty linkml:minimum_value ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], + linkml:AnonymousExpression, + linkml:SlotExpression . + +linkml:SchemaDefinition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "schema_definition" ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_dictionary" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty linkml:source_file_date ], [ a owl:Restriction ; owl:allValuesFrom linkml:TypeDefinition ; owl:onProperty linkml:types ], @@ -3202,306 +3862,369 @@ linkml:SchemaDefinition a owl:Class, owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Datetime ; owl:onProperty linkml:generation_date ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:TypeDefinition ; owl:onProperty linkml:default_range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:slot_names_unique ], + owl:onClass linkml:String ; + owl:onProperty linkml:metamodel_version ], [ a owl:Restriction ; - owl:onClass linkml:Ncname ; - owl:onProperty rdfs:label ; - owl:qualifiedCardinality 1 ], + owl:allValuesFrom linkml:String ; + owl:onProperty schema:keywords ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty linkml:source_file_date ], - linkml:Element ; - skos:altLabel "data dictionary" ; - skos:definition "a collection of subset, type, slot and class definitions" . - -linkml:Definition a owl:Class, - linkml:ClassDefinition ; - rdfs:label "definition" ; - rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_element_definition" ; - rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty oslc:modifiedBy ], + owl:onClass linkml:String ; + owl:onProperty dcterms:license ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:createdOn ], + owl:allValuesFrom linkml:EnumDefinition ; + owl:onProperty linkml:enums ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty linkml:subsets ], + [ a owl:Restriction ; + owl:onClass linkml:Uri ; + owl:onProperty linkml:id ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; - owl:onProperty linkml:is_a ], + owl:onClass linkml:String ; + owl:onProperty pav:version ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; - owl:onProperty linkml:mixins ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:default_curi_maps ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:abstract ], + owl:allValuesFrom linkml:Setting ; + owl:onProperty linkml:settings ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty bibo:status ], + owl:onClass linkml:String ; + owl:onProperty linkml:source_file ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:string_serialization ], + owl:onProperty linkml:default_prefix ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Prefix ; + owl:onProperty sh:declare ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:emit_prefixes ], + [ a owl:Restriction ; + owl:onClass linkml:Ncname ; + owl:onProperty rdfs:label ; + owl:qualifiedCardinality 1 ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:classes ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Datetime ; - owl:onProperty pav:lastUpdatedOn ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:source_file_size ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty pav:createdBy ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty linkml:values_from ], + owl:onProperty dcterms:subject ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Definition ; - owl:onProperty linkml:apply_to ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slots ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:mixin ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:imports ], linkml:Element ; - skos:definition "base class for definitions" . + skos:altLabel "data dictionary", + "data model", + "information model", + "logical model", + "model", + "schema" ; + skos:closeMatch qb:ComponentSet, + owl:Ontology ; + skos:definition "A collection of definitions that make up a schema or a data model." . linkml:AnonymousClassExpression a owl:Class, linkml:ClassDefinition ; rdfs:label "anonymous_class_expression" ; rdfs:subClassOf [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; - owl:onProperty linkml:is_a ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], - [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; owl:onProperty linkml:exactly_one_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; owl:onProperty linkml:any_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_conditions ], [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], + owl:onProperty linkml:all_of ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Definition ; + owl:onProperty linkml:is_a ], linkml:AnonymousExpression, linkml:ClassExpression . +linkml:Definition a owl:Class, + linkml:ClassDefinition ; + rdfs:label "definition" ; + rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_element_definition" ; + rdfs:subClassOf [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:mixin ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:abstract ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:apply_to ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:string_serialization ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Definition ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty linkml:values_from ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Definition ; + owl:onProperty linkml:mixins ], + linkml:Element ; + skos:definition "abstract base class for core metaclasses" . + linkml:Element a owl:Class, linkml:ClassDefinition ; rdfs:label "element" ; rdfs:seeAlso "https://en.wikipedia.org/wiki/Data_element" ; rdfs:subClassOf [ a owl:Restriction ; - owl:onClass linkml:String ; - owl:onProperty rdfs:label ; - owl:qualifiedCardinality 1 ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Datetime ; + owl:onProperty pav:createdOn ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:closeMatch ], + owl:onProperty skos:mappingRelation ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty rdfs:seeAlso ], + owl:onProperty linkml:implements ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:broadMatch ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty skos:definition ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Annotation ; + owl:onProperty linkml:annotations ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:definition_uri ], + owl:onProperty bibo:status ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty linkml:todos ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:StructuredAlias ; - owl:onProperty skosxl:altLabel ], + owl:onProperty skos:editorialNote ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty skos:definition ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:Extension ; - owl:onProperty linkml:extensions ], + owl:onProperty linkml:imported_from ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:broadMatch ], + owl:onProperty skos:closeMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:narrowMatch ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:deprecated_element_has_exact_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:LocalName ; - owl:onProperty linkml:local_names ], + owl:allValuesFrom linkml:StructuredAlias ; + owl:onProperty skosxl:altLabel ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty sh1:order ], + owl:allValuesFrom linkml:String ; + owl:onProperty skos:note ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty schema1:inLanguage ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:todos ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AltDescription ; - owl:onProperty linkml:alt_descriptions ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty dcterms:source ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:relatedMatch ], + owl:onProperty skos:narrowMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:altLabel ], + owl:onClass linkml:String ; + owl:onProperty rdfs:label ; + owl:qualifiedCardinality 1 ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uri ; - owl:onProperty skos:inScheme ], + owl:onClass linkml:Integer ; + owl:onProperty sh:order ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty skos:editorialNote ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty oslc:modifiedBy ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty linkml:deprecated ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Annotation ; - owl:onProperty linkml:annotations ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uri ; + owl:onProperty skos:inScheme ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_exact_replacement ], + owl:onProperty linkml:deprecated_element_has_possible_replacement ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Example ; - owl:onProperty linkml:examples ], + owl:allValuesFrom linkml:AltDescription ; + owl:onProperty linkml:alt_descriptions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Extension ; + owl:onProperty linkml:extensions ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:imported_from ], + owl:onProperty schema:inLanguage ], [ a owl:Restriction ; owl:allValuesFrom linkml:Uriorcurie ; owl:onProperty skos:exactMatch ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Uriorcurie ; - owl:onProperty skos:mappingRelation ], + owl:allValuesFrom linkml:Ncname ; + owl:onProperty linkml:id_prefixes ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Example ; + owl:onProperty linkml:examples ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; owl:onProperty dcterms:title ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SubsetDefinition ; - owl:onProperty OIO:inSubset ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty dcterms:conformsTo ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:deprecated_element_has_possible_replacement ], + owl:onClass linkml:Datetime ; + owl:onProperty pav:lastUpdatedOn ], [ a owl:Restriction ; - owl:allValuesFrom linkml:Ncname ; - owl:onProperty linkml:id_prefixes ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Uriorcurie ; + owl:onProperty pav:createdBy ], [ a owl:Restriction ; owl:allValuesFrom linkml:String ; - owl:onProperty skos:note ], + owl:onProperty skos:altLabel ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty dcterms:conformsTo ], + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty skos:relatedMatch ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:LocalName ; + owl:onProperty linkml:local_names ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SubsetDefinition ; + owl:onProperty OIO:inSubset ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty dcterms:source ], + owl:onProperty linkml:definition_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:Uriorcurie ; + owl:onProperty rdfs:seeAlso ], linkml:Annotatable, linkml:CommonMetadata, linkml:Extensible ; skos:altLabel "data element", "object" ; - skos:definition "a named element in the model" . + skos:definition "A named element in the model" . linkml:ClassDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "class_definition" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:classification_rules ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:any_of ], - [ a owl:Restriction ; owl:allValuesFrom linkml:AnonymousClassExpression ; owl:onProperty linkml:exactly_one_of ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:class_uri ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:UniqueKey ; - owl:onProperty linkml:unique_keys ], - [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:slot_names_unique ], [ a owl:Restriction ; owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:union_of ], + owl:onProperty linkml:mixins ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; owl:onProperty linkml:slots ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:UniqueKey ; + owl:onProperty linkml:unique_keys ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:represents_relationship ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:subclass_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_usage ], + owl:onProperty linkml:slot_conditions ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:classification_rules ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:tree_root ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ClassDefinition ; - owl:onProperty linkml:is_a ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:slot_conditions ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:apply_to ], + owl:onProperty linkml:union_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassRule ; - owl:onProperty sh1:rule ], + owl:allValuesFrom linkml:AnonymousClassExpression ; + owl:onProperty linkml:none_of ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:slot_usage ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; owl:onProperty linkml:defining_slots ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:none_of ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:onProperty linkml:represents_relationship ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassRule ; + owl:onProperty sh:rule ], [ a owl:Restriction ; owl:allValuesFrom linkml:SlotDefinition ; owl:onProperty linkml:attributes ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousClassExpression ; - owl:onProperty linkml:all_of ], + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Uriorcurie ; - owl:onProperty rdfs:subClassOf ], + owl:onProperty linkml:class_uri ], [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:mixins ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:ClassDefinition ; + owl:onProperty linkml:is_a ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:slot_names_unique ], linkml:ClassExpression, linkml:Definition ; skos:altLabel "message", @@ -3510,225 +4233,227 @@ linkml:ClassDefinition a owl:Class, "table", "template" ; skos:closeMatch owl:Class ; - skos:definition "the definition of a class or interface" . + skos:definition "an element whose instances are complex objects that may have slot-value assignments" . linkml:SlotDefinition a owl:Class, linkml:ClassDefinition ; rdfs:label "slot_definition" ; rdfs:subClassOf [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:none_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:ClassDefinition ; + owl:onProperty linkml:domain ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:role ], + owl:onProperty linkml:pattern ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Uriorcurie ; - owl:onProperty linkml:slot_uri ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:mixins ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:all_members ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inherited ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_cardinality ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:recommended ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty linkml:equals_number ], + owl:onProperty linkml:maximum_cardinality ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty owl:inverseOf ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:required ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty sh1:group ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:is_grouping_slot ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:altLabel ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inlined_as_list ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:ClassDefinition ; - owl:onProperty linkml:domain ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:equals_number ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:reflexive_transitive_form_of ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:symmetric ], [ a owl:Restriction ; - owl:allValuesFrom linkml:String ; - owl:onProperty linkml:equals_string_in ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:is_a ], + owl:onClass linkml:PathExpression ; + owl:onProperty linkml:path_rule ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:mixins ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:disjoint_with ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:transitive ], + owl:onProperty linkml:children_are_mutually_disjoint ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:shared ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:minimum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:implicit_prefix ], + owl:onClass linkml:RelationalRoleEnum ; + owl:onProperty linkml:relational_role ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:SlotDefinition ; - owl:onProperty linkml:transitive_form_of ], - [ a owl:Restriction ; - owl:allValuesFrom linkml:ClassDefinition ; - owl:onProperty linkml:domain_of ], + owl:onProperty owl:inverseOf ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:children_are_mutually_disjoint ], + owl:onClass linkml:String ; + owl:onProperty linkml:usage_slot_name ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_grouping_slot ], + owl:onClass linkml:String ; + owl:onProperty linkml:ifabsent ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:RelationalRoleEnum ; - owl:onProperty linkml:relational_role ], + owl:onClass linkml:PresenceEnum ; + owl:onProperty linkml:value_presence ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_cardinality ], + owl:onProperty linkml:minimum_cardinality ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:exactly_one_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:equals_expression ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:list_elements_ordered ], + owl:onProperty linkml:is_usage_slot ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; owl:onProperty linkml:designates_type ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:irreflexive ], + owl:onClass linkml:AnonymousSlotExpression ; + owl:onProperty linkml:has_member ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inherited ], + owl:onClass linkml:String ; + owl:onProperty linkml:implicit_prefix ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:maximum_value ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:inlined ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Definition ; - owl:onProperty linkml:owner ], + owl:onClass linkml:SlotDefinition ; + owl:onProperty linkml:reflexive_transitive_form_of ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:disjoint_with ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:reflexive ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:ifabsent ], + owl:onProperty linkml:singular_name ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PatternExpression ; - owl:onProperty linkml:structured_pattern ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:any_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty skos:prefLabel ], + owl:onClass linkml:SlotDefinition ; + owl:onProperty linkml:is_a ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:pattern ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:locally_reflexive ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:any_of ], + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:Boolean ; + owl:onProperty linkml:shared ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Integer ; - owl:onProperty linkml:minimum_value ], + owl:onClass linkml:AnonymousSlotExpression ; + owl:onProperty linkml:all_members ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:key ], + owl:onProperty linkml:multivalued ], [ a owl:Restriction ; - owl:allValuesFrom linkml:AnonymousSlotExpression ; - owl:onProperty linkml:all_of ], + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:union_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:asymmetric ], + owl:onProperty linkml:key ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:String ; - owl:onProperty linkml:equals_expression ], + owl:onProperty linkml:role ], [ a owl:Restriction ; - owl:allValuesFrom linkml:SlotDefinition ; - owl:onProperty linkml:apply_to ], + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:none_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:recommended ], + owl:onClass linkml:String ; + owl:onProperty linkml:equals_string ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:AnonymousClassExpression ; owl:onProperty linkml:range_expression ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:locally_reflexive ], + owl:onClass linkml:Integer ; + owl:onProperty linkml:maximum_value ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:SlotDefinition ; - owl:onProperty rdfs:subPropertyOf ], + owl:onProperty linkml:transitive_form_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:usage_slot_name ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:asymmetric ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:ClassDefinition ; + owl:onProperty linkml:domain_of ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:multivalued ], + owl:onProperty linkml:list_elements_ordered ], [ a owl:Restriction ; - owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:PathExpression ; - owl:onProperty linkml:path_rule ], + owl:allValuesFrom linkml:String ; + owl:onProperty linkml:equals_string_in ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:identifier ], + owl:onClass linkml:String ; + owl:onProperty skos:prefLabel ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:symmetric ], + owl:onClass linkml:Element ; + owl:onProperty linkml:range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined ], + owl:onClass linkml:SlotDefinition ; + owl:onProperty rdfs:subPropertyOf ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:equals_string ], + owl:onClass linkml:Boolean ; + owl:onProperty linkml:identifier ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:AnonymousSlotExpression ; - owl:onProperty linkml:has_member ], + owl:onClass linkml:UnitOfMeasure ; + owl:onProperty qudt:unit ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:String ; - owl:onProperty linkml:readonly ], + owl:onClass linkml:EnumExpression ; + owl:onProperty linkml:enum_range ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:inlined_as_list ], + owl:onProperty linkml:transitive ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; @@ -3736,23 +4461,37 @@ linkml:SlotDefinition a owl:Class, [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:reflexive ], + owl:onProperty linkml:irreflexive ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:required ], + owl:onClass linkml:Definition ; + owl:onProperty linkml:owner ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Boolean ; - owl:onProperty linkml:list_elements_unique ], + owl:onClass linkml:Uriorcurie ; + owl:onProperty linkml:slot_uri ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:SlotDefinition ; + owl:onProperty linkml:apply_to ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; - owl:onClass linkml:Element ; - owl:onProperty linkml:range ], + owl:onClass linkml:PatternExpression ; + owl:onProperty linkml:structured_pattern ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:SlotDefinition ; + owl:onProperty sh:group ], [ a owl:Restriction ; owl:maxQualifiedCardinality 1 ; owl:onClass linkml:Boolean ; - owl:onProperty linkml:is_usage_slot ], + owl:onProperty linkml:list_elements_unique ], + [ a owl:Restriction ; + owl:maxQualifiedCardinality 1 ; + owl:onClass linkml:String ; + owl:onProperty linkml:readonly ], + [ a owl:Restriction ; + owl:allValuesFrom linkml:AnonymousSlotExpression ; + owl:onProperty linkml:exactly_one_of ], linkml:Definition, linkml:SlotExpression ; skos:altLabel "attribute", @@ -3761,8 +4500,8 @@ linkml:SlotDefinition a owl:Class, "property", "slot", "variable" ; - skos:closeMatch rdf:Property ; - skos:definition "the definition of a property or a slot" . - + skos:closeMatch qb:ComponentProperty, + rdf:Property ; + skos:definition "an element that describes how instances are related to other instances" . diff --git a/linkml_runtime/linkml_model/rdf/annotations.model.ttl b/linkml_runtime/linkml_model/rdf/annotations.model.ttl index ab0df0da..74c92716 100644 --- a/linkml_runtime/linkml_model/rdf/annotations.model.ttl +++ b/linkml_runtime/linkml_model/rdf/annotations.model.ttl @@ -4,15 +4,14 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Extensible" ; - linkml:definition_uri "https://w3id.org/linkml/Extensible" ; - linkml:description "mixin for classes that support extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; + linkml:class_uri "https://w3id.org/linkml/Annotatable" ; + linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; + linkml:description "mixin for classes that support annotations" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; linkml:mixin true ; - linkml:name "Extensible" ; + linkml:name "Annotatable" ; linkml:slot_usage [ ] ; - linkml:slots "extensions" ], + linkml:slots "annotations" ], [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/linkml/Annotation" ; linkml:definition_uri "https://w3id.org/linkml/Annotation" ; @@ -38,19 +37,20 @@ "extension_value", "extensions" ], [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Annotatable" ; - linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; - linkml:description "mixin for classes that support annotations" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:class_uri "https://w3id.org/linkml/Extensible" ; + linkml:definition_uri "https://w3id.org/linkml/Extensible" ; + linkml:description "mixin for classes that support extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; linkml:mixin true ; - linkml:name "Annotatable" ; + linkml:name "Extensible" ; linkml:slot_usage [ ] ; - linkml:slots "annotations" ] ; + linkml:slots "extensions" ] ; linkml:default_prefix "linkml" ; linkml:default_range "string" ; linkml:description "Annotations mixin" ; linkml:emit_prefixes "linkml" ; - linkml:generation_date "2022-07-13T02:59:49" ; + linkml:generation_date "2022-07-14T00:57:01" ; linkml:id "https://w3id.org/linkml/annotations" ; linkml:imports "linkml:extensions", "linkml:types" ; @@ -72,20 +72,6 @@ linkml:range "string" ; linkml:required true ; linkml:slot_uri "https://w3id.org/linkml/value" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/annotations" ; - linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - linkml:domain "Annotatable" ; - linkml:domain_of "Annotatable", - "Annotation" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:inlined true ; - linkml:is_a "extensions" ; - linkml:multivalued true ; - linkml:name "annotations" ; - linkml:owner "Annotation" ; - linkml:range "Annotation" ; - linkml:slot_uri "https://w3id.org/linkml/annotations" ], [ a linkml:SlotDefinition ; linkml:alias "tag" ; linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; @@ -113,29 +99,68 @@ linkml:name "extensions" ; linkml:owner "Extensible" ; linkml:range "Extension" ; - linkml:slot_uri "https://w3id.org/linkml/extensions" ] ; + linkml:slot_uri "https://w3id.org/linkml/extensions" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/annotations" ; + linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + linkml:domain "Annotatable" ; + linkml:domain_of "Annotatable", + "Annotation" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:inlined true ; + linkml:is_a "extensions" ; + linkml:multivalued true ; + linkml:name "annotations" ; + linkml:owner "Annotation" ; + linkml:range "Annotation" ; + linkml:slot_uri "https://w3id.org/linkml/annotations" ] ; linkml:source_file "annotations.yaml" ; - linkml:source_file_date "2022-07-13T02:58:15" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 833 ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "uri" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + [ a linkml:TypeDefinition ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + [ a linkml:TypeDefinition ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "uriorcurie" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "str" ; linkml:definition_uri "https://w3id.org/linkml/String" ; @@ -145,23 +170,14 @@ linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], - [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; linkml:base "Decimal" ; linkml:definition_uri "https://w3id.org/linkml/Decimal" ; @@ -171,85 +187,69 @@ linkml:name "decimal" ; linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], - [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "objectidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; + linkml:name "datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], - [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ] ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/annotations.ttl b/linkml_runtime/linkml_model/rdf/annotations.ttl index 8d47265e..c775194f 100644 --- a/linkml_runtime/linkml_model/rdf/annotations.ttl +++ b/linkml_runtime/linkml_model/rdf/annotations.ttl @@ -4,19 +4,6 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Annotation" ; - linkml:definition_uri "https://w3id.org/linkml/Annotation" ; - linkml:description "a tag/value pair with the semantics of OWL Annotation" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:is_a "Extension" ; - linkml:mixins "Annotatable" ; - linkml:name "Annotation" ; - linkml:slot_usage [ ] ; - linkml:slots "annotations", - "extension_tag", - "extension_value", - "extensions" ], - [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/linkml/Extensible" ; linkml:definition_uri "https://w3id.org/linkml/Extensible" ; linkml:description "mixin for classes that support extension" ; @@ -35,6 +22,19 @@ linkml:name "Annotatable" ; linkml:slot_usage [ ] ; linkml:slots "annotations" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Annotation" ; + linkml:definition_uri "https://w3id.org/linkml/Annotation" ; + linkml:description "a tag/value pair with the semantics of OWL Annotation" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:is_a "Extension" ; + linkml:mixins "Annotatable" ; + linkml:name "Annotation" ; + linkml:slot_usage [ ] ; + linkml:slots "annotations", + "extension_tag", + "extension_value", + "extensions" ], [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/linkml/Extension" ; linkml:definition_uri "https://w3id.org/linkml/Extension" ; @@ -50,7 +50,7 @@ linkml:default_range "string" ; linkml:description "Annotations mixin" ; linkml:emit_prefixes "linkml" ; - linkml:generation_date "2022-07-13T02:59:42" ; + linkml:generation_date "2022-07-14T00:56:47" ; linkml:id "https://w3id.org/linkml/annotations" ; linkml:imports "linkml:extensions", "linkml:types" ; @@ -60,20 +60,6 @@ linkml:prefixes [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ] ; linkml:slots [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/annotations" ; - linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - linkml:domain "Annotatable" ; - linkml:domain_of "Annotatable", - "Annotation" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:inlined true ; - linkml:is_a "extensions" ; - linkml:multivalued true ; - linkml:name "annotations" ; - linkml:owner "Annotation" ; - linkml:range "Annotation" ; - linkml:slot_uri "https://w3id.org/linkml/annotations" ], - [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/extensions" ; linkml:description "a tag/text tuple attached to an arbitrary element" ; linkml:domain "Extensible" ; @@ -88,36 +74,59 @@ linkml:range "Extension" ; linkml:slot_uri "https://w3id.org/linkml/extensions" ], [ a linkml:SlotDefinition ; - linkml:alias "value" ; - linkml:definition_uri "https://w3id.org/linkml/extension_value" ; - linkml:description "the actual annotation" ; + linkml:alias "tag" ; + linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; + linkml:description "a tag associated with an extension" ; linkml:domain "Extension" ; linkml:domain_of "Extension" ; linkml:from_schema "https://w3id.org/linkml/extensions" ; linkml:imported_from "linkml:extensions" ; - linkml:name "extension_value" ; + linkml:key true ; + linkml:name "extension_tag" ; linkml:owner "Extension" ; - linkml:range "string" ; + linkml:range "uriorcurie" ; linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/value" ], + linkml:slot_uri "https://w3id.org/linkml/tag" ], [ a linkml:SlotDefinition ; - linkml:alias "tag" ; - linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; - linkml:description "a tag associated with an extension" ; + linkml:alias "value" ; + linkml:definition_uri "https://w3id.org/linkml/extension_value" ; + linkml:description "the actual annotation" ; linkml:domain "Extension" ; linkml:domain_of "Extension" ; linkml:from_schema "https://w3id.org/linkml/extensions" ; linkml:imported_from "linkml:extensions" ; - linkml:key true ; - linkml:name "extension_tag" ; + linkml:name "extension_value" ; linkml:owner "Extension" ; - linkml:range "uriorcurie" ; + linkml:range "string" ; linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/tag" ] ; + linkml:slot_uri "https://w3id.org/linkml/value" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/annotations" ; + linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + linkml:domain "Annotatable" ; + linkml:domain_of "Annotatable", + "Annotation" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:inlined true ; + linkml:is_a "extensions" ; + linkml:multivalued true ; + linkml:name "annotations" ; + linkml:owner "Annotation" ; + linkml:range "Annotation" ; + linkml:slot_uri "https://w3id.org/linkml/annotations" ] ; linkml:source_file "annotations.yaml" ; - linkml:source_file_date "2022-07-13T02:58:15" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 833 ; linkml:types [ a linkml:TypeDefinition ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + [ a linkml:TypeDefinition ; linkml:base "XSDDate" ; linkml:definition_uri "https://w3id.org/linkml/Date" ; linkml:description "a date (year, month and day) in an idealized calendar" ; @@ -128,23 +137,25 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; + linkml:name "objectidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; linkml:base "URIorCURIE" ; linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; @@ -155,32 +166,23 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], - [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "uri" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; linkml:base "int" ; linkml:definition_uri "https://w3id.org/linkml/Integer" ; @@ -190,23 +192,12 @@ linkml:name "integer" ; linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], - [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; - linkml:repr "str" ; + linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; linkml:base "float" ; @@ -216,6 +207,15 @@ linkml:imported_from "linkml:types" ; linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + [ a linkml:TypeDefinition ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Double" ; @@ -225,31 +225,31 @@ linkml:name "double" ; linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; + linkml:name "datetime" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ] ; + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/extensions.model.ttl b/linkml_runtime/linkml_model/rdf/extensions.model.ttl index 2f982ed3..b5b68a67 100644 --- a/linkml_runtime/linkml_model/rdf/extensions.model.ttl +++ b/linkml_runtime/linkml_model/rdf/extensions.model.ttl @@ -26,7 +26,7 @@ linkml:default_range "string" ; linkml:description "Extension mixin" ; linkml:emit_prefixes "linkml" ; - linkml:generation_date "2022-07-13T02:39:21" ; + linkml:generation_date "2022-07-14T00:57:05" ; linkml:id "https://w3id.org/linkml/extensions" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; @@ -35,6 +35,18 @@ linkml:prefixes [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ] ; linkml:slots [ a linkml:SlotDefinition ; + linkml:alias "value" ; + linkml:definition_uri "https://w3id.org/linkml/extension_value" ; + linkml:description "the actual annotation" ; + linkml:domain "Extension" ; + linkml:domain_of "Extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:name "extension_value" ; + linkml:owner "Extension" ; + linkml:range "string" ; + linkml:required true ; + linkml:slot_uri "https://w3id.org/linkml/value" ], + [ a linkml:SlotDefinition ; linkml:alias "tag" ; linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; linkml:description "a tag associated with an extension" ; @@ -47,18 +59,6 @@ linkml:range "uriorcurie" ; linkml:required true ; linkml:slot_uri "https://w3id.org/linkml/tag" ], - [ a linkml:SlotDefinition ; - linkml:alias "value" ; - linkml:definition_uri "https://w3id.org/linkml/extension_value" ; - linkml:description "the actual annotation" ; - linkml:domain "Extension" ; - linkml:domain_of "Extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:name "extension_value" ; - linkml:owner "Extension" ; - linkml:range "string" ; - linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/value" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/extensions" ; linkml:description "a tag/text tuple attached to an arbitrary element" ; @@ -73,7 +73,7 @@ linkml:range "Extension" ; linkml:slot_uri "https://w3id.org/linkml/extensions" ] ; linkml:source_file "extensions.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 1057 ; linkml:types [ a linkml:TypeDefinition ; linkml:base "ElementIdentifier" ; @@ -86,13 +86,14 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + linkml:name "nodeidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Float" ; @@ -102,32 +103,31 @@ linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:name "datetime" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; linkml:base "XSDDate" ; linkml:definition_uri "https://w3id.org/linkml/Date" ; @@ -139,75 +139,75 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:name "string" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "uri" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ] ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/extensions.ttl b/linkml_runtime/linkml_model/rdf/extensions.ttl index 393ed8a3..43906ee9 100644 --- a/linkml_runtime/linkml_model/rdf/extensions.ttl +++ b/linkml_runtime/linkml_model/rdf/extensions.ttl @@ -4,15 +4,6 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Extensible" ; - linkml:definition_uri "https://w3id.org/linkml/Extensible" ; - linkml:description "mixin for classes that support extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:mixin true ; - linkml:name "Extensible" ; - linkml:slot_usage [ ] ; - linkml:slots "extensions" ], - [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/linkml/Extension" ; linkml:definition_uri "https://w3id.org/linkml/Extension" ; linkml:description "a tag/value pair used to add non-model information to an entry" ; @@ -21,12 +12,21 @@ linkml:slot_usage [ ] ; linkml:slots "extension_tag", "extension_value", - "extensions" ] ; + "extensions" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Extensible" ; + linkml:definition_uri "https://w3id.org/linkml/Extensible" ; + linkml:description "mixin for classes that support extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:mixin true ; + linkml:name "Extensible" ; + linkml:slot_usage [ ] ; + linkml:slots "extensions" ] ; linkml:default_prefix "linkml" ; linkml:default_range "string" ; linkml:description "Extension mixin" ; linkml:emit_prefixes "linkml" ; - linkml:generation_date "2022-07-13T02:59:45" ; + linkml:generation_date "2022-07-14T00:56:51" ; linkml:id "https://w3id.org/linkml/extensions" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; @@ -35,17 +35,18 @@ linkml:prefixes [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ] ; linkml:slots [ a linkml:SlotDefinition ; - linkml:alias "value" ; - linkml:definition_uri "https://w3id.org/linkml/extension_value" ; - linkml:description "the actual annotation" ; + linkml:alias "tag" ; + linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; + linkml:description "a tag associated with an extension" ; linkml:domain "Extension" ; linkml:domain_of "Extension" ; linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:name "extension_value" ; + linkml:key true ; + linkml:name "extension_tag" ; linkml:owner "Extension" ; - linkml:range "string" ; + linkml:range "uriorcurie" ; linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/value" ], + linkml:slot_uri "https://w3id.org/linkml/tag" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/extensions" ; linkml:description "a tag/text tuple attached to an arbitrary element" ; @@ -60,55 +61,39 @@ linkml:range "Extension" ; linkml:slot_uri "https://w3id.org/linkml/extensions" ], [ a linkml:SlotDefinition ; - linkml:alias "tag" ; - linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; - linkml:description "a tag associated with an extension" ; + linkml:alias "value" ; + linkml:definition_uri "https://w3id.org/linkml/extension_value" ; + linkml:description "the actual annotation" ; linkml:domain "Extension" ; linkml:domain_of "Extension" ; linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:key true ; - linkml:name "extension_tag" ; + linkml:name "extension_value" ; linkml:owner "Extension" ; - linkml:range "uriorcurie" ; + linkml:range "string" ; linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/tag" ] ; + linkml:slot_uri "https://w3id.org/linkml/value" ] ; linkml:source_file "extensions.yaml" ; - linkml:source_file_date "2022-07-13T02:58:15" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 1057 ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], - [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], - [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + linkml:name "ncname" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; linkml:base "XSDTime" ; linkml:definition_uri "https://w3id.org/linkml/Time" ; @@ -120,15 +105,14 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "ElementIdentifier" ; linkml:comments "Used for inheritence and type checking" ; @@ -139,23 +123,6 @@ linkml:name "objectidentifier" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#iri" ], - [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], - [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "XSDDateTime" ; linkml:definition_uri "https://w3id.org/linkml/Datetime" ; @@ -166,14 +133,21 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + [ a linkml:TypeDefinition ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; linkml:base "str" ; linkml:definition_uri "https://w3id.org/linkml/String" ; @@ -183,22 +157,14 @@ linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], - [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; linkml:base "NodeIdentifier" ; linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; @@ -207,7 +173,41 @@ linkml:imported_from "linkml:types" ; linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ] ; + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + [ a linkml:TypeDefinition ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "uri" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + [ a linkml:TypeDefinition ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/mappings.model.ttl b/linkml_runtime/linkml_model/rdf/mappings.model.ttl index 68317a4c..555388eb 100644 --- a/linkml_runtime/linkml_model/rdf/mappings.model.ttl +++ b/linkml_runtime/linkml_model/rdf/mappings.model.ttl @@ -16,7 +16,7 @@ "rdfs", "skos", "xsd" ; - linkml:generation_date "2022-07-13T02:39:29" ; + linkml:generation_date "2022-07-14T00:57:13" ; linkml:id "https://w3id.org/linkml/mappings" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; @@ -24,22 +24,20 @@ linkml:name "mappings" ; linkml:prefixes [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ], - [ linkml:prefix_prefix "OIO" ; - linkml:prefix_reference "http://www.geneontology.org/formats/oboInOwl#" ], [ linkml:prefix_prefix "skos" ; linkml:prefix_reference "http://www.w3.org/2004/02/skos/core#" ], [ linkml:prefix_prefix "IAO" ; - linkml:prefix_reference "http://purl.obolibrary.org/obo/IAO_" ] ; + linkml:prefix_reference "http://purl.obolibrary.org/obo/IAO_" ], + [ linkml:prefix_prefix "OIO" ; + linkml:prefix_reference "http://www.geneontology.org/formats/oboInOwl#" ] ; linkml:slots [ a linkml:SlotDefinition ; - skos:mappingRelation skos:exactMatch ; - linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have identical meaning." ; + skos:mappingRelation OIO:consider ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; + linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "exact_mappings" ; + linkml:name "deprecated_element_has_possible_replacement" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:closeMatch ; linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; @@ -50,6 +48,16 @@ linkml:name "close_mappings" ; linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation skos:relatedMatch ; + linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:is_a "mappings" ; + linkml:multivalued true ; + linkml:name "related_mappings" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:narrowMatch ; linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; @@ -61,31 +69,15 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; - linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:name "deprecated_element_has_exact_replacement" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:relatedMatch ; - linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; + skos:mappingRelation skos:exactMatch ; + linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have identical meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "related_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation OIO:consider ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; - linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:name "deprecated_element_has_possible_replacement" ; + linkml:name "exact_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:mappingRelation ; linkml:aliases "alternate identifiers", @@ -99,6 +91,14 @@ linkml:name "mappings" ; linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; + linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:name "deprecated_element_has_exact_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:broadMatch ; linkml:definition_uri "https://w3id.org/linkml/broad_mappings" ; @@ -110,18 +110,53 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#broadMatch" ] ; linkml:source_file "mappings.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2755 ; linkml:title "LinkML Schema Mappings" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + [ a linkml:TypeDefinition ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "uri" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + [ a linkml:TypeDefinition ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + [ a linkml:TypeDefinition ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + [ a linkml:TypeDefinition ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Float" ; @@ -130,15 +165,6 @@ linkml:imported_from "linkml:types" ; linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], - [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Double" ; @@ -148,14 +174,32 @@ linkml:name "double" ; linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; + linkml:name "string" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + [ a linkml:TypeDefinition ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + [ a linkml:TypeDefinition ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "objectidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; linkml:base "XSDTime" ; linkml:definition_uri "https://w3id.org/linkml/Time" ; @@ -167,14 +211,14 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "XSDDateTime" ; linkml:definition_uri "https://w3id.org/linkml/Datetime" ; @@ -185,13 +229,14 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; linkml:base "NCName" ; linkml:definition_uri "https://w3id.org/linkml/Ncname" ; @@ -200,52 +245,7 @@ linkml:imported_from "linkml:types" ; linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], - [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], - [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], - [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], - [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], - [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ] ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/mappings.ttl b/linkml_runtime/linkml_model/rdf/mappings.ttl index 00f1f44e..763794e0 100644 --- a/linkml_runtime/linkml_model/rdf/mappings.ttl +++ b/linkml_runtime/linkml_model/rdf/mappings.ttl @@ -16,7 +16,7 @@ "rdfs", "skos", "xsd" ; - linkml:generation_date "2022-07-13T02:39:13" ; + linkml:generation_date "2022-07-14T00:56:59" ; linkml:id "https://w3id.org/linkml/mappings" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; @@ -26,29 +26,11 @@ linkml:prefix_reference "http://www.geneontology.org/formats/oboInOwl#" ], [ linkml:prefix_prefix "skos" ; linkml:prefix_reference "http://www.w3.org/2004/02/skos/core#" ], - [ linkml:prefix_prefix "IAO" ; - linkml:prefix_reference "http://purl.obolibrary.org/obo/IAO_" ], [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference "https://w3id.org/linkml/" ] ; + linkml:prefix_reference "https://w3id.org/linkml/" ], + [ linkml:prefix_prefix "IAO" ; + linkml:prefix_reference "http://purl.obolibrary.org/obo/IAO_" ] ; linkml:slots [ a linkml:SlotDefinition ; - skos:mappingRelation OIO:consider ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; - linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:name "deprecated_element_has_possible_replacement" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:relatedMatch ; - linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "related_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], - [ a linkml:SlotDefinition ; skos:mappingRelation skos:closeMatch ; linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; linkml:description "A list of terms from different schemas or terminology systems that have close meaning." ; @@ -59,23 +41,15 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:narrowMatch ; - linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + skos:mappingRelation skos:relatedMatch ; + linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "narrow_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; - linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:name "deprecated_element_has_exact_replacement" ; + linkml:name "related_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:mappingRelation ; linkml:aliases "alternate identifiers", @@ -89,6 +63,14 @@ linkml:name "mappings" ; linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation OIO:consider ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; + linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:name "deprecated_element_has_possible_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:exactMatch ; linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; @@ -99,6 +81,24 @@ linkml:name "exact_mappings" ; linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; + linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:name "deprecated_element_has_exact_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation skos:narrowMatch ; + linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:is_a "mappings" ; + linkml:multivalued true ; + linkml:name "narrow_mappings" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:broadMatch ; linkml:definition_uri "https://w3id.org/linkml/broad_mappings" ; @@ -110,36 +110,18 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#broadMatch" ] ; linkml:source_file "mappings.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2755 ; linkml:title "LinkML Schema Mappings" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], - [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], - [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Float" ; @@ -148,6 +130,14 @@ linkml:imported_from "linkml:types" ; linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; linkml:base "URI" ; linkml:definition_uri "https://w3id.org/linkml/Uri" ; @@ -157,23 +147,6 @@ linkml:name "uri" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], - [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], - [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; linkml:base "str" ; linkml:definition_uri "https://w3id.org/linkml/String" ; @@ -183,14 +156,14 @@ linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "XSDDateTime" ; linkml:definition_uri "https://w3id.org/linkml/Datetime" ; @@ -201,24 +174,33 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + [ a linkml:TypeDefinition ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; linkml:base "ElementIdentifier" ; linkml:comments "Used for inheritence and type checking" ; @@ -229,6 +211,14 @@ linkml:name "objectidentifier" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#iri" ], + [ a linkml:TypeDefinition ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; linkml:base "Decimal" ; linkml:definition_uri "https://w3id.org/linkml/Decimal" ; @@ -238,14 +228,24 @@ linkml:name "decimal" ; linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + [ a linkml:TypeDefinition ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ] ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/meta.model.ttl b/linkml_runtime/linkml_model/rdf/meta.model.ttl index 54890c04..27072bc4 100644 --- a/linkml_runtime/linkml_model/rdf/meta.model.ttl +++ b/linkml_runtime/linkml_model/rdf/meta.model.ttl @@ -27,14 +27,10 @@ linkml:CODE skos:definition "The permissible values are the set of possible code linkml:CURIE skos:definition "The permissible values are the set of CURIES in the code set" . -linkml:ERROR linkml:meaning sh1:Violation . - linkml:EXACT_SYNONYM linkml:meaning skos:exactMatch . linkml:FHIR_CODING skos:definition "The permissible values are the set of FHIR coding elements derived from the code set" . -linkml:INFO linkml:meaning sh1:Info . - linkml:NARROW_SYNONYM linkml:meaning skos:narrowerMatch . linkml:NODE skos:definition "a slot with this role connects a symmetric relationship to a node that represents either subject or object node" . @@ -54,8 +50,6 @@ linkml:SUBJECT skos:definition "a slot with this role connects a relationship to linkml:URI skos:definition "The permissible values are the set of code URIs in the code set" . -linkml:WARNING linkml:meaning sh1:Warning . - linkml:date a linkml:TypeDefinition ; skos:definition "a date (year, month and day) in an idealized calendar" ; skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ; @@ -99,11 +93,14 @@ linkml:float a linkml:TypeDefinition ; linkml:imported_from "linkml:types" ; linkml:uri xsd:float . -linkml:inapplicable_slot skos:definition "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" . - -linkml:max_count_violation linkml:meaning sh1:MaxCountConstraintComponent . - -linkml:missing_slot_value skos:definition "Applies when an instance of a class has a required slot which is not filled in" . +linkml:nodeidentifier a linkml:TypeDefinition ; + skos:definition "A URI, CURIE or BNODE that represents a node in a model." ; + skos:inScheme linkml:types ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri linkml:Nodeidentifier ; + linkml:imported_from "linkml:types" ; + linkml:repr "str" ; + linkml:uri shex:nonLiteral . linkml:objectidentifier a linkml:TypeDefinition ; skos:definition "A URI or CURIE that represents an object in the model." ; @@ -115,20 +112,6 @@ linkml:objectidentifier a linkml:TypeDefinition ; linkml:repr "str" ; linkml:uri shex:iri . -linkml:parsing_error skos:definition "The data could not be parsed" . - -linkml:problem_type skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportProblemType ; - linkml:imported_from "linkml:validation" ; - linkml:permissible_values linkml:inapplicable_slot, - linkml:max_count_violation, - linkml:missing_slot_value, - linkml:parsing_error, - linkml:slot_range_violation, - linkml:undeclared_slot . - -linkml:slot_range_violation skos:definition "Applies when the value of a slot is inconsistent with the declared range" . - linkml:time a linkml:TypeDefinition ; skos:definition "A time object represents a (local) time of day, independent of any particular day" ; skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ; @@ -139,8 +122,6 @@ linkml:time a linkml:TypeDefinition ; linkml:repr "str" ; linkml:uri xsd:dateTime . -linkml:undeclared_slot skos:definition "Applies when a slot is used in data but the slot is undeclared in the datamodel" . - linkml:UnitOfMeasure_exact_mappings a linkml:SlotDefinition ; skos:definition "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; skos:inScheme linkml:mappings ; @@ -150,7 +131,7 @@ linkml:UnitOfMeasure_exact_mappings a linkml:SlotDefinition ; linkml:definition_uri linkml:exact_mappings ; linkml:domain linkml:UnitOfMeasure ; linkml:domain_of linkml:UnitOfMeasure ; - linkml:imported_from "linkml:mappings" ; + linkml:imported_from "linkml:units" ; linkml:is_a linkml:exact_mappings ; linkml:is_usage_slot true ; linkml:multivalued true ; @@ -266,53 +247,6 @@ linkml:class_definition_union_of a linkml:SlotDefinition ; linkml:slot_uri linkml:union_of ; linkml:usage_slot_name "union_of" . -linkml:info a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportinfo ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:string ; - linkml:slot_uri linkml:reportinfo . - -linkml:instantiates a linkml:SlotDefinition ; - skos:exactMatch sh1:sourceShape ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportinstantiates ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportinstantiates . - -linkml:node_source a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportnode_source ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportnode_source . - -linkml:object a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:value ; - linkml:definition_uri linkml:reportobject ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:value . - -linkml:object_str a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportobject_str ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:string ; - linkml:slot_uri linkml:reportobject_str . - linkml:path_expression_all_of a linkml:SlotDefinition ; skos:definition "holds if all of the expressions hold" ; skos:exactMatch sh1:and ; @@ -433,16 +367,6 @@ linkml:permissible_value_mixins a linkml:SlotDefinition ; linkml:slot_uri linkml:mixins ; linkml:usage_slot_name "mixins" . -linkml:predicate a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:relatedMatch sh1:resultPath ; - linkml:definition_uri linkml:reportpredicate ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportpredicate . - linkml:presence_enum skos:definition "enumeration of conditions by which a slot value should be set" ; skos:inScheme linkml:meta ; linkml:definition_uri linkml:PresenceEnum ; @@ -468,10 +392,6 @@ linkml:relational_role_enum skos:definition "enumeration of roles a slot on a re linkml:PREDICATE, linkml:SUBJECT . -linkml:results a linkml:SlotDefinition ; - linkml:multivalued true ; - linkml:range linkml:ValidationResult . - linkml:schema_definition_name a linkml:SlotDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -498,24 +418,6 @@ linkml:schema_definition_name a linkml:SlotDefinition ; linkml:slot_uri rdfs:label ; linkml:usage_slot_name "name" . -linkml:severity a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportseverity ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:severity_options ; - linkml:slot_uri linkml:reportseverity . - -linkml:severity_options skos:exactMatch sh1:Severity ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportSeverityOptions ; - linkml:imported_from "linkml:validation" ; - linkml:permissible_values linkml:ERROR, - linkml:FATAL, - linkml:INFO, - linkml:WARNING . - linkml:slot_definition_apply_to a linkml:SlotDefinition ; skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; skos:inScheme linkml:meta ; @@ -620,26 +522,6 @@ linkml:structured_alias_categories a linkml:SlotDefinition ; linkml:slot_uri dcterms:subject ; linkml:usage_slot_name "categories" . -linkml:subject a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:focusNode ; - linkml:definition_uri linkml:reportsubject ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:focusNode . - -linkml:type a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:sourceConstraintComponent ; - linkml:definition_uri linkml:reporttype ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:sourceConstraintComponent . - linkml:type_definition_union_of a linkml:SlotDefinition ; skos:definition "indicates that the domain element consists exactly of the members of the element in the range." ; skos:editorialNote "this only applies in the OWL generation" ; @@ -656,29 +538,6 @@ linkml:type_definition_union_of a linkml:SlotDefinition ; linkml:slot_uri linkml:union_of ; linkml:usage_slot_name "union_of" . -linkml:validationReport__results a linkml:SlotDefinition ; - skos:inScheme linkml:meta ; - skos:prefLabel "results" ; - linkml:domain_of linkml:ValidationReport ; - linkml:imported_from "linkml:validation" ; - linkml:inlined true ; - linkml:multivalued true ; - linkml:owner linkml:ValidationReport ; - linkml:range linkml:ValidationResult ; - linkml:slot_uri linkml:results . - -linkml:ValidationReport a linkml:ClassDefinition ; - skos:definition "A report object" ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:ValidationReport ; - linkml:attributes linkml:results ; - linkml:class_uri sh1:ValidationReport ; - linkml:definition_uri linkml:reportValidationReport ; - linkml:imported_from "linkml:validation" ; - linkml:slot_usage [ ] ; - linkml:slots linkml:validationReport__results ; - linkml:todos "add prov object" . - linkml:alias a linkml:SlotDefinition ; skos:definition "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; skos:inScheme linkml:meta ; @@ -758,6 +617,7 @@ linkml:has_quantity_kind a linkml:SlotDefinition ; skos:note "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ; linkml:definition_uri linkml:has_quantity_kind ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:uriorcurie ; linkml:slot_uri qudt:hasQuantityKind . @@ -1171,6 +1031,7 @@ linkml:derivation a linkml:SlotDefinition ; skos:inScheme linkml:units ; linkml:definition_uri linkml:derivation ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:slot_uri linkml:derivation . @@ -1359,6 +1220,7 @@ linkml:iec61360code a linkml:SlotDefinition ; skos:mappingRelation qudt:iec61360Code ; linkml:definition_uri linkml:iec61360code ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:required true ; @@ -2095,6 +1957,7 @@ linkml:symbol a linkml:SlotDefinition ; skos:mappingRelation qudt:symbol ; linkml:definition_uri linkml:symbol ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:required true ; @@ -2269,6 +2132,7 @@ linkml:ucum_code a linkml:SlotDefinition ; linkml:definition_uri linkml:ucum_code ; linkml:domain linkml:UnitOfMeasure ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:recommended true ; @@ -2899,15 +2763,6 @@ linkml:modified_by a linkml:SlotDefinition ; linkml:range linkml:uriorcurie ; linkml:slot_uri oslc:modifiedBy . -linkml:nodeidentifier a linkml:TypeDefinition ; - skos:definition "A URI, CURIE or BNODE that represents a node in a model." ; - skos:inScheme linkml:types ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri linkml:Nodeidentifier ; - linkml:imported_from "linkml:types" ; - linkml:repr "str" ; - linkml:uri shex:nonLiteral . - linkml:range a linkml:SlotDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -3240,6 +3095,7 @@ linkml:unit a linkml:SlotDefinition ; linkml:domain_of linkml:PermissibleValue, linkml:SlotExpression, linkml:TypeExpression ; + linkml:imported_from "linkml:units" ; linkml:inlined true ; linkml:owner linkml:PermissibleValue ; linkml:range linkml:UnitOfMeasure ; @@ -3928,15 +3784,16 @@ linkml:UnitOfMeasure a linkml:ClassDefinition ; skos:inScheme linkml:units ; skos:mappingRelation qudt:Unit ; linkml:any_of [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:symbol ], + linkml:slot_conditions linkml:ucum_code ], [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:exact_mappings ], + linkml:slot_conditions linkml:iec61360code ], [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:ucum_code ], + linkml:slot_conditions linkml:symbol ], [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:iec61360code ] ; + linkml:slot_conditions linkml:exact_mappings ] ; linkml:class_uri qudt:Unit ; linkml:definition_uri linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:slot_usage [ ] ; linkml:slots linkml:UnitOfMeasure_exact_mappings, linkml:derivation, @@ -4016,24 +3873,6 @@ linkml:ReachabilityQuery a linkml:ClassDefinition ; linkml:source_ontology, linkml:traverse_up . -linkml:ValidationResult a linkml:ClassDefinition ; - skos:definition "An individual result arising from validation of a data instance using a particular rule" ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:ValidationResult ; - linkml:class_uri sh1:ValidationResult ; - linkml:definition_uri linkml:reportValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:slot_usage [ ] ; - linkml:slots linkml:info, - linkml:instantiates, - linkml:node_source, - linkml:object, - linkml:object_str, - linkml:predicate, - linkml:severity, - linkml:subject, - linkml:type . - linkml:broad_mappings a linkml:SlotDefinition ; skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ; skos:inScheme linkml:mappings ; @@ -4725,6 +4564,14 @@ linkml:Element a linkml:ClassDefinition ; linkml:title, linkml:todos . +linkml:string a linkml:TypeDefinition ; + skos:definition "A character string" ; + skos:inScheme linkml:types ; + linkml:base "str" ; + linkml:definition_uri linkml:String ; + linkml:imported_from "linkml:types" ; + linkml:uri xsd:string . + linkml:SlotExpression a linkml:ClassDefinition ; bibo:status linkml:testing ; skos:definition "an expression that constrains the range of values a slot can take" ; @@ -4760,14 +4607,6 @@ linkml:SlotExpression a linkml:ClassDefinition ; linkml:structured_pattern, linkml:unit . -linkml:string a linkml:TypeDefinition ; - skos:definition "A character string" ; - skos:inScheme linkml:types ; - linkml:base "str" ; - linkml:definition_uri linkml:String ; - linkml:imported_from "linkml:types" ; - linkml:uri xsd:string . - linkml:SchemaDefinition a linkml:ClassDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -4990,9 +4829,7 @@ refer to the official URI for each construct, e.g. linkml:TypeDefinition, linkml:TypeExpression, linkml:UniqueKey, - linkml:UnitOfMeasure, - linkml:ValidationReport, - linkml:ValidationResult ; + linkml:UnitOfMeasure ; linkml:default_curi_maps "semweb_context" ; linkml:default_prefix "linkml" ; linkml:default_range linkml:string ; @@ -5008,51 +4845,48 @@ refer to the official URI for each construct, e.g. "xsd" ; linkml:enums linkml:alias_predicate_enum, linkml:presence_enum, - linkml:problem_type, linkml:pv_formula_options, - linkml:relational_role_enum, - linkml:severity_options ; - linkml:generation_date "2022-07-13T02:39:23"^^xsd:dateTime ; + linkml:relational_role_enum ; + linkml:generation_date "2022-07-13T17:57:50"^^xsd:dateTime ; linkml:id linkml:meta ; linkml:imports linkml:annotations, linkml:extensions, linkml:mappings, linkml:types, - linkml:units, - linkml:validation ; + linkml:units ; linkml:metamodel_version "1.7.0" ; - linkml:prefixes [ linkml:prefix_prefix "NCIT" ; - linkml:prefix_reference NCIT: ], - [ linkml:prefix_prefix "prov" ; - linkml:prefix_reference prov: ], - [ linkml:prefix_prefix "vann" ; - linkml:prefix_reference vann1: ], - [ linkml:prefix_prefix "OIO" ; - linkml:prefix_reference OIO: ], - [ linkml:prefix_prefix "skos" ; - linkml:prefix_reference skos: ], - [ linkml:prefix_prefix "pav" ; - linkml:prefix_reference pav: ], - [ linkml:prefix_prefix "oslc" ; - linkml:prefix_reference oslc: ], + linkml:prefixes [ linkml:prefix_prefix "qb" ; + linkml:prefix_reference qb: ], + [ linkml:prefix_prefix "schema" ; + linkml:prefix_reference schema1: ], [ linkml:prefix_prefix "swrl" ; linkml:prefix_reference swrl: ], + [ linkml:prefix_prefix "skosxl" ; + linkml:prefix_reference skosxl: ], + [ linkml:prefix_prefix "oslc" ; + linkml:prefix_reference oslc: ], + [ linkml:prefix_prefix "skos" ; + linkml:prefix_reference skos: ], [ linkml:prefix_prefix "owl" ; linkml:prefix_reference owl: ], - [ linkml:prefix_prefix "qb" ; - linkml:prefix_reference qb: ], - [ linkml:prefix_prefix "sh" ; - linkml:prefix_reference sh1: ], - [ linkml:prefix_prefix "bibo" ; - linkml:prefix_reference bibo: ], [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference linkml: ], + [ linkml:prefix_prefix "pav" ; + linkml:prefix_reference pav: ], + [ linkml:prefix_prefix "bibo" ; + linkml:prefix_reference bibo: ], + [ linkml:prefix_prefix "sh" ; + linkml:prefix_reference sh1: ], + [ linkml:prefix_prefix "NCIT" ; + linkml:prefix_reference NCIT: ], + [ linkml:prefix_prefix "vann" ; + linkml:prefix_reference vann1: ], [ linkml:prefix_prefix "qudt" ; linkml:prefix_reference qudt: ], - [ linkml:prefix_prefix "skosxl" ; - linkml:prefix_reference skosxl: ], - [ linkml:prefix_prefix "schema" ; - linkml:prefix_reference schema1: ] ; + [ linkml:prefix_prefix "OIO" ; + linkml:prefix_reference OIO: ], + [ linkml:prefix_prefix "prov" ; + linkml:prefix_reference prov: ] ; linkml:slots linkml:UnitOfMeasure_exact_mappings, linkml:abstract, linkml:alias, @@ -5149,12 +4983,10 @@ refer to the official URI for each construct, e.g. linkml:inapplicable, linkml:include, linkml:include_self, - linkml:info, linkml:inherited, linkml:inherits, linkml:inlined, linkml:inlined_as_list, - linkml:instantiates, linkml:interpolated, linkml:inverse, linkml:irreflexive, @@ -5190,11 +5022,8 @@ refer to the official URI for each construct, e.g. linkml:multivalued, linkml:name, linkml:narrow_mappings, - linkml:node_source, linkml:none_of, linkml:notes, - linkml:object, - linkml:object_str, linkml:open_world, linkml:owned_by, linkml:owner, @@ -5211,7 +5040,6 @@ refer to the official URI for each construct, e.g. linkml:permissible_values, linkml:postconditions, linkml:preconditions, - linkml:predicate, linkml:prefix_prefix, linkml:prefix_reference, linkml:prefixes, @@ -5239,7 +5067,6 @@ refer to the official URI for each construct, e.g. linkml:setting_key, linkml:setting_value, linkml:settings, - linkml:severity, linkml:shared, linkml:singular_name, linkml:slot_conditions, @@ -5271,7 +5098,6 @@ refer to the official URI for each construct, e.g. linkml:structured_imports, linkml:structured_pattern, linkml:subclass_of, - linkml:subject, linkml:subproperty_of, linkml:subsets, linkml:symbol, @@ -5285,7 +5111,6 @@ refer to the official URI for each construct, e.g. linkml:traverse, linkml:traverse_up, linkml:tree_root, - linkml:type, linkml:type_definition_union_of, linkml:type_expression_all_of, linkml:type_expression_any_of, @@ -5301,7 +5126,6 @@ refer to the official URI for each construct, e.g. linkml:unique_keys, linkml:unit, linkml:usage_slot_name, - linkml:validationReport__results, linkml:value, linkml:value_description, linkml:value_presence, @@ -5309,8 +5133,8 @@ refer to the official URI for each construct, e.g. linkml:values_from, linkml:version ; linkml:source_file "meta.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17"^^xsd:dateTime ; - linkml:source_file_size 71456 ; + linkml:source_file_date "2022-07-13T17:52:28"^^xsd:dateTime ; + linkml:source_file_size 71464 ; linkml:subsets linkml:basic, linkml:minimal, linkml:object_oriented, diff --git a/linkml_runtime/linkml_model/rdf/meta.ttl b/linkml_runtime/linkml_model/rdf/meta.ttl index 1c28a90a..245be952 100644 --- a/linkml_runtime/linkml_model/rdf/meta.ttl +++ b/linkml_runtime/linkml_model/rdf/meta.ttl @@ -27,14 +27,10 @@ linkml:CODE skos:definition "The permissible values are the set of possible code linkml:CURIE skos:definition "The permissible values are the set of CURIES in the code set" . -linkml:ERROR linkml:meaning sh1:Violation . - linkml:EXACT_SYNONYM linkml:meaning skos:exactMatch . linkml:FHIR_CODING skos:definition "The permissible values are the set of FHIR coding elements derived from the code set" . -linkml:INFO linkml:meaning sh1:Info . - linkml:NARROW_SYNONYM linkml:meaning skos:narrowerMatch . linkml:NODE skos:definition "a slot with this role connects a symmetric relationship to a node that represents either subject or object node" . @@ -54,8 +50,6 @@ linkml:SUBJECT skos:definition "a slot with this role connects a relationship to linkml:URI skos:definition "The permissible values are the set of code URIs in the code set" . -linkml:WARNING linkml:meaning sh1:Warning . - linkml:date a linkml:TypeDefinition ; skos:definition "a date (year, month and day) in an idealized calendar" ; skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ; @@ -99,11 +93,14 @@ linkml:float a linkml:TypeDefinition ; linkml:imported_from "linkml:types" ; linkml:uri xsd:float . -linkml:inapplicable_slot skos:definition "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" . - -linkml:max_count_violation linkml:meaning sh1:MaxCountConstraintComponent . - -linkml:missing_slot_value skos:definition "Applies when an instance of a class has a required slot which is not filled in" . +linkml:nodeidentifier a linkml:TypeDefinition ; + skos:definition "A URI, CURIE or BNODE that represents a node in a model." ; + skos:inScheme linkml:types ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri linkml:Nodeidentifier ; + linkml:imported_from "linkml:types" ; + linkml:repr "str" ; + linkml:uri shex:nonLiteral . linkml:objectidentifier a linkml:TypeDefinition ; skos:definition "A URI or CURIE that represents an object in the model." ; @@ -115,20 +112,6 @@ linkml:objectidentifier a linkml:TypeDefinition ; linkml:repr "str" ; linkml:uri shex:iri . -linkml:parsing_error skos:definition "The data could not be parsed" . - -linkml:problem_type skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportProblemType ; - linkml:imported_from "linkml:validation" ; - linkml:permissible_values linkml:inapplicable_slot, - linkml:max_count_violation, - linkml:missing_slot_value, - linkml:parsing_error, - linkml:slot_range_violation, - linkml:undeclared_slot . - -linkml:slot_range_violation skos:definition "Applies when the value of a slot is inconsistent with the declared range" . - linkml:time a linkml:TypeDefinition ; skos:definition "A time object represents a (local) time of day, independent of any particular day" ; skos:editorialNote "URI is dateTime because OWL reasoners don't work with straight date or time" ; @@ -139,8 +122,6 @@ linkml:time a linkml:TypeDefinition ; linkml:repr "str" ; linkml:uri xsd:dateTime . -linkml:undeclared_slot skos:definition "Applies when a slot is used in data but the slot is undeclared in the datamodel" . - linkml:UnitOfMeasure_exact_mappings a linkml:SlotDefinition ; skos:definition "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; skos:inScheme linkml:mappings ; @@ -150,7 +131,7 @@ linkml:UnitOfMeasure_exact_mappings a linkml:SlotDefinition ; linkml:definition_uri linkml:exact_mappings ; linkml:domain linkml:UnitOfMeasure ; linkml:domain_of linkml:UnitOfMeasure ; - linkml:imported_from "linkml:mappings" ; + linkml:imported_from "linkml:units" ; linkml:is_a linkml:exact_mappings ; linkml:is_usage_slot true ; linkml:multivalued true ; @@ -266,53 +247,6 @@ linkml:class_definition_union_of a linkml:SlotDefinition ; linkml:slot_uri linkml:union_of ; linkml:usage_slot_name "union_of" . -linkml:info a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportinfo ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:string ; - linkml:slot_uri linkml:reportinfo . - -linkml:instantiates a linkml:SlotDefinition ; - skos:exactMatch sh1:sourceShape ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportinstantiates ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportinstantiates . - -linkml:node_source a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportnode_source ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportnode_source . - -linkml:object a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:value ; - linkml:definition_uri linkml:reportobject ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:value . - -linkml:object_str a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportobject_str ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:string ; - linkml:slot_uri linkml:reportobject_str . - linkml:path_expression_all_of a linkml:SlotDefinition ; skos:definition "holds if all of the expressions hold" ; skos:exactMatch sh1:and ; @@ -433,16 +367,6 @@ linkml:permissible_value_mixins a linkml:SlotDefinition ; linkml:slot_uri linkml:mixins ; linkml:usage_slot_name "mixins" . -linkml:predicate a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:relatedMatch sh1:resultPath ; - linkml:definition_uri linkml:reportpredicate ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri linkml:reportpredicate . - linkml:presence_enum skos:definition "enumeration of conditions by which a slot value should be set" ; skos:inScheme linkml:meta ; linkml:definition_uri linkml:PresenceEnum ; @@ -468,10 +392,6 @@ linkml:relational_role_enum skos:definition "enumeration of roles a slot on a re linkml:PREDICATE, linkml:SUBJECT . -linkml:results a linkml:SlotDefinition ; - linkml:multivalued true ; - linkml:range linkml:ValidationResult . - linkml:schema_definition_name a linkml:SlotDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -498,24 +418,6 @@ linkml:schema_definition_name a linkml:SlotDefinition ; linkml:slot_uri rdfs:label ; linkml:usage_slot_name "name" . -linkml:severity a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportseverity ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:severity_options ; - linkml:slot_uri linkml:reportseverity . - -linkml:severity_options skos:exactMatch sh1:Severity ; - skos:inScheme linkml:reporting ; - linkml:definition_uri linkml:reportSeverityOptions ; - linkml:imported_from "linkml:validation" ; - linkml:permissible_values linkml:ERROR, - linkml:FATAL, - linkml:INFO, - linkml:WARNING . - linkml:slot_definition_apply_to a linkml:SlotDefinition ; skos:definition "Used to extend class or slot definitions. For example, if we have a core schema where a gene has two slots for identifier and symbol, and we have a specialized schema for my_organism where we wish to add a slot systematic_name, we can avoid subclassing by defining a class gene_my_organism, adding the slot to this class, and then adding an apply_to pointing to the gene class. The new slot will be 'injected into' the gene class." ; skos:inScheme linkml:meta ; @@ -620,26 +522,6 @@ linkml:structured_alias_categories a linkml:SlotDefinition ; linkml:slot_uri dcterms:subject ; linkml:usage_slot_name "categories" . -linkml:subject a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:focusNode ; - linkml:definition_uri linkml:reportsubject ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:focusNode . - -linkml:type a linkml:SlotDefinition ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:sourceConstraintComponent ; - linkml:definition_uri linkml:reporttype ; - linkml:domain_of linkml:ValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:owner linkml:ValidationResult ; - linkml:range linkml:nodeidentifier ; - linkml:slot_uri sh1:sourceConstraintComponent . - linkml:type_definition_union_of a linkml:SlotDefinition ; skos:definition "indicates that the domain element consists exactly of the members of the element in the range." ; skos:editorialNote "this only applies in the OWL generation" ; @@ -656,29 +538,6 @@ linkml:type_definition_union_of a linkml:SlotDefinition ; linkml:slot_uri linkml:union_of ; linkml:usage_slot_name "union_of" . -linkml:validationReport__results a linkml:SlotDefinition ; - skos:inScheme linkml:meta ; - skos:prefLabel "results" ; - linkml:domain_of linkml:ValidationReport ; - linkml:imported_from "linkml:validation" ; - linkml:inlined true ; - linkml:multivalued true ; - linkml:owner linkml:ValidationReport ; - linkml:range linkml:ValidationResult ; - linkml:slot_uri linkml:results . - -linkml:ValidationReport a linkml:ClassDefinition ; - skos:definition "A report object" ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:ValidationReport ; - linkml:attributes linkml:results ; - linkml:class_uri sh1:ValidationReport ; - linkml:definition_uri linkml:reportValidationReport ; - linkml:imported_from "linkml:validation" ; - linkml:slot_usage [ ] ; - linkml:slots linkml:validationReport__results ; - linkml:todos "add prov object" . - linkml:alias a linkml:SlotDefinition ; skos:definition "the name used for a slot in the context of its owning class. If present, this is used instead of the actual slot name." ; skos:inScheme linkml:meta ; @@ -758,6 +617,7 @@ linkml:has_quantity_kind a linkml:SlotDefinition ; skos:note "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ; linkml:definition_uri linkml:has_quantity_kind ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:uriorcurie ; linkml:slot_uri qudt:hasQuantityKind . @@ -1171,6 +1031,7 @@ linkml:derivation a linkml:SlotDefinition ; skos:inScheme linkml:units ; linkml:definition_uri linkml:derivation ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:slot_uri linkml:derivation . @@ -1359,6 +1220,7 @@ linkml:iec61360code a linkml:SlotDefinition ; skos:mappingRelation qudt:iec61360Code ; linkml:definition_uri linkml:iec61360code ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:required true ; @@ -2095,6 +1957,7 @@ linkml:symbol a linkml:SlotDefinition ; skos:mappingRelation qudt:symbol ; linkml:definition_uri linkml:symbol ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:required true ; @@ -2269,6 +2132,7 @@ linkml:ucum_code a linkml:SlotDefinition ; linkml:definition_uri linkml:ucum_code ; linkml:domain linkml:UnitOfMeasure ; linkml:domain_of linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:owner linkml:UnitOfMeasure ; linkml:range linkml:string ; linkml:recommended true ; @@ -2899,15 +2763,6 @@ linkml:modified_by a linkml:SlotDefinition ; linkml:range linkml:uriorcurie ; linkml:slot_uri oslc:modifiedBy . -linkml:nodeidentifier a linkml:TypeDefinition ; - skos:definition "A URI, CURIE or BNODE that represents a node in a model." ; - skos:inScheme linkml:types ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri linkml:Nodeidentifier ; - linkml:imported_from "linkml:types" ; - linkml:repr "str" ; - linkml:uri shex:nonLiteral . - linkml:range a linkml:SlotDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -3240,6 +3095,7 @@ linkml:unit a linkml:SlotDefinition ; linkml:domain_of linkml:PermissibleValue, linkml:SlotExpression, linkml:TypeExpression ; + linkml:imported_from "linkml:units" ; linkml:inlined true ; linkml:owner linkml:PermissibleValue ; linkml:range linkml:UnitOfMeasure ; @@ -3928,15 +3784,16 @@ linkml:UnitOfMeasure a linkml:ClassDefinition ; skos:inScheme linkml:units ; skos:mappingRelation qudt:Unit ; linkml:any_of [ a linkml:AnonymousClassExpression ; + linkml:slot_conditions linkml:iec61360code ], + [ a linkml:AnonymousClassExpression ; linkml:slot_conditions linkml:symbol ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions linkml:ucum_code ], [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:exact_mappings ], - [ a linkml:AnonymousClassExpression ; - linkml:slot_conditions linkml:iec61360code ] ; + linkml:slot_conditions linkml:exact_mappings ] ; linkml:class_uri qudt:Unit ; linkml:definition_uri linkml:UnitOfMeasure ; + linkml:imported_from "linkml:units" ; linkml:slot_usage [ ] ; linkml:slots linkml:UnitOfMeasure_exact_mappings, linkml:derivation, @@ -4016,24 +3873,6 @@ linkml:ReachabilityQuery a linkml:ClassDefinition ; linkml:source_ontology, linkml:traverse_up . -linkml:ValidationResult a linkml:ClassDefinition ; - skos:definition "An individual result arising from validation of a data instance using a particular rule" ; - skos:inScheme linkml:reporting ; - skos:mappingRelation sh1:ValidationResult ; - linkml:class_uri sh1:ValidationResult ; - linkml:definition_uri linkml:reportValidationResult ; - linkml:imported_from "linkml:validation" ; - linkml:slot_usage [ ] ; - linkml:slots linkml:info, - linkml:instantiates, - linkml:node_source, - linkml:object, - linkml:object_str, - linkml:predicate, - linkml:severity, - linkml:subject, - linkml:type . - linkml:broad_mappings a linkml:SlotDefinition ; skos:definition "A list of terms from different schemas or terminology systems that have broader meaning." ; skos:inScheme linkml:mappings ; @@ -4725,6 +4564,14 @@ linkml:Element a linkml:ClassDefinition ; linkml:title, linkml:todos . +linkml:string a linkml:TypeDefinition ; + skos:definition "A character string" ; + skos:inScheme linkml:types ; + linkml:base "str" ; + linkml:definition_uri linkml:String ; + linkml:imported_from "linkml:types" ; + linkml:uri xsd:string . + linkml:SlotExpression a linkml:ClassDefinition ; bibo:status linkml:testing ; skos:definition "an expression that constrains the range of values a slot can take" ; @@ -4760,14 +4607,6 @@ linkml:SlotExpression a linkml:ClassDefinition ; linkml:structured_pattern, linkml:unit . -linkml:string a linkml:TypeDefinition ; - skos:definition "A character string" ; - skos:inScheme linkml:types ; - linkml:base "str" ; - linkml:definition_uri linkml:String ; - linkml:imported_from "linkml:types" ; - linkml:uri xsd:string . - linkml:SchemaDefinition a linkml:ClassDefinition ; OIO:inSubset linkml:basic, linkml:minimal, @@ -4990,9 +4829,7 @@ refer to the official URI for each construct, e.g. linkml:TypeDefinition, linkml:TypeExpression, linkml:UniqueKey, - linkml:UnitOfMeasure, - linkml:ValidationReport, - linkml:ValidationResult ; + linkml:UnitOfMeasure ; linkml:default_curi_maps "semweb_context" ; linkml:default_prefix "linkml" ; linkml:default_range linkml:string ; @@ -5008,49 +4845,46 @@ refer to the official URI for each construct, e.g. "xsd" ; linkml:enums linkml:alias_predicate_enum, linkml:presence_enum, - linkml:problem_type, linkml:pv_formula_options, - linkml:relational_role_enum, - linkml:severity_options ; - linkml:generation_date "2022-07-13T02:39:07"^^xsd:dateTime ; + linkml:relational_role_enum ; + linkml:generation_date "2022-07-13T17:57:34"^^xsd:dateTime ; linkml:id linkml:meta ; linkml:imports linkml:annotations, linkml:extensions, linkml:mappings, linkml:types, - linkml:units, - linkml:validation ; + linkml:units ; linkml:metamodel_version "1.7.0" ; - linkml:prefixes [ linkml:prefix_prefix "skosxl" ; - linkml:prefix_reference skosxl: ], - [ linkml:prefix_prefix "OIO" ; - linkml:prefix_reference OIO: ], - [ linkml:prefix_prefix "sh" ; - linkml:prefix_reference sh1: ], - [ linkml:prefix_prefix "qudt" ; + linkml:prefixes [ linkml:prefix_prefix "qudt" ; linkml:prefix_reference qudt: ], - [ linkml:prefix_prefix "NCIT" ; - linkml:prefix_reference NCIT: ], - [ linkml:prefix_prefix "bibo" ; - linkml:prefix_reference bibo: ], - [ linkml:prefix_prefix "skos" ; - linkml:prefix_reference skos: ], [ linkml:prefix_prefix "qb" ; linkml:prefix_reference qb: ], [ linkml:prefix_prefix "schema" ; linkml:prefix_reference schema1: ], - [ linkml:prefix_prefix "prov" ; - linkml:prefix_reference prov: ], + [ linkml:prefix_prefix "linkml" ; + linkml:prefix_reference linkml: ], + [ linkml:prefix_prefix "bibo" ; + linkml:prefix_reference bibo: ], + [ linkml:prefix_prefix "sh" ; + linkml:prefix_reference sh1: ], [ linkml:prefix_prefix "swrl" ; linkml:prefix_reference swrl: ], - [ linkml:prefix_prefix "vann" ; - linkml:prefix_reference vann1: ], + [ linkml:prefix_prefix "NCIT" ; + linkml:prefix_reference NCIT: ], + [ linkml:prefix_prefix "prov" ; + linkml:prefix_reference prov: ], [ linkml:prefix_prefix "owl" ; linkml:prefix_reference owl: ], - [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference linkml: ], [ linkml:prefix_prefix "oslc" ; linkml:prefix_reference oslc: ], + [ linkml:prefix_prefix "OIO" ; + linkml:prefix_reference OIO: ], + [ linkml:prefix_prefix "skos" ; + linkml:prefix_reference skos: ], + [ linkml:prefix_prefix "skosxl" ; + linkml:prefix_reference skosxl: ], + [ linkml:prefix_prefix "vann" ; + linkml:prefix_reference vann1: ], [ linkml:prefix_prefix "pav" ; linkml:prefix_reference pav: ] ; linkml:slots linkml:UnitOfMeasure_exact_mappings, @@ -5149,12 +4983,10 @@ refer to the official URI for each construct, e.g. linkml:inapplicable, linkml:include, linkml:include_self, - linkml:info, linkml:inherited, linkml:inherits, linkml:inlined, linkml:inlined_as_list, - linkml:instantiates, linkml:interpolated, linkml:inverse, linkml:irreflexive, @@ -5190,11 +5022,8 @@ refer to the official URI for each construct, e.g. linkml:multivalued, linkml:name, linkml:narrow_mappings, - linkml:node_source, linkml:none_of, linkml:notes, - linkml:object, - linkml:object_str, linkml:open_world, linkml:owned_by, linkml:owner, @@ -5211,7 +5040,6 @@ refer to the official URI for each construct, e.g. linkml:permissible_values, linkml:postconditions, linkml:preconditions, - linkml:predicate, linkml:prefix_prefix, linkml:prefix_reference, linkml:prefixes, @@ -5239,7 +5067,6 @@ refer to the official URI for each construct, e.g. linkml:setting_key, linkml:setting_value, linkml:settings, - linkml:severity, linkml:shared, linkml:singular_name, linkml:slot_conditions, @@ -5271,7 +5098,6 @@ refer to the official URI for each construct, e.g. linkml:structured_imports, linkml:structured_pattern, linkml:subclass_of, - linkml:subject, linkml:subproperty_of, linkml:subsets, linkml:symbol, @@ -5285,7 +5111,6 @@ refer to the official URI for each construct, e.g. linkml:traverse, linkml:traverse_up, linkml:tree_root, - linkml:type, linkml:type_definition_union_of, linkml:type_expression_all_of, linkml:type_expression_any_of, @@ -5301,7 +5126,6 @@ refer to the official URI for each construct, e.g. linkml:unique_keys, linkml:unit, linkml:usage_slot_name, - linkml:validationReport__results, linkml:value, linkml:value_description, linkml:value_presence, @@ -5309,8 +5133,8 @@ refer to the official URI for each construct, e.g. linkml:values_from, linkml:version ; linkml:source_file "meta.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17"^^xsd:dateTime ; - linkml:source_file_size 71456 ; + linkml:source_file_date "2022-07-13T17:52:28"^^xsd:dateTime ; + linkml:source_file_size 71464 ; linkml:subsets linkml:basic, linkml:minimal, linkml:object_oriented, diff --git a/linkml_runtime/linkml_model/rdf/types.model.ttl b/linkml_runtime/linkml_model/rdf/types.model.ttl index ec41aee8..38738073 100644 --- a/linkml_runtime/linkml_model/rdf/types.model.ttl +++ b/linkml_runtime/linkml_model/rdf/types.model.ttl @@ -6,7 +6,7 @@ linkml:default_prefix "linkml" ; linkml:default_range "string" ; linkml:description "Shared type definitions for the core LinkML mode and metamodel" ; - linkml:generation_date "2022-07-13T02:39:14" ; + linkml:generation_date "2022-07-13T17:57:45" ; linkml:id "https://w3id.org/linkml/types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; @@ -18,17 +18,26 @@ [ linkml:prefix_prefix "shex" ; linkml:prefix_reference "http://www.w3.org/ns/shex#" ] ; linkml:source_file "types.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-06-27T20:36:40" ; linkml:source_file_size 2848 ; linkml:title "Core LinkML metamodel types" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "date_or_datetime" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + [ a linkml:TypeDefinition ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; linkml:base "Bool" ; linkml:definition_uri "https://w3id.org/linkml/Boolean" ; @@ -45,28 +54,11 @@ linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "ncname" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], - [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "objectidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], - [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "uriorcurie" ; + linkml:name "uri" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; @@ -79,21 +71,20 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; linkml:base "XSDDateTime" ; linkml:definition_uri "https://w3id.org/linkml/Datetime" ; @@ -110,20 +101,29 @@ linkml:name "decimal" ; linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + linkml:name "objectidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "nodeidentifier" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + [ a linkml:TypeDefinition ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Double" ; @@ -132,11 +132,11 @@ linkml:name "double" ; linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "uri" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/types.ttl b/linkml_runtime/linkml_model/rdf/types.ttl index 6e214209..6a53619d 100644 --- a/linkml_runtime/linkml_model/rdf/types.ttl +++ b/linkml_runtime/linkml_model/rdf/types.ttl @@ -6,68 +6,44 @@ linkml:default_prefix "linkml" ; linkml:default_range "string" ; linkml:description "Shared type definitions for the core LinkML mode and metamodel" ; - linkml:generation_date "2022-07-13T02:38:59" ; + linkml:generation_date "2022-07-14T00:56:46" ; linkml:id "https://w3id.org/linkml/types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; linkml:name "types" ; linkml:prefixes [ linkml:prefix_prefix "shex" ; linkml:prefix_reference "http://www.w3.org/ns/shex#" ], - [ linkml:prefix_prefix "xsd" ; - linkml:prefix_reference "http://www.w3.org/2001/XMLSchema#" ], [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference "https://w3id.org/linkml/" ] ; + linkml:prefix_reference "https://w3id.org/linkml/" ], + [ linkml:prefix_prefix "xsd" ; + linkml:prefix_reference "http://www.w3.org/2001/XMLSchema#" ] ; linkml:source_file "types.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2848 ; linkml:title "Core LinkML metamodel types" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], - [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], - [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "ncname" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], - [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "nodeidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; linkml:base "Bool" ; linkml:definition_uri "https://w3id.org/linkml/Boolean" ; @@ -77,12 +53,13 @@ linkml:repr "bool" ; linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], + linkml:name "uri" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Double" ; @@ -91,54 +68,77 @@ linkml:name "double" ; linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "datetime" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "objectidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "uri" ; + linkml:name "string" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + [ a linkml:TypeDefinition ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + [ a linkml:TypeDefinition ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "objectidentifier" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:name "uriorcurie" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + [ a linkml:TypeDefinition ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ] ; + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ] ; linkml:version "2.0.0" . diff --git a/linkml_runtime/linkml_model/rdf/units.model.ttl b/linkml_runtime/linkml_model/rdf/units.model.ttl index de19626f..febf6c64 100644 --- a/linkml_runtime/linkml_model/rdf/units.model.ttl +++ b/linkml_runtime/linkml_model/rdf/units.model.ttl @@ -7,14 +7,27 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Extension" ; - linkml:definition_uri "https://w3id.org/linkml/Extension" ; - linkml:description "a tag/value pair used to add non-model information to an entry" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; - linkml:name "Extension" ; + linkml:class_uri "https://w3id.org/linkml/Annotatable" ; + linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; + linkml:description "mixin for classes that support annotations" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:imported_from "linkml:annotations" ; + linkml:mixin true ; + linkml:name "Annotatable" ; linkml:slot_usage [ ] ; - linkml:slots "extension_tag", + linkml:slots "annotations" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Annotation" ; + linkml:definition_uri "https://w3id.org/linkml/Annotation" ; + linkml:description "a tag/value pair with the semantics of OWL Annotation" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:imported_from "linkml:annotations" ; + linkml:is_a "Extension" ; + linkml:mixins "Annotatable" ; + linkml:name "Annotation" ; + linkml:slot_usage [ ] ; + linkml:slots "annotations", + "extension_tag", "extension_value", "extensions" ], [ a linkml:ClassDefinition ; @@ -27,33 +40,23 @@ linkml:name "Extensible" ; linkml:slot_usage [ ] ; linkml:slots "extensions" ], - [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Annotatable" ; - linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; - linkml:description "mixin for classes that support annotations" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:imported_from "linkml:annotations" ; - linkml:mixin true ; - linkml:name "Annotatable" ; - linkml:slot_usage [ ] ; - linkml:slots "annotations" ], [ a linkml:ClassDefinition ; skos:mappingRelation qudt:Unit ; linkml:any_of [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "iec61360code" ; + linkml:name "ucum_code" ; linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "exact_mappings" ; + linkml:name "symbol" ; linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "ucum_code" ; + linkml:name "iec61360code" ; linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "symbol" ; + linkml:name "exact_mappings" ; linkml:required true ] ] ; linkml:class_uri "http://qudt.org/schema/qudt/Unit" ; linkml:definition_uri "https://w3id.org/linkml/UnitOfMeasure" ; @@ -68,17 +71,14 @@ "symbol", "ucum_code" ], [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Annotation" ; - linkml:definition_uri "https://w3id.org/linkml/Annotation" ; - linkml:description "a tag/value pair with the semantics of OWL Annotation" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:imported_from "linkml:annotations" ; - linkml:is_a "Extension" ; - linkml:mixins "Annotatable" ; - linkml:name "Annotation" ; + linkml:class_uri "https://w3id.org/linkml/Extension" ; + linkml:definition_uri "https://w3id.org/linkml/Extension" ; + linkml:description "a tag/value pair used to add non-model information to an entry" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; + linkml:name "Extension" ; linkml:slot_usage [ ] ; - linkml:slots "annotations", - "extension_tag", + linkml:slots "extension_tag", "extension_value", "extensions" ] ; linkml:default_prefix "linkml" ; @@ -91,7 +91,7 @@ "rdfs", "skos", "xsd" ; - linkml:generation_date "2022-07-13T02:39:18" ; + linkml:generation_date "2022-07-14T00:57:03" ; linkml:id "https://w3id.org/linkml/units" ; linkml:imports "linkml:annotations", "linkml:extensions", @@ -100,34 +100,30 @@ linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; linkml:name "units" ; - linkml:prefixes [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference "https://w3id.org/linkml/" ], - [ linkml:prefix_prefix "qudt" ; - linkml:prefix_reference "http://qudt.org/schema/qudt/" ] ; + linkml:prefixes [ linkml:prefix_prefix "qudt" ; + linkml:prefix_reference "http://qudt.org/schema/qudt/" ], + [ linkml:prefix_prefix "linkml" ; + linkml:prefix_reference "https://w3id.org/linkml/" ] ; linkml:slots [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:symbol ; - linkml:definition_uri "https://w3id.org/linkml/symbol" ; - linkml:description "name of the unit encoded as a symbol" ; + skos:mappingRelation ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; + linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:name "deprecated_element_has_exact_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation qudt:hasQuantityKind ; + linkml:comments "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ; + linkml:definition_uri "https://w3id.org/linkml/has_quantity_kind" ; + linkml:description "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length" ; linkml:domain_of "UnitOfMeasure" ; linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "symbol" ; + linkml:name "has_quantity_kind" ; linkml:owner "UnitOfMeasure" ; - linkml:range "string" ; - linkml:slot_uri "http://qudt.org/schema/qudt/symbol" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:mappingRelation ; - linkml:aliases "alternate identifiers", - "alternate ids", - "identifiers", - "xrefs" ; - linkml:definition_uri "https://w3id.org/linkml/mappings" ; - linkml: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." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:multivalued true ; - linkml:name "mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], + linkml:slot_uri "http://qudt.org/schema/qudt/hasQuantityKind" ], [ a linkml:SlotDefinition ; linkml:alias "value" ; linkml:definition_uri "https://w3id.org/linkml/extension_value" ; @@ -150,6 +146,16 @@ linkml:name "deprecated_element_has_possible_replacement" ; linkml:range "uriorcurie" ; linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation qudt:symbol ; + linkml:definition_uri "https://w3id.org/linkml/symbol" ; + linkml:description "name of the unit encoded as a symbol" ; + linkml:domain_of "UnitOfMeasure" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:name "symbol" ; + linkml:owner "UnitOfMeasure" ; + linkml:range "string" ; + linkml:slot_uri "http://qudt.org/schema/qudt/symbol" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:exactMatch ; linkml:alias "exact mappings" ; @@ -169,16 +175,29 @@ linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ; linkml:usage_slot_name "exact mappings" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:relatedMatch ; - linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; + skos:mappingRelation qudt:unit ; + linkml:definition_uri "https://w3id.org/linkml/unit" ; + linkml:description "an encoding of a unit" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:inlined true ; + linkml:name "unit" ; + linkml:range "UnitOfMeasure" ; + linkml:slot_uri "http://qudt.org/schema/qudt/unit" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/annotations" ; + linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; + linkml:domain "Annotatable" ; + linkml:domain_of "Annotatable", + "Annotation" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:imported_from "linkml:annotations" ; + linkml:inlined true ; + linkml:is_a "extensions" ; linkml:multivalued true ; - linkml:name "related_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], + linkml:name "annotations" ; + linkml:owner "Annotation" ; + linkml:range "Annotation" ; + linkml:slot_uri "https://w3id.org/linkml/annotations" ], [ a linkml:SlotDefinition ; skos:mappingRelation qudt:ucumCode ; linkml:definition_uri "https://w3id.org/linkml/ucum_code" ; @@ -191,6 +210,34 @@ linkml:range "string" ; linkml:recommended true ; linkml:slot_uri "http://qudt.org/schema/qudt/ucumCode" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation skos:mappingRelation ; + linkml:aliases "alternate identifiers", + "alternate ids", + "identifiers", + "xrefs" ; + linkml:definition_uri "https://w3id.org/linkml/mappings" ; + linkml: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." ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:multivalued true ; + linkml:name "mappings" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/extensions" ; + linkml:description "a tag/text tuple attached to an arbitrary element" ; + linkml:domain "Extensible" ; + linkml:domain_of "Extensible", + "Extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; + linkml:inlined true ; + linkml:multivalued true ; + linkml:name "extensions" ; + linkml:owner "Extensible" ; + linkml:range "Extension" ; + linkml:slot_uri "https://w3id.org/linkml/extensions" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/derivation" ; linkml:description "Expression for deriving this unit from other units" ; @@ -212,40 +259,16 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#broadMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:hasQuantityKind ; - linkml:comments "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ; - linkml:definition_uri "https://w3id.org/linkml/has_quantity_kind" ; - linkml:description "Concept in a vocabulary or ontology that denotes the kind of quanity being measured, e.g. length" ; - linkml:domain_of "UnitOfMeasure" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "has_quantity_kind" ; - linkml:owner "UnitOfMeasure" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://qudt.org/schema/qudt/hasQuantityKind" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/annotations" ; - linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; - linkml:domain "Annotatable" ; - linkml:domain_of "Annotatable", - "Annotation" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:imported_from "linkml:annotations" ; - linkml:inlined true ; - linkml:is_a "extensions" ; + skos:mappingRelation skos:narrowMatch ; + linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "annotations" ; - linkml:owner "Annotation" ; - linkml:range "Annotation" ; - linkml:slot_uri "https://w3id.org/linkml/annotations" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:iec61360Code ; - linkml:definition_uri "https://w3id.org/linkml/iec61360code" ; - linkml:domain_of "UnitOfMeasure" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "iec61360code" ; - linkml:owner "UnitOfMeasure" ; - linkml:range "string" ; - linkml:slot_uri "http://qudt.org/schema/qudt/iec61360Code" ], + linkml:name "narrow_mappings" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], [ a linkml:SlotDefinition ; linkml:alias "tag" ; linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; @@ -260,40 +283,6 @@ linkml:range "uriorcurie" ; linkml:required true ; linkml:slot_uri "https://w3id.org/linkml/tag" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:unit ; - linkml:definition_uri "https://w3id.org/linkml/unit" ; - linkml:description "an encoding of a unit" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:inlined true ; - linkml:name "unit" ; - linkml:range "UnitOfMeasure" ; - linkml:slot_uri "http://qudt.org/schema/qudt/unit" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/extensions" ; - linkml:description "a tag/text tuple attached to an arbitrary element" ; - linkml:domain "Extensible" ; - linkml:domain_of "Extensible", - "Extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; - linkml:inlined true ; - linkml:multivalued true ; - linkml:name "extensions" ; - linkml:owner "Extensible" ; - linkml:range "Extension" ; - linkml:slot_uri "https://w3id.org/linkml/extensions" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:closeMatch ; - linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have close meaning." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "close_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:exactMatch ; linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; @@ -308,81 +297,102 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:narrowMatch ; - linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have narrower meaning." ; + skos:mappingRelation qudt:iec61360Code ; + linkml:definition_uri "https://w3id.org/linkml/iec61360code" ; + linkml:domain_of "UnitOfMeasure" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:name "iec61360code" ; + linkml:owner "UnitOfMeasure" ; + linkml:range "string" ; + linkml:slot_uri "http://qudt.org/schema/qudt/iec61360Code" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation skos:closeMatch ; + linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have close meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "narrow_mappings" ; + linkml:name "close_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; - linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + skos:mappingRelation skos:relatedMatch ; + linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; - linkml:name "deprecated_element_has_exact_replacement" ; + linkml:is_a "mappings" ; + linkml:multivalued true ; + linkml:name "related_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ] ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ] ; linkml:source_file "units.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2178 ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; + linkml:name "nodeidentifier" ; linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; + linkml:name "objectidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#iri" ], + [ a linkml:TypeDefinition ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date" ; linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; linkml:base "URI" ; linkml:definition_uri "https://w3id.org/linkml/Uri" ; @@ -393,14 +403,15 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Float" ; @@ -410,59 +421,48 @@ linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + linkml:name "string" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], - [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ] . + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ] . diff --git a/linkml_runtime/linkml_model/rdf/units.ttl b/linkml_runtime/linkml_model/rdf/units.ttl index 60e0bd76..c51cda54 100644 --- a/linkml_runtime/linkml_model/rdf/units.ttl +++ b/linkml_runtime/linkml_model/rdf/units.ttl @@ -7,27 +7,6 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Extension" ; - linkml:definition_uri "https://w3id.org/linkml/Extension" ; - linkml:description "a tag/value pair used to add non-model information to an entry" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; - linkml:name "Extension" ; - linkml:slot_usage [ ] ; - linkml:slots "extension_tag", - "extension_value", - "extensions" ], - [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Annotatable" ; - linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; - linkml:description "mixin for classes that support annotations" ; - linkml:from_schema "https://w3id.org/linkml/annotations" ; - linkml:imported_from "linkml:annotations" ; - linkml:mixin true ; - linkml:name "Annotatable" ; - linkml:slot_usage [ ] ; - linkml:slots "annotations" ], - [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/linkml/Annotation" ; linkml:definition_uri "https://w3id.org/linkml/Annotation" ; linkml:description "a tag/value pair with the semantics of OWL Annotation" ; @@ -41,21 +20,11 @@ "extension_tag", "extension_value", "extensions" ], - [ a linkml:ClassDefinition ; - linkml:class_uri "https://w3id.org/linkml/Extensible" ; - linkml:definition_uri "https://w3id.org/linkml/Extensible" ; - linkml:description "mixin for classes that support extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; - linkml:mixin true ; - linkml:name "Extensible" ; - linkml:slot_usage [ ] ; - linkml:slots "extensions" ], [ a linkml:ClassDefinition ; skos:mappingRelation qudt:Unit ; linkml:any_of [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "iec61360code" ; + linkml:name "exact_mappings" ; linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; @@ -63,11 +32,11 @@ linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "ucum_code" ; + linkml:name "iec61360code" ; linkml:required true ] ], [ a linkml:AnonymousClassExpression ; linkml:slot_conditions [ a linkml:SlotDefinition ; - linkml:name "exact_mappings" ; + linkml:name "ucum_code" ; linkml:required true ] ] ; linkml:class_uri "http://qudt.org/schema/qudt/Unit" ; linkml:definition_uri "https://w3id.org/linkml/UnitOfMeasure" ; @@ -80,7 +49,38 @@ "has_quantity_kind", "iec61360code", "symbol", - "ucum_code" ] ; + "ucum_code" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Extensible" ; + linkml:definition_uri "https://w3id.org/linkml/Extensible" ; + linkml:description "mixin for classes that support extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; + linkml:mixin true ; + linkml:name "Extensible" ; + linkml:slot_usage [ ] ; + linkml:slots "extensions" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Annotatable" ; + linkml:definition_uri "https://w3id.org/linkml/Annotatable" ; + linkml:description "mixin for classes that support annotations" ; + linkml:from_schema "https://w3id.org/linkml/annotations" ; + linkml:imported_from "linkml:annotations" ; + linkml:mixin true ; + linkml:name "Annotatable" ; + linkml:slot_usage [ ] ; + linkml:slots "annotations" ], + [ a linkml:ClassDefinition ; + linkml:class_uri "https://w3id.org/linkml/Extension" ; + linkml:definition_uri "https://w3id.org/linkml/Extension" ; + linkml:description "a tag/value pair used to add non-model information to an entry" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; + linkml:name "Extension" ; + linkml:slot_usage [ ] ; + linkml:slots "extension_tag", + "extension_value", + "extensions" ] ; linkml:default_prefix "linkml" ; linkml:default_range "string" ; linkml:description "Units datamodel" ; @@ -91,7 +91,7 @@ "rdfs", "skos", "xsd" ; - linkml:generation_date "2022-07-13T02:39:02" ; + linkml:generation_date "2022-07-14T00:56:49" ; linkml:id "https://w3id.org/linkml/units" ; linkml:imports "linkml:annotations", "linkml:extensions", @@ -100,11 +100,45 @@ linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; linkml:name "units" ; - linkml:prefixes [ linkml:prefix_prefix "linkml" ; - linkml:prefix_reference "https://w3id.org/linkml/" ], - [ linkml:prefix_prefix "qudt" ; - linkml:prefix_reference "http://qudt.org/schema/qudt/" ] ; + linkml:prefixes [ linkml:prefix_prefix "qudt" ; + linkml:prefix_reference "http://qudt.org/schema/qudt/" ], + [ linkml:prefix_prefix "linkml" ; + linkml:prefix_reference "https://w3id.org/linkml/" ] ; linkml:slots [ a linkml:SlotDefinition ; + linkml:alias "value" ; + linkml:definition_uri "https://w3id.org/linkml/extension_value" ; + linkml:description "the actual annotation" ; + linkml:domain "Extension" ; + linkml:domain_of "Extension" ; + linkml:from_schema "https://w3id.org/linkml/extensions" ; + linkml:imported_from "linkml:extensions" ; + linkml:name "extension_value" ; + linkml:owner "Extension" ; + linkml:range "string" ; + linkml:required true ; + linkml:slot_uri "https://w3id.org/linkml/value" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation qudt:ucumCode ; + linkml:definition_uri "https://w3id.org/linkml/ucum_code" ; + linkml:description "associates a QUDT unit with its UCUM code (case-sensitive)." ; + linkml:domain "UnitOfMeasure" ; + linkml:domain_of "UnitOfMeasure" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:name "ucum_code" ; + linkml:owner "UnitOfMeasure" ; + linkml:range "string" ; + linkml:recommended true ; + linkml:slot_uri "http://qudt.org/schema/qudt/ucumCode" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/derivation" ; + linkml:description "Expression for deriving this unit from other units" ; + linkml:domain_of "UnitOfMeasure" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:name "derivation" ; + linkml:owner "UnitOfMeasure" ; + linkml:range "string" ; + linkml:slot_uri "https://w3id.org/linkml/derivation" ], + [ a linkml:SlotDefinition ; skos:mappingRelation qudt:hasQuantityKind ; linkml:comments "Potential ontologies include but are not limited to PATO, NCIT, OBOE, qudt.quantityKind" ; linkml:definition_uri "https://w3id.org/linkml/has_quantity_kind" ; @@ -115,19 +149,6 @@ linkml:owner "UnitOfMeasure" ; linkml:range "uriorcurie" ; linkml:slot_uri "http://qudt.org/schema/qudt/hasQuantityKind" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:exactMatch ; - linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have identical meaning." ; - linkml:domain_of "UnitOfMeasure" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "exact_mappings" ; - linkml:owner "UnitOfMeasure" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/extensions" ; linkml:description "a tag/text tuple attached to an arbitrary element" ; @@ -143,47 +164,46 @@ linkml:range "Extension" ; linkml:slot_uri "https://w3id.org/linkml/extensions" ], [ a linkml:SlotDefinition ; - linkml:alias "value" ; - linkml:definition_uri "https://w3id.org/linkml/extension_value" ; - linkml:description "the actual annotation" ; + linkml:alias "tag" ; + linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; + linkml:description "a tag associated with an extension" ; linkml:domain "Extension" ; linkml:domain_of "Extension" ; linkml:from_schema "https://w3id.org/linkml/extensions" ; linkml:imported_from "linkml:extensions" ; - linkml:name "extension_value" ; + linkml:key true ; + linkml:name "extension_tag" ; linkml:owner "Extension" ; - linkml:range "string" ; - linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/value" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation skos:closeMatch ; - linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have close meaning." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "close_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:unit ; - linkml:definition_uri "https://w3id.org/linkml/unit" ; - linkml:description "an encoding of a unit" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:inlined true ; - linkml:name "unit" ; - linkml:range "UnitOfMeasure" ; - linkml:slot_uri "http://qudt.org/schema/qudt/unit" ], + linkml:required true ; + linkml:slot_uri "https://w3id.org/linkml/tag" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/derivation" ; - linkml:description "Expression for deriving this unit from other units" ; + skos:mappingRelation qudt:iec61360Code ; + linkml:definition_uri "https://w3id.org/linkml/iec61360code" ; linkml:domain_of "UnitOfMeasure" ; linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "derivation" ; + linkml:name "iec61360code" ; linkml:owner "UnitOfMeasure" ; linkml:range "string" ; - linkml:slot_uri "https://w3id.org/linkml/derivation" ], + linkml:slot_uri "http://qudt.org/schema/qudt/iec61360Code" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation skos:exactMatch ; + linkml:alias "exact mappings" ; + linkml:comments "Do not use this to encode mappings to systems for which a dedicated field exists" ; + linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; + linkml:description "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; + linkml:domain "UnitOfMeasure" ; + linkml:domain_of "UnitOfMeasure" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:is_a "exact_mappings" ; + linkml:is_usage_slot true ; + linkml:multivalued true ; + linkml:name "UnitOfMeasure_exact_mappings" ; + linkml:owner "UnitOfMeasure" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ; + linkml:usage_slot_name "exact mappings" ], [ a linkml:SlotDefinition ; skos:mappingRelation qudt:symbol ; linkml:definition_uri "https://w3id.org/linkml/symbol" ; @@ -195,39 +215,28 @@ linkml:range "string" ; linkml:slot_uri "http://qudt.org/schema/qudt/symbol" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:broadMatch ; - linkml:definition_uri "https://w3id.org/linkml/broad_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have broader meaning." ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; - linkml:multivalued true ; - linkml:name "broad_mappings" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#broadMatch" ], + skos:mappingRelation qudt:unit ; + linkml:definition_uri "https://w3id.org/linkml/unit" ; + linkml:description "an encoding of a unit" ; + linkml:from_schema "https://w3id.org/linkml/units" ; + linkml:inlined true ; + linkml:name "unit" ; + linkml:range "UnitOfMeasure" ; + linkml:slot_uri "http://qudt.org/schema/qudt/unit" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:relatedMatch ; - linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; - linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; + skos:mappingRelation skos:mappingRelation ; + linkml:aliases "alternate identifiers", + "alternate ids", + "identifiers", + "xrefs" ; + linkml:definition_uri "https://w3id.org/linkml/mappings" ; + linkml: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." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; - linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "related_mappings" ; + linkml:name "mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:ucumCode ; - linkml:definition_uri "https://w3id.org/linkml/ucum_code" ; - linkml:description "associates a QUDT unit with its UCUM code (case-sensitive)." ; - linkml:domain "UnitOfMeasure" ; - linkml:domain_of "UnitOfMeasure" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "ucum_code" ; - linkml:owner "UnitOfMeasure" ; - linkml:range "string" ; - linkml:recommended true ; - linkml:slot_uri "http://qudt.org/schema/qudt/ucumCode" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:narrowMatch ; linkml:definition_uri "https://w3id.org/linkml/narrow_mappings" ; @@ -240,69 +249,69 @@ linkml:range "uriorcurie" ; linkml:slot_uri "http://www.w3.org/2004/02/skos/core#narrowMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; - linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + skos:mappingRelation skos:closeMatch ; + linkml:definition_uri "https://w3id.org/linkml/close_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have close meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; - linkml:name "deprecated_element_has_exact_replacement" ; + linkml:is_a "mappings" ; + linkml:multivalued true ; + linkml:name "close_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#closeMatch" ], [ a linkml:SlotDefinition ; skos:mappingRelation skos:exactMatch ; - linkml:alias "exact mappings" ; - linkml:comments "Do not use this to encode mappings to systems for which a dedicated field exists" ; linkml:definition_uri "https://w3id.org/linkml/exact_mappings" ; - linkml:description "Used to link a unit to equivalent concepts in ontologies such as UO, SNOMED, OEM, OBOE, NCIT" ; - linkml:domain "UnitOfMeasure" ; + linkml:description "A list of terms from different schemas or terminology systems that have identical meaning." ; linkml:domain_of "UnitOfMeasure" ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; - linkml:is_a "exact_mappings" ; - linkml:is_usage_slot true ; + linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "UnitOfMeasure_exact_mappings" ; + linkml:name "exact_mappings" ; linkml:owner "UnitOfMeasure" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ; - linkml:usage_slot_name "exact mappings" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#exactMatch" ], [ a linkml:SlotDefinition ; - linkml:alias "tag" ; - linkml:definition_uri "https://w3id.org/linkml/extension_tag" ; - linkml:description "a tag associated with an extension" ; - linkml:domain "Extension" ; - linkml:domain_of "Extension" ; - linkml:from_schema "https://w3id.org/linkml/extensions" ; - linkml:imported_from "linkml:extensions" ; - linkml:key true ; - linkml:name "extension_tag" ; - linkml:owner "Extension" ; + skos:mappingRelation skos:broadMatch ; + linkml:definition_uri "https://w3id.org/linkml/broad_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have broader meaning." ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:is_a "mappings" ; + linkml:multivalued true ; + linkml:name "broad_mappings" ; linkml:range "uriorcurie" ; - linkml:required true ; - linkml:slot_uri "https://w3id.org/linkml/tag" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#broadMatch" ], [ a linkml:SlotDefinition ; - skos:mappingRelation qudt:iec61360Code ; - linkml:definition_uri "https://w3id.org/linkml/iec61360code" ; - linkml:domain_of "UnitOfMeasure" ; - linkml:from_schema "https://w3id.org/linkml/units" ; - linkml:name "iec61360code" ; - linkml:owner "UnitOfMeasure" ; - linkml:range "string" ; - linkml:slot_uri "http://qudt.org/schema/qudt/iec61360Code" ], + skos:mappingRelation OIO:consider ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; + linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:name "deprecated_element_has_possible_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ], [ a linkml:SlotDefinition ; - skos:mappingRelation skos:mappingRelation ; - linkml:aliases "alternate identifiers", - "alternate ids", - "identifiers", - "xrefs" ; - linkml:definition_uri "https://w3id.org/linkml/mappings" ; - linkml: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." ; + skos:mappingRelation skos:relatedMatch ; + linkml:definition_uri "https://w3id.org/linkml/related_mappings" ; + linkml:description "A list of terms from different schemas or terminology systems that have related meaning." ; linkml:from_schema "https://w3id.org/linkml/mappings" ; linkml:imported_from "linkml:mappings" ; + linkml:is_a "mappings" ; linkml:multivalued true ; - linkml:name "mappings" ; + linkml:name "related_mappings" ; linkml:range "uriorcurie" ; - linkml:slot_uri "http://www.w3.org/2004/02/skos/core#mappingRelation" ], + linkml:slot_uri "http://www.w3.org/2004/02/skos/core#relatedMatch" ], + [ a linkml:SlotDefinition ; + skos:mappingRelation ; + linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ; + linkml:description "When an element is deprecated, it can be automatically replaced by this uri or curie" ; + linkml:from_schema "https://w3id.org/linkml/mappings" ; + linkml:imported_from "linkml:mappings" ; + linkml:name "deprecated_element_has_exact_replacement" ; + linkml:range "uriorcurie" ; + linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_exact_replacement" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/annotations" ; linkml:description "a collection of tag/text tuples with the semantics of OWL Annotation" ; @@ -317,27 +326,18 @@ linkml:name "annotations" ; linkml:owner "Annotation" ; linkml:range "Annotation" ; - linkml:slot_uri "https://w3id.org/linkml/annotations" ], - [ a linkml:SlotDefinition ; - skos:mappingRelation OIO:consider ; - linkml:definition_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ; - linkml:description "When an element is deprecated, it can be potentially replaced by this uri or curie" ; - linkml:from_schema "https://w3id.org/linkml/mappings" ; - linkml:imported_from "linkml:mappings" ; - linkml:name "deprecated_element_has_possible_replacement" ; - linkml:range "uriorcurie" ; - linkml:slot_uri "https://w3id.org/linkml/deprecated_element_has_possible_replacement" ] ; + linkml:slot_uri "https://w3id.org/linkml/annotations" ] ; linkml:source_file "units.yaml" ; - linkml:source_file_date "2022-07-13T02:37:17" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2178 ; linkml:types [ a linkml:TypeDefinition ; linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; linkml:base "int" ; linkml:definition_uri "https://w3id.org/linkml/Integer" ; @@ -347,41 +347,23 @@ linkml:name "integer" ; linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], - [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "XSDTime" ; - linkml:definition_uri "https://w3id.org/linkml/Time" ; - linkml:description "A time object represents a (local) time of day, independent of any particular day" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "time" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:name "date_or_datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], - [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; linkml:base "XSDDateTime" ; linkml:definition_uri "https://w3id.org/linkml/Datetime" ; @@ -391,6 +373,14 @@ linkml:name "datetime" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; linkml:base "URIorCURIE" ; linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; @@ -400,6 +390,24 @@ linkml:name "uriorcurie" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + [ a linkml:TypeDefinition ; + linkml:base "NodeIdentifier" ; + linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; + linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "nodeidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + [ a linkml:TypeDefinition ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "uri" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; linkml:base "ElementIdentifier" ; linkml:comments "Used for inheritence and type checking" ; @@ -411,21 +419,12 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], - [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; - linkml:repr "str" ; + linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; linkml:base "XSDDate" ; @@ -438,31 +437,32 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "NodeIdentifier" ; - linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; - linkml:description "A URI, CURIE or BNODE that represents a node in a model." ; + linkml:base "XSDTime" ; + linkml:definition_uri "https://w3id.org/linkml/Time" ; + linkml:description "A time object represents a (local) time of day, independent of any particular day" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "nodeidentifier" ; + linkml:name "time" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ] . + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ] . diff --git a/linkml_runtime/linkml_model/rdf/validation.model.ttl b/linkml_runtime/linkml_model/rdf/validation.model.ttl index eaf38fba..47971c51 100644 --- a/linkml_runtime/linkml_model/rdf/validation.model.ttl +++ b/linkml_runtime/linkml_model/rdf/validation.model.ttl @@ -43,7 +43,22 @@ "rdf", "rdfs", "xsd" ; - linkml:enums [ linkml:definition_uri "https://w3id.org/linkml/reportSeverityOptions" ; + linkml:enums [ linkml:definition_uri "https://w3id.org/linkml/reportProblemType" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:name "problem_type" ; + linkml:permissible_values [ linkml:description "Applies when the value of a slot is inconsistent with the declared range" ; + linkml:text "slot_range_violation" ], + [ linkml:description "The data could not be parsed" ; + linkml:text "parsing_error" ], + [ linkml:description "Applies when a slot is used in data but the slot is undeclared in the datamodel" ; + linkml:text "undeclared_slot" ], + [ linkml:description "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" ; + linkml:text "inapplicable_slot" ], + [ linkml:meaning "sh:MaxCountConstraintComponent" ; + linkml:text "max_count_violation" ], + [ linkml:description "Applies when an instance of a class has a required slot which is not filled in" ; + linkml:text "missing_slot_value" ] ], + [ linkml:definition_uri "https://w3id.org/linkml/reportSeverityOptions" ; linkml:exact_mappings "sh:Severity" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; linkml:name "severity_options" ; @@ -53,41 +68,44 @@ linkml:text "WARNING" ], [ linkml:meaning "sh:Info" ; linkml:text "INFO" ], - [ linkml:text "FATAL" ] ], - [ linkml:definition_uri "https://w3id.org/linkml/reportProblemType" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "problem_type" ; - linkml:permissible_values [ linkml:description "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" ; - linkml:text "inapplicable_slot" ], - [ linkml:description "Applies when a slot is used in data but the slot is undeclared in the datamodel" ; - linkml:text "undeclared_slot" ], - [ linkml:description "Applies when the value of a slot is inconsistent with the declared range" ; - linkml:text "slot_range_violation" ], - [ linkml:meaning "sh:MaxCountConstraintComponent" ; - linkml:text "max_count_violation" ], - [ linkml:description "Applies when an instance of a class has a required slot which is not filled in" ; - linkml:text "missing_slot_value" ], - [ linkml:description "The data could not be parsed" ; - linkml:text "parsing_error" ] ] ; - linkml:generation_date "2022-07-13T02:09:46" ; + [ linkml:text "FATAL" ] ] ; + linkml:generation_date "2022-07-14T00:57:11" ; linkml:id "https://w3id.org/linkml/reporting" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; linkml:name "reporting" ; - linkml:prefixes [ linkml:prefix_prefix "linkml" ; + linkml:prefixes [ linkml:prefix_prefix "schema" ; + linkml:prefix_reference "http://schema.org/" ], + [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ], - [ linkml:prefix_prefix "skos" ; - linkml:prefix_reference "http://www.w3.org/2004/02/skos/core#" ], - [ linkml:prefix_prefix "pav" ; - linkml:prefix_reference "http://purl.org/pav/" ], [ linkml:prefix_prefix "reporting" ; linkml:prefix_reference "https://w3id.org/linkml/report" ], + [ linkml:prefix_prefix "skos" ; + linkml:prefix_reference "http://www.w3.org/2004/02/skos/core#" ], [ linkml:prefix_prefix "sh" ; linkml:prefix_reference "https://w3id.org/shacl/" ], - [ linkml:prefix_prefix "schema" ; - linkml:prefix_reference "http://schema.org/" ] ; + [ linkml:prefix_prefix "pav" ; + linkml:prefix_reference "http://purl.org/pav/" ] ; linkml:slots [ a linkml:SlotDefinition ; + linkml:alias "results" ; + linkml:domain_of "ValidationReport" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:inlined true ; + linkml:multivalued true ; + linkml:name "validationReport__results" ; + linkml:owner "ValidationReport" ; + linkml:range "ValidationResult" ; + linkml:slot_uri "https://w3id.org/linkml/reportresults" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/reportnode_source" ; + linkml:domain_of "ValidationResult" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:name "node_source" ; + linkml:owner "ValidationResult" ; + linkml:range "nodeidentifier" ; + linkml:slot_uri "https://w3id.org/linkml/reportnode_source" ], + [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportobject_str" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; @@ -96,41 +114,31 @@ linkml:range "string" ; linkml:slot_uri "https://w3id.org/linkml/reportobject_str" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportsubject" ; + linkml:definition_uri "https://w3id.org/linkml/reportobject" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:mappings "https://w3id.org/shacl/focusNode" ; - linkml:name "subject" ; + linkml:mappings "https://w3id.org/shacl/value" ; + linkml:name "object" ; linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/focusNode" ], + linkml:slot_uri "https://w3id.org/shacl/value" ], [ a linkml:SlotDefinition ; - linkml:alias "results" ; - linkml:domain_of "ValidationReport" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:inlined true ; - linkml:multivalued true ; - linkml:name "validationReport__results" ; - linkml:owner "ValidationReport" ; - linkml:range "ValidationResult" ; - linkml:slot_uri "https://w3id.org/linkml/reportresults" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportpredicate" ; + linkml:definition_uri "https://w3id.org/linkml/reportseverity" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "predicate" ; + linkml:name "severity" ; linkml:owner "ValidationResult" ; - linkml:range "nodeidentifier" ; - linkml:related_mappings "https://w3id.org/shacl/resultPath" ; - linkml:slot_uri "https://w3id.org/linkml/reportpredicate" ], + linkml:range "severity_options" ; + linkml:slot_uri "https://w3id.org/linkml/reportseverity" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportnode_source" ; + linkml:definition_uri "https://w3id.org/linkml/reportsubject" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "node_source" ; + linkml:mappings "https://w3id.org/shacl/focusNode" ; + linkml:name "subject" ; linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/linkml/reportnode_source" ], + linkml:slot_uri "https://w3id.org/shacl/focusNode" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportinstantiates" ; linkml:domain_of "ValidationResult" ; @@ -140,6 +148,15 @@ linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; linkml:slot_uri "https://w3id.org/linkml/reportinstantiates" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/reportpredicate" ; + linkml:domain_of "ValidationResult" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:name "predicate" ; + linkml:owner "ValidationResult" ; + linkml:range "nodeidentifier" ; + linkml:related_mappings "https://w3id.org/shacl/resultPath" ; + linkml:slot_uri "https://w3id.org/linkml/reportpredicate" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportinfo" ; linkml:domain_of "ValidationResult" ; @@ -156,55 +173,38 @@ linkml:name "type" ; linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/sourceConstraintComponent" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportseverity" ; - linkml:domain_of "ValidationResult" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "severity" ; - linkml:owner "ValidationResult" ; - linkml:range "severity_options" ; - linkml:slot_uri "https://w3id.org/linkml/reportseverity" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportobject" ; - linkml:domain_of "ValidationResult" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:mappings "https://w3id.org/shacl/value" ; - linkml:name "object" ; - linkml:owner "ValidationResult" ; - linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/value" ] ; + linkml:slot_uri "https://w3id.org/shacl/sourceConstraintComponent" ] ; linkml:source_file "validation.yaml" ; - linkml:source_file_date "2022-07-13T02:07:02" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2953 ; linkml:title "LinkML Report Metamodel" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], [ a linkml:TypeDefinition ; linkml:base "str" ; linkml:definition_uri "https://w3id.org/linkml/String" ; @@ -213,6 +213,15 @@ linkml:imported_from "linkml:types" ; linkml:name "string" ; linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + [ a linkml:TypeDefinition ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Double" ; @@ -222,38 +231,32 @@ linkml:name "double" ; linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Float" ; - linkml:description "A real number that conforms to the xsd:float specification" ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "float" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], - [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:name "datetime" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; linkml:base "NodeIdentifier" ; linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; @@ -263,16 +266,6 @@ linkml:name "nodeidentifier" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], - [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; linkml:base "XSDTime" ; linkml:definition_uri "https://w3id.org/linkml/Time" ; @@ -284,24 +277,21 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Float" ; + linkml:description "A real number that conforms to the xsd:float specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], + linkml:name "float" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], [ a linkml:TypeDefinition ; linkml:base "URI" ; linkml:definition_uri "https://w3id.org/linkml/Uri" ; @@ -310,7 +300,17 @@ linkml:imported_from "linkml:types" ; linkml:name "uri" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ] . + linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], + [ a linkml:TypeDefinition ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "objectidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#iri" ] . diff --git a/linkml_runtime/linkml_model/rdf/validation.ttl b/linkml_runtime/linkml_model/rdf/validation.ttl index c9149dfd..30161ae7 100644 --- a/linkml_runtime/linkml_model/rdf/validation.ttl +++ b/linkml_runtime/linkml_model/rdf/validation.ttl @@ -4,20 +4,6 @@ [] a linkml:SchemaDefinition ; linkml:classes [ a linkml:ClassDefinition ; - linkml:attributes [ a linkml:SlotDefinition ; - linkml:multivalued true ; - linkml:name "results" ; - linkml:range "ValidationResult" ] ; - linkml:class_uri "https://w3id.org/shacl/ValidationReport" ; - linkml:definition_uri "https://w3id.org/linkml/reportValidationReport" ; - linkml:description "A report object" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:mappings "sh:ValidationReport" ; - linkml:name "ValidationReport" ; - linkml:slot_usage [ ] ; - linkml:slots "validationReport__results" ; - linkml:todos "add prov object" ], - [ a linkml:ClassDefinition ; linkml:class_uri "https://w3id.org/shacl/ValidationResult" ; linkml:definition_uri "https://w3id.org/linkml/reportValidationResult" ; linkml:description "An individual result arising from validation of a data instance using a particular rule" ; @@ -33,7 +19,21 @@ "predicate", "severity", "subject", - "type" ] ; + "type" ], + [ a linkml:ClassDefinition ; + linkml:attributes [ a linkml:SlotDefinition ; + linkml:multivalued true ; + linkml:name "results" ; + linkml:range "ValidationResult" ] ; + linkml:class_uri "https://w3id.org/shacl/ValidationReport" ; + linkml:definition_uri "https://w3id.org/linkml/reportValidationReport" ; + linkml:description "A report object" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:mappings "sh:ValidationReport" ; + linkml:name "ValidationReport" ; + linkml:slot_usage [ ] ; + linkml:slots "validationReport__results" ; + linkml:todos "add prov object" ] ; linkml:default_curi_maps "semweb_context" ; linkml:default_prefix "reporting" ; linkml:default_range "string" ; @@ -43,59 +43,78 @@ "rdf", "rdfs", "xsd" ; - linkml:enums [ linkml:definition_uri "https://w3id.org/linkml/reportSeverityOptions" ; - linkml:exact_mappings "sh:Severity" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "severity_options" ; - linkml:permissible_values [ linkml:meaning "sh:Warning" ; - linkml:text "WARNING" ], - [ linkml:meaning "sh:Violation" ; - linkml:text "ERROR" ], - [ linkml:text "FATAL" ], - [ linkml:meaning "sh:Info" ; - linkml:text "INFO" ] ], - [ linkml:definition_uri "https://w3id.org/linkml/reportProblemType" ; + linkml:enums [ linkml:definition_uri "https://w3id.org/linkml/reportProblemType" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; linkml:name "problem_type" ; - linkml:permissible_values [ linkml:description "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" ; - linkml:text "inapplicable_slot" ], - [ linkml:meaning "sh:MaxCountConstraintComponent" ; - linkml:text "max_count_violation" ], + linkml:permissible_values [ linkml:description "The data could not be parsed" ; + linkml:text "parsing_error" ], [ linkml:description "Applies when an instance of a class has a required slot which is not filled in" ; linkml:text "missing_slot_value" ], + [ linkml:meaning "sh:MaxCountConstraintComponent" ; + linkml:text "max_count_violation" ], [ linkml:description "Applies when a slot is used in data but the slot is undeclared in the datamodel" ; linkml:text "undeclared_slot" ], [ linkml:description "Applies when the value of a slot is inconsistent with the declared range" ; linkml:text "slot_range_violation" ], - [ linkml:description "The data could not be parsed" ; - linkml:text "parsing_error" ] ] ; - linkml:generation_date "2022-07-13T02:09:25" ; + [ linkml:description "Applies when a slot is used in an instance of a class where the slot is not applicable for that class" ; + linkml:text "inapplicable_slot" ] ], + [ linkml:definition_uri "https://w3id.org/linkml/reportSeverityOptions" ; + linkml:exact_mappings "sh:Severity" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:name "severity_options" ; + linkml:permissible_values [ linkml:meaning "sh:Violation" ; + linkml:text "ERROR" ], + [ linkml:text "FATAL" ], + [ linkml:meaning "sh:Info" ; + linkml:text "INFO" ], + [ linkml:meaning "sh:Warning" ; + linkml:text "WARNING" ] ] ; + linkml:generation_date "2022-07-14T00:56:57" ; linkml:id "https://w3id.org/linkml/reporting" ; linkml:imports "linkml:types" ; linkml:license "https://creativecommons.org/publicdomain/zero/1.0/" ; linkml:metamodel_version "1.7.0" ; linkml:name "reporting" ; - linkml:prefixes [ linkml:prefix_prefix "pav" ; - linkml:prefix_reference "http://purl.org/pav/" ], + linkml:prefixes [ linkml:prefix_prefix "sh" ; + linkml:prefix_reference "https://w3id.org/shacl/" ], [ linkml:prefix_prefix "skos" ; linkml:prefix_reference "http://www.w3.org/2004/02/skos/core#" ], - [ linkml:prefix_prefix "sh" ; - linkml:prefix_reference "https://w3id.org/shacl/" ], [ linkml:prefix_prefix "schema" ; linkml:prefix_reference "http://schema.org/" ], + [ linkml:prefix_prefix "pav" ; + linkml:prefix_reference "http://purl.org/pav/" ], [ linkml:prefix_prefix "linkml" ; linkml:prefix_reference "https://w3id.org/linkml/" ], [ linkml:prefix_prefix "reporting" ; linkml:prefix_reference "https://w3id.org/linkml/report" ] ; linkml:slots [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportinstantiates" ; + linkml:alias "results" ; + linkml:domain_of "ValidationReport" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:inlined true ; + linkml:multivalued true ; + linkml:name "validationReport__results" ; + linkml:owner "ValidationReport" ; + linkml:range "ValidationResult" ; + linkml:slot_uri "https://w3id.org/linkml/reportresults" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/reportsubject" ; linkml:domain_of "ValidationResult" ; - linkml:exact_mappings "https://w3id.org/shacl/sourceShape" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "instantiates" ; + linkml:mappings "https://w3id.org/shacl/focusNode" ; + linkml:name "subject" ; linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/linkml/reportinstantiates" ], + linkml:slot_uri "https://w3id.org/shacl/focusNode" ], + [ a linkml:SlotDefinition ; + linkml:definition_uri "https://w3id.org/linkml/reporttype" ; + linkml:domain_of "ValidationResult" ; + linkml:from_schema "https://w3id.org/linkml/reporting" ; + linkml:mappings "https://w3id.org/shacl/sourceConstraintComponent" ; + linkml:name "type" ; + linkml:owner "ValidationResult" ; + linkml:range "nodeidentifier" ; + linkml:slot_uri "https://w3id.org/shacl/sourceConstraintComponent" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportinfo" ; linkml:domain_of "ValidationResult" ; @@ -105,31 +124,30 @@ linkml:range "string" ; linkml:slot_uri "https://w3id.org/linkml/reportinfo" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportseverity" ; + linkml:definition_uri "https://w3id.org/linkml/reportnode_source" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "severity" ; + linkml:name "node_source" ; linkml:owner "ValidationResult" ; - linkml:range "severity_options" ; - linkml:slot_uri "https://w3id.org/linkml/reportseverity" ], + linkml:range "nodeidentifier" ; + linkml:slot_uri "https://w3id.org/linkml/reportnode_source" ], [ a linkml:SlotDefinition ; - linkml:alias "results" ; - linkml:domain_of "ValidationReport" ; + linkml:definition_uri "https://w3id.org/linkml/reportinstantiates" ; + linkml:domain_of "ValidationResult" ; + linkml:exact_mappings "https://w3id.org/shacl/sourceShape" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:inlined true ; - linkml:multivalued true ; - linkml:name "validationReport__results" ; - linkml:owner "ValidationReport" ; - linkml:range "ValidationResult" ; - linkml:slot_uri "https://w3id.org/linkml/reportresults" ], + linkml:name "instantiates" ; + linkml:owner "ValidationResult" ; + linkml:range "nodeidentifier" ; + linkml:slot_uri "https://w3id.org/linkml/reportinstantiates" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportobject_str" ; + linkml:definition_uri "https://w3id.org/linkml/reportseverity" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "object_str" ; + linkml:name "severity" ; linkml:owner "ValidationResult" ; - linkml:range "string" ; - linkml:slot_uri "https://w3id.org/linkml/reportobject_str" ], + linkml:range "severity_options" ; + linkml:slot_uri "https://w3id.org/linkml/reportseverity" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportpredicate" ; linkml:domain_of "ValidationResult" ; @@ -140,22 +158,13 @@ linkml:related_mappings "https://w3id.org/shacl/resultPath" ; linkml:slot_uri "https://w3id.org/linkml/reportpredicate" ], [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportsubject" ; - linkml:domain_of "ValidationResult" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:mappings "https://w3id.org/shacl/focusNode" ; - linkml:name "subject" ; - linkml:owner "ValidationResult" ; - linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/focusNode" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reportnode_source" ; + linkml:definition_uri "https://w3id.org/linkml/reportobject_str" ; linkml:domain_of "ValidationResult" ; linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:name "node_source" ; + linkml:name "object_str" ; linkml:owner "ValidationResult" ; - linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/linkml/reportnode_source" ], + linkml:range "string" ; + linkml:slot_uri "https://w3id.org/linkml/reportobject_str" ], [ a linkml:SlotDefinition ; linkml:definition_uri "https://w3id.org/linkml/reportobject" ; linkml:domain_of "ValidationResult" ; @@ -164,71 +173,66 @@ linkml:name "object" ; linkml:owner "ValidationResult" ; linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/value" ], - [ a linkml:SlotDefinition ; - linkml:definition_uri "https://w3id.org/linkml/reporttype" ; - linkml:domain_of "ValidationResult" ; - linkml:from_schema "https://w3id.org/linkml/reporting" ; - linkml:mappings "https://w3id.org/shacl/sourceConstraintComponent" ; - linkml:name "type" ; - linkml:owner "ValidationResult" ; - linkml:range "nodeidentifier" ; - linkml:slot_uri "https://w3id.org/shacl/sourceConstraintComponent" ] ; + linkml:slot_uri "https://w3id.org/shacl/value" ] ; linkml:source_file "validation.yaml" ; - linkml:source_file_date "2022-07-13T02:07:02" ; + linkml:source_file_date "2022-07-14T00:55:10" ; linkml:source_file_size 2953 ; linkml:title "LinkML Report Metamodel" ; linkml:types [ a linkml:TypeDefinition ; - linkml:base "URI" ; - linkml:definition_uri "https://w3id.org/linkml/Uri" ; - linkml:description "a complete URI" ; + linkml:base "URIorCURIE" ; + linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; + linkml:description "a URI or a CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uri" ; + linkml:name "uriorcurie" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "Decimal" ; - linkml:definition_uri "https://w3id.org/linkml/Decimal" ; - linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; + linkml:base "int" ; + linkml:definition_uri "https://w3id.org/linkml/Integer" ; + linkml:description "An integer" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "decimal" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ], + linkml:name "integer" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/String" ; - linkml:description "A character string" ; + linkml:base "XSDDate" ; + linkml:definition_uri "https://w3id.org/linkml/Date" ; + linkml:description "a date (year, month and day) in an idealized calendar" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "string" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:name "date" ; + linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDateTime" ; - linkml:definition_uri "https://w3id.org/linkml/Datetime" ; - linkml:description "The combination of a date and time" ; + linkml:base "NCName" ; + linkml:definition_uri "https://w3id.org/linkml/Ncname" ; + linkml:description "Prefix part of CURIE" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "datetime" ; + linkml:name "ncname" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], [ a linkml:TypeDefinition ; - linkml:base "int" ; - linkml:definition_uri "https://w3id.org/linkml/Integer" ; - linkml:description "An integer" ; + linkml:base "ElementIdentifier" ; + linkml:comments "Used for inheritence and type checking" ; + linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; + linkml:description "A URI or CURIE that represents an object in the model." ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "integer" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#integer" ], + linkml:name "objectidentifier" ; + linkml:repr "str" ; + linkml:uri "http://www.w3.org/ns/shex#iri" ], [ a linkml:TypeDefinition ; - linkml:base "Bool" ; - linkml:definition_uri "https://w3id.org/linkml/Boolean" ; - linkml:description "A binary (true or false) value" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; + linkml:description "Either a date or a datetime" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "boolean" ; - linkml:repr "bool" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], + linkml:name "date_or_datetime" ; + linkml:repr "str" ; + linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; linkml:base "XSDTime" ; linkml:definition_uri "https://w3id.org/linkml/Time" ; @@ -240,15 +244,21 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "XSDDate" ; - linkml:definition_uri "https://w3id.org/linkml/Date" ; - linkml:description "a date (year, month and day) in an idealized calendar" ; + linkml:base "str" ; + linkml:definition_uri "https://w3id.org/linkml/String" ; + linkml:description "A character string" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "date" ; - linkml:notes "URI is dateTime because OWL reasoners don't work with straight date or time" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#date" ], + linkml:name "string" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + [ a linkml:TypeDefinition ; + linkml:base "float" ; + linkml:definition_uri "https://w3id.org/linkml/Double" ; + linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:from_schema "https://w3id.org/linkml/types" ; + linkml:imported_from "linkml:types" ; + linkml:name "double" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#double" ], [ a linkml:TypeDefinition ; linkml:base "float" ; linkml:definition_uri "https://w3id.org/linkml/Float" ; @@ -257,15 +267,6 @@ linkml:imported_from "linkml:types" ; linkml:name "float" ; linkml:uri "http://www.w3.org/2001/XMLSchema#float" ], - [ a linkml:TypeDefinition ; - linkml:base "str" ; - linkml:definition_uri "https://w3id.org/linkml/DateOrDatetime" ; - linkml:description "Either a date or a datetime" ; - linkml:from_schema "https://w3id.org/linkml/types" ; - linkml:imported_from "linkml:types" ; - linkml:name "date_or_datetime" ; - linkml:repr "str" ; - linkml:uri "https://w3id.org/linkml/DateOrDatetime" ], [ a linkml:TypeDefinition ; linkml:base "NodeIdentifier" ; linkml:definition_uri "https://w3id.org/linkml/Nodeidentifier" ; @@ -276,41 +277,40 @@ linkml:repr "str" ; linkml:uri "http://www.w3.org/ns/shex#nonLiteral" ], [ a linkml:TypeDefinition ; - linkml:base "NCName" ; - linkml:definition_uri "https://w3id.org/linkml/Ncname" ; - linkml:description "Prefix part of CURIE" ; + linkml:base "XSDDateTime" ; + linkml:definition_uri "https://w3id.org/linkml/Datetime" ; + linkml:description "The combination of a date and time" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "ncname" ; + linkml:name "datetime" ; linkml:repr "str" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#string" ], + linkml:uri "http://www.w3.org/2001/XMLSchema#dateTime" ], [ a linkml:TypeDefinition ; - linkml:base "ElementIdentifier" ; - linkml:comments "Used for inheritence and type checking" ; - linkml:definition_uri "https://w3id.org/linkml/Objectidentifier" ; - linkml:description "A URI or CURIE that represents an object in the model." ; + linkml:base "Bool" ; + linkml:definition_uri "https://w3id.org/linkml/Boolean" ; + linkml:description "A binary (true or false) value" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "objectidentifier" ; - linkml:repr "str" ; - linkml:uri "http://www.w3.org/ns/shex#iri" ], + linkml:name "boolean" ; + linkml:repr "bool" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#boolean" ], [ a linkml:TypeDefinition ; - linkml:base "URIorCURIE" ; - linkml:definition_uri "https://w3id.org/linkml/Uriorcurie" ; - linkml:description "a URI or a CURIE" ; + linkml:base "URI" ; + linkml:definition_uri "https://w3id.org/linkml/Uri" ; + linkml:description "a complete URI" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "uriorcurie" ; + linkml:name "uri" ; linkml:repr "str" ; linkml:uri "http://www.w3.org/2001/XMLSchema#anyURI" ], [ a linkml:TypeDefinition ; - linkml:base "float" ; - linkml:definition_uri "https://w3id.org/linkml/Double" ; - linkml:description "A real number that conforms to the xsd:double specification" ; + linkml:base "Decimal" ; + linkml:definition_uri "https://w3id.org/linkml/Decimal" ; + linkml:description "A real number with arbitrary precision that conforms to the xsd:decimal specification" ; linkml:from_schema "https://w3id.org/linkml/types" ; linkml:imported_from "linkml:types" ; - linkml:name "double" ; - linkml:uri "http://www.w3.org/2001/XMLSchema#double" ] . + linkml:name "decimal" ; + linkml:uri "http://www.w3.org/2001/XMLSchema#decimal" ] . diff --git a/linkml_runtime/linkml_model/shex/annotations.shex b/linkml_runtime/linkml_model/shex/annotations.shex index fcc6c8a3..c0c80772 100644 --- a/linkml_runtime/linkml_model/shex/annotations.shex +++ b/linkml_runtime/linkml_model/shex/annotations.shex @@ -23,6 +23,8 @@ PREFIX xsd: xsd:dateTime + + IRI IRI diff --git a/linkml_runtime/linkml_model/shex/annotations.shexj b/linkml_runtime/linkml_model/shex/annotations.shexj index 15fa872e..c38dffdc 100644 --- a/linkml_runtime/linkml_model/shex/annotations.shexj +++ b/linkml_runtime/linkml_model/shex/annotations.shexj @@ -54,6 +54,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", diff --git a/linkml_runtime/linkml_model/shex/extensions.shex b/linkml_runtime/linkml_model/shex/extensions.shex index 90306175..302d124f 100644 --- a/linkml_runtime/linkml_model/shex/extensions.shex +++ b/linkml_runtime/linkml_model/shex/extensions.shex @@ -23,6 +23,8 @@ PREFIX xsd: xsd:dateTime + + IRI IRI diff --git a/linkml_runtime/linkml_model/shex/extensions.shexj b/linkml_runtime/linkml_model/shex/extensions.shexj index c96e3e15..978472a3 100644 --- a/linkml_runtime/linkml_model/shex/extensions.shexj +++ b/linkml_runtime/linkml_model/shex/extensions.shexj @@ -54,6 +54,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", diff --git a/linkml_runtime/linkml_model/shex/mappings.shexj b/linkml_runtime/linkml_model/shex/mappings.shexj index 1452033a..1d13e3b9 100644 --- a/linkml_runtime/linkml_model/shex/mappings.shexj +++ b/linkml_runtime/linkml_model/shex/mappings.shexj @@ -54,6 +54,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", diff --git a/linkml_runtime/linkml_model/shex/meta.shex b/linkml_runtime/linkml_model/shex/meta.shex index d33fec78..bd00ae3f 100644 --- a/linkml_runtime/linkml_model/shex/meta.shex +++ b/linkml_runtime/linkml_model/shex/meta.shex @@ -1,18 +1,17 @@ -# metamodel_version: 1.7.0 -# version: 2.0.0 BASE -PREFIX dcterms: PREFIX owl: PREFIX rdf: PREFIX rdfs: -PREFIX skos: PREFIX xsd: +PREFIX skos: PREFIX skosxl: PREFIX pav: PREFIX oslc: -PREFIX schema1: +PREFIX schema: PREFIX bibo: -PREFIX sh1: +PREFIX sh: +PREFIX qudt: +PREFIX dcterms: PREFIX oboInOwl: @@ -34,8 +33,12 @@ PREFIX oboInOwl: xsd:dateTime + + IRI + xsd:string + IRI xsd:string @@ -84,6 +87,25 @@ PREFIX oboInOwl: ) } + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @ ? ; + @ ? ; + @ ? ; + @ ? ; + @ * ; + @ * ; + @ * ; + @ * ; + @ ? ; + @ ? ; + @ * + ) ; + rdf:type [ ] ? + ) +} + ( @ OR @ ) @@ -111,7 +133,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -123,7 +145,12 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ? ) @@ -136,6 +163,7 @@ PREFIX oboInOwl: rdf:type [ ] ? ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -144,7 +172,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + qudt:unit @ ? ; @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -152,7 +182,7 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ * ; + @ ? ; @ * ; @ * ; @ * ; @@ -167,6 +197,8 @@ PREFIX oboInOwl: rdf:type [ ] ? ; @ ? ; @ ? ; + qudt:unit @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -181,6 +213,12 @@ PREFIX oboInOwl: ) } + CLOSED { + ( $ rdf:type . * ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( & ; rdf:type [ ] ? ; @@ -190,12 +228,12 @@ PREFIX oboInOwl: @ * ; @ * ; @ ? ; - rdfs:subClassOf @ ? ; + @ ? ; @ * ; @ * ; @ ? ; @ * ; - sh1:rule @ * ; + sh:rule @ * ; @ * ; @ ? ; @ ? ; @@ -241,13 +279,13 @@ PREFIX oboInOwl: rdf:type [ ] ? ; & ; rdf:type [ ] ? ; - sh1:condition @ ? ; + sh:condition @ ? ; @ ? ; @ ? ; @ ? ; @ ? ; - sh1:order @ ? ; - sh1:deactivated @ ? ; + sh:order @ ? ; + sh:deactivated @ ? ; @ * ; @ * ; skos:definition @ ? ; @@ -262,7 +300,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -273,7 +311,12 @@ PREFIX oboInOwl: skos:closeMatch @ * ; skos:relatedMatch @ * ; skos:narrowMatch @ * ; - skos:broadMatch @ * + skos:broadMatch @ * ; + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ) ; rdf:type [ ] ? ) @@ -292,7 +335,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -304,14 +347,19 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ? ) } ( - @ OR @ + @ OR @ OR @ ) { @@ -322,11 +370,6 @@ PREFIX oboInOwl: @ * ; @ * ; @ * ; - pav:createdBy @ ? ; - pav:createdOn @ ? ; - pav:lastUpdatedOn @ ? ; - oslc:modifiedBy @ ? ; - bibo:status @ ? ; @ ? ) ; rdf:type [ ] @@ -334,7 +377,7 @@ PREFIX oboInOwl: } ( - @ OR @ OR @ OR @ OR @ + @ OR @ OR @ OR @ ) { @@ -348,6 +391,7 @@ PREFIX oboInOwl: @ ? ; @ * ; dcterms:conformsTo @ ? ; + @ * ; @ * ; @ * ; skos:definition @ ? ; @@ -362,7 +406,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -374,35 +418,69 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ) } CLOSED { - ( $ ( & ; - rdf:type [ ] ? ; + ( $ ( & ; + rdf:type [ ] ? ; + & ; + rdf:type [ ] ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @ ? ; - @ * + @ * ; + @ * ; + @ * ; + @ * ; + @ ? ; + @ ? ; + @ * ) ; rdf:type [ ] ) } + CLOSED { + ( $ ( & ; + rdf:type [ ] ? ; + @ ? ; + @ ? ; + @ ? ; + @ ? ; + @ * ; + @ * ; + @ * ; + @ * ; + @ ? ; + @ ? ; + @ * + ) ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( skos:example @ ? ; - @ ? + @ ? ; + @ ? ) ; rdf:type [ ] ? ) } ( - @ OR @ + @ OR @ OR @ ) { @@ -452,7 +530,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -464,7 +542,12 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ? ) @@ -478,6 +561,14 @@ PREFIX oboInOwl: ) } + CLOSED { + ( $ ( @ ? ; + @ ? + ) ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( & ; rdf:type [ ] ? ; @@ -509,7 +600,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -521,7 +612,12 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ? ) @@ -551,7 +647,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -563,7 +659,12 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ? ) @@ -578,6 +679,7 @@ PREFIX oboInOwl: rdf:type [ ] ? ; skos:definition @ ? ; @ ? ; + qudt:unit @ ? ; @ * ; @ * ; @ * ; @@ -592,7 +694,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -604,20 +706,37 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ) } CLOSED { - ( $ ( @ ; - @ + ( $ ( sh:prefix @ ; + sh:namespace @ ) ; rdf:type [ ] ) } + CLOSED { + ( $ ( @ ? ; + @ * ; + @ * ; + @ ? ; + @ ? ; + @ ? + ) ; + rdf:type [ ] ? + ) +} + CLOSED { ( $ ( & ; rdf:type [ ] ? ; @@ -625,7 +744,7 @@ PREFIX oboInOwl: pav:version @ ? ; @ * ; dcterms:license @ ? ; - @ * ; + sh:declare @ * ; @ * ; @ * ; @ ? ; @@ -643,7 +762,7 @@ PREFIX oboInOwl: @ ? ; @ * ; dcterms:subject @ * ; - schema1:keywords @ * + schema:keywords @ * ) ; rdf:type [ ] ) @@ -662,7 +781,7 @@ PREFIX oboInOwl: rdf:type [ ] ? ; & ; rdf:type [ ] ? ; - skos:altLabel @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -693,15 +812,17 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - sh1:group @ ? ; + sh:group @ ? ; @ ? ; @ ? ; @ * ; @ ? ; + @ * ; @ * ; @ * ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -710,7 +831,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + qudt:unit @ ? ; @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -718,7 +841,7 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ * ; + @ ? ; @ * ; @ * ; @ * ; @@ -733,6 +856,7 @@ PREFIX oboInOwl: rdf:type [ ] ? ; @ ? ; @ ? ; + @ ? ; @ ? ; @ ? ; @ ? ; @@ -741,7 +865,9 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + qudt:unit @ ? ; @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -749,7 +875,7 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; - @ * ; + @ ? ; @ * ; @ * ; @ * ; @@ -785,7 +911,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -797,7 +923,12 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ skosxl:Label ] ? ) @@ -820,8 +951,11 @@ PREFIX oboInOwl: @ ? ; @ ? ; @ ? ; + @ * ; @ ? ; @ ? ; + qudt:unit @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -841,6 +975,8 @@ PREFIX oboInOwl: rdf:type [ ] ? ; @ ? ; @ ? ; + qudt:unit @ ? ; + @ ? ; @ ? ; @ * ; @ ? ; @@ -864,6 +1000,7 @@ PREFIX oboInOwl: rdf:type [ ] ? ; @ ; @ + ; + @ ? ; @ * ; @ * ; skos:definition @ ? ; @@ -878,7 +1015,7 @@ PREFIX oboInOwl: skos:inScheme @ ? ; @ ? ; dcterms:source @ ? ; - schema1:inLanguage @ ? ; + schema:inLanguage @ ? ; rdfs:seeAlso @ * ; @ ? ; @ ? ; @@ -890,11 +1027,29 @@ PREFIX oboInOwl: skos:relatedMatch @ * ; skos:narrowMatch @ * ; skos:broadMatch @ * ; - sh1:order @ ? + pav:createdBy @ ? ; + pav:createdOn @ ? ; + pav:lastUpdatedOn @ ? ; + oslc:modifiedBy @ ? ; + bibo:status @ ? ; + sh:order @ ? ) ; rdf:type [ ] ) } + CLOSED { + ( $ ( qudt:symbol @ ? ; + qudt:abbreviation @ ? ; + rdfs:label @ ? ; + skos:exactMatch @ * ; + qudt:ucumCode @ ? ; + @ ? ; + qudt:hasQuantityKind @ ? ; + qudt:iec61360Code @ ? + ) ; + rdf:type [ qudt:Unit ] ? + ) +} diff --git a/linkml_runtime/linkml_model/shex/meta.shexj b/linkml_runtime/linkml_model/shex/meta.shexj index 8d67bb43..32c61ee6 100644 --- a/linkml_runtime/linkml_model/shex/meta.shexj +++ b/linkml_runtime/linkml_model/shex/meta.shexj @@ -54,6 +54,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", @@ -293,6 +298,122 @@ ] } }, + { + "type": "Shape", + "id": "https://w3id.org/linkml/AnonymousEnumExpression", + "closed": true, + "expression": { + "type": "EachOf", + "expressions": [ + { + "type": "EachOf", + "id": "https://w3id.org/linkml/AnonymousEnumExpression_tes", + "expressions": [ + "https://w3id.org/linkml/EnumExpression_tes", + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/EnumExpression" + ] + }, + "min": 0 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set_tag", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set_version", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/pv_formula", + "valueExpr": "https://w3id.org/linkml/PvFormulaOptions", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/permissible_values", + "valueExpr": "https://w3id.org/linkml/PermissibleValue", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/include", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/minus", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/inherits", + "valueExpr": "https://w3id.org/linkml/EnumDefinition", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/reachable_from", + "valueExpr": "https://w3id.org/linkml/ReachabilityQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/matches", + "valueExpr": "https://w3id.org/linkml/MatchQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/concepts", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 + } + ] + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/AnonymousEnumExpression" + ] + }, + "min": 0 + } + ] + } + }, { "type": "ShapeOr", "id": "https://w3id.org/linkml/AnonymousExpression", @@ -614,6 +735,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/enum_range", + "valueExpr": "https://w3id.org/linkml/EnumExpression", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/required", @@ -670,6 +798,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/implicit_prefix", @@ -814,6 +949,20 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/implicit_prefix", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/equals_string", @@ -1707,6 +1856,7 @@ "id": "https://w3id.org/linkml/Definition", "shapeExprs": [ "https://w3id.org/linkml/ClassDefinition", + "https://w3id.org/linkml/EnumDefinition", "https://w3id.org/linkml/SlotDefinition" ] }, @@ -1831,7 +1981,6 @@ "id": "https://w3id.org/linkml/Element", "shapeExprs": [ "https://w3id.org/linkml/Definition", - "https://w3id.org/linkml/EnumDefinition", "https://w3id.org/linkml/SchemaDefinition", "https://w3id.org/linkml/SubsetDefinition", "https://w3id.org/linkml/TypeDefinition" @@ -2128,18 +2277,37 @@ "type": "EachOf", "id": "https://w3id.org/linkml/EnumDefinition_tes", "expressions": [ - "https://w3id.org/linkml/Element_tes", + "https://w3id.org/linkml/Definition_tes", { "type": "TripleConstraint", "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", "valueExpr": { "type": "NodeConstraint", "values": [ - "https://w3id.org/linkml/Element" + "https://w3id.org/linkml/Definition" + ] + }, + "min": 0 + }, + "https://w3id.org/linkml/EnumExpression_tes", + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/EnumExpression" ] }, "min": 0 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/enum_uri", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/code_set", @@ -2174,6 +2342,48 @@ "valueExpr": "https://w3id.org/linkml/PermissibleValue", "min": 0, "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/include", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/minus", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/inherits", + "valueExpr": "https://w3id.org/linkml/EnumDefinition", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/reachable_from", + "valueExpr": "https://w3id.org/linkml/ReachabilityQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/matches", + "valueExpr": "https://w3id.org/linkml/MatchQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/concepts", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 } ] }, @@ -2191,6 +2401,122 @@ ] } }, + { + "type": "Shape", + "id": "https://w3id.org/linkml/EnumExpression", + "closed": true, + "expression": { + "type": "EachOf", + "expressions": [ + { + "type": "EachOf", + "id": "https://w3id.org/linkml/EnumExpression_tes", + "expressions": [ + "https://w3id.org/linkml/Expression_tes", + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/Expression" + ] + }, + "min": 0 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set_tag", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/code_set_version", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/pv_formula", + "valueExpr": "https://w3id.org/linkml/PvFormulaOptions", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/permissible_values", + "valueExpr": "https://w3id.org/linkml/PermissibleValue", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/include", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/minus", + "valueExpr": "https://w3id.org/linkml/AnonymousEnumExpression", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/inherits", + "valueExpr": "https://w3id.org/linkml/EnumDefinition", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/reachable_from", + "valueExpr": "https://w3id.org/linkml/ReachabilityQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/matches", + "valueExpr": "https://w3id.org/linkml/MatchQuery", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/concepts", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 + } + ] + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/EnumExpression" + ] + }, + "min": 0 + } + ] + } + }, { "type": "Shape", "id": "https://w3id.org/linkml/Example", @@ -2236,6 +2562,7 @@ "type": "ShapeOr", "id": "https://w3id.org/linkml/Expression", "shapeExprs": [ + "https://w3id.org/linkml/EnumExpression", "https://w3id.org/linkml/SlotExpression", "https://w3id.org/linkml/TypeExpression" ] @@ -2665,6 +2992,47 @@ ] } }, + { + "type": "Shape", + "id": "https://w3id.org/linkml/MatchQuery", + "closed": true, + "expression": { + "type": "EachOf", + "expressions": [ + { + "type": "EachOf", + "id": "https://w3id.org/linkml/MatchQuery_tes", + "expressions": [ + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/identifier_pattern", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/source_ontology", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + } + ] + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/MatchQuery" + ] + }, + "min": 0 + } + ] + } + }, { "type": "Shape", "id": "https://w3id.org/linkml/PathExpression", @@ -3319,6 +3687,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/mixins", @@ -3565,6 +3940,75 @@ ] } }, + { + "type": "Shape", + "id": "https://w3id.org/linkml/ReachabilityQuery", + "closed": true, + "expression": { + "type": "EachOf", + "expressions": [ + { + "type": "EachOf", + "id": "https://w3id.org/linkml/ReachabilityQuery_tes", + "expressions": [ + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/source_ontology", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/source_nodes", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/relationship_types", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/is_direct", + "valueExpr": "https://w3id.org/linkml/Boolean", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/include_self", + "valueExpr": "https://w3id.org/linkml/Boolean", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/traverse_up", + "valueExpr": "https://w3id.org/linkml/Boolean", + "min": 0, + "max": 1 + } + ] + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "https://w3id.org/linkml/ReachabilityQuery" + ] + }, + "min": 0 + } + ] + } + }, { "type": "Shape", "id": "https://w3id.org/linkml/SchemaDefinition", @@ -4093,6 +4537,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/union_of", + "valueExpr": "https://w3id.org/linkml/TypeDefinition", + "min": 0, + "max": -1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/mixins", @@ -4121,6 +4572,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/enum_range", + "valueExpr": "https://w3id.org/linkml/EnumExpression", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/required", @@ -4177,6 +4635,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/implicit_prefix", @@ -4321,6 +4786,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/enum_range", + "valueExpr": "https://w3id.org/linkml/EnumExpression", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/required", @@ -4377,6 +4849,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/implicit_prefix", @@ -4871,6 +5350,13 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/union_of", + "valueExpr": "https://w3id.org/linkml/TypeDefinition", + "min": 0, + "max": -1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/pattern", @@ -4885,6 +5371,20 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/implicit_prefix", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/equals_string", @@ -5001,6 +5501,20 @@ "min": 0, "max": 1 }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/unit", + "valueExpr": "https://w3id.org/linkml/UnitOfMeasure", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/implicit_prefix", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, { "type": "TripleConstraint", "predicate": "https://w3id.org/linkml/equals_string", @@ -5345,6 +5859,75 @@ } ] } + }, + { + "type": "Shape", + "id": "https://w3id.org/linkml/UnitOfMeasure", + "closed": true, + "expression": { + "type": "EachOf", + "expressions": [ + { + "type": "EachOf", + "id": "https://w3id.org/linkml/UnitOfMeasure_tes", + "expressions": [ + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/symbol", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/2004/02/skos/core#exactMatch", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": -1 + }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/ucumCode", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "https://w3id.org/linkml/derivation", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/hasQuantityKind", + "valueExpr": "https://w3id.org/linkml/Uriorcurie", + "min": 0, + "max": 1 + }, + { + "type": "TripleConstraint", + "predicate": "http://qudt.org/schema/qudt/iec61360Code", + "valueExpr": "https://w3id.org/linkml/String", + "min": 0, + "max": 1 + } + ] + }, + { + "type": "TripleConstraint", + "predicate": "http://www.w3.org/1999/02/22-rdf-syntax-ns#type", + "valueExpr": { + "type": "NodeConstraint", + "values": [ + "http://qudt.org/schema/qudt/Unit" + ] + }, + "min": 0 + } + ] + } } ] } diff --git a/linkml_runtime/linkml_model/shex/types.shex b/linkml_runtime/linkml_model/shex/types.shex index e0a49039..42bb4d99 100644 --- a/linkml_runtime/linkml_model/shex/types.shex +++ b/linkml_runtime/linkml_model/shex/types.shex @@ -22,6 +22,8 @@ PREFIX xsd: xsd:dateTime + + IRI IRI diff --git a/linkml_runtime/linkml_model/shex/types.shexj b/linkml_runtime/linkml_model/shex/types.shexj index 1452033a..1d13e3b9 100644 --- a/linkml_runtime/linkml_model/shex/types.shexj +++ b/linkml_runtime/linkml_model/shex/types.shexj @@ -54,6 +54,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", diff --git a/linkml_runtime/linkml_model/shex/validation.shex b/linkml_runtime/linkml_model/shex/validation.shex index cc5f131e..d7a5d0e5 100644 --- a/linkml_runtime/linkml_model/shex/validation.shex +++ b/linkml_runtime/linkml_model/shex/validation.shex @@ -25,6 +25,8 @@ linkml:Date xsd:date linkml:Datetime xsd:dateTime +linkml:DateOrDatetime linkml:DateOrDatetime + linkml:Uriorcurie IRI linkml:Uri IRI @@ -49,7 +51,7 @@ reporting:ValidationResult CLOSED { reporting:predicate @linkml:Nodeidentifier ? ; sh1:value @linkml:Nodeidentifier ? ; reporting:object_str @linkml:String ? ; - reporting:source @linkml:Nodeidentifier ? ; + reporting:node_source @linkml:Nodeidentifier ? ; reporting:info @linkml:String ? ) ; rdf:type [ sh1:ValidationResult ] ? diff --git a/linkml_runtime/linkml_model/shex/validation.shexj b/linkml_runtime/linkml_model/shex/validation.shexj index dfb70844..7fbbf7c8 100644 --- a/linkml_runtime/linkml_model/shex/validation.shexj +++ b/linkml_runtime/linkml_model/shex/validation.shexj @@ -53,6 +53,11 @@ "id": "https://w3id.org/linkml/Datetime", "datatype": "http://www.w3.org/2001/XMLSchema#dateTime" }, + { + "type": "NodeConstraint", + "id": "https://w3id.org/linkml/DateOrDatetime", + "datatype": "https://w3id.org/linkml/DateOrDatetime" + }, { "type": "NodeConstraint", "id": "https://w3id.org/linkml/Uriorcurie", @@ -169,7 +174,7 @@ }, { "type": "TripleConstraint", - "predicate": "https://w3id.org/linkml/reportsource", + "predicate": "https://w3id.org/linkml/reportnode_source", "valueExpr": "https://w3id.org/linkml/Nodeidentifier", "min": 0, "max": 1