Skip to content

Class: SlotDefinition

an element that describes how instances are related to other instances

URI: linkml:SlotDefinition

classDiagram SlotExpression <|-- SlotDefinition Definition <|-- SlotDefinition SlotDefinition : abstract SlotDefinition : alias SlotDefinition : aliases SlotDefinition : all_members SlotDefinition : all_of SlotDefinition : alt_descriptions SlotDefinition : annotations SlotDefinition : any_of SlotDefinition : apply_to SlotDefinition : asymmetric SlotDefinition : broad_mappings SlotDefinition : children_are_mutually_disjoint SlotDefinition : close_mappings SlotDefinition : comments SlotDefinition : conforms_to SlotDefinition : created_by SlotDefinition : created_on SlotDefinition : definition_uri SlotDefinition : deprecated SlotDefinition : deprecated_element_has_exact_replacement SlotDefinition : deprecated_element_has_possible_replacement SlotDefinition : description SlotDefinition : designates_type SlotDefinition : disjoint_with SlotDefinition : domain SlotDefinition : domain_of SlotDefinition : enum_range SlotDefinition : equals_expression SlotDefinition : equals_number SlotDefinition : equals_string SlotDefinition : equals_string_in SlotDefinition : exact_mappings SlotDefinition : exactly_one_of SlotDefinition : examples SlotDefinition : extensions SlotDefinition : from_schema SlotDefinition : has_member SlotDefinition : id_prefixes SlotDefinition : identifier SlotDefinition : ifabsent SlotDefinition : implicit_prefix SlotDefinition : imported_from SlotDefinition : in_language SlotDefinition : in_subset SlotDefinition : inherited SlotDefinition : inlined SlotDefinition : inlined_as_list SlotDefinition : inverse SlotDefinition : irreflexive SlotDefinition : is_a SlotDefinition : is_class_field SlotDefinition : is_grouping_slot SlotDefinition : is_usage_slot SlotDefinition : key SlotDefinition : last_updated_on SlotDefinition : list_elements_ordered SlotDefinition : list_elements_unique SlotDefinition : local_names SlotDefinition : locally_reflexive SlotDefinition : mappings SlotDefinition : maximum_cardinality SlotDefinition : maximum_value SlotDefinition : minimum_cardinality SlotDefinition : minimum_value SlotDefinition : mixin SlotDefinition : mixins SlotDefinition : modified_by SlotDefinition : multivalued SlotDefinition : name SlotDefinition : narrow_mappings SlotDefinition : none_of SlotDefinition : notes SlotDefinition : owner SlotDefinition : path_rule SlotDefinition : pattern SlotDefinition : range SlotDefinition : range_expression SlotDefinition : rank SlotDefinition : readonly SlotDefinition : recommended SlotDefinition : reflexive SlotDefinition : reflexive_transitive_form_of SlotDefinition : related_mappings SlotDefinition : relational_role SlotDefinition : required SlotDefinition : role SlotDefinition : see_also SlotDefinition : shared SlotDefinition : singular_name SlotDefinition : slot_group SlotDefinition : slot_uri SlotDefinition : source SlotDefinition : status SlotDefinition : string_serialization SlotDefinition : structured_aliases SlotDefinition : structured_pattern SlotDefinition : subproperty_of SlotDefinition : symmetric SlotDefinition : title SlotDefinition : todos SlotDefinition : transitive SlotDefinition : transitive_form_of SlotDefinition : union_of SlotDefinition : unit SlotDefinition : usage_slot_name SlotDefinition : values_from

Inheritance

  • Element [ extensible annotatable common_metadata]

Slots

Name Cardinality and Range Description
singular_name 0..1
String
a name that is used in the singular form
domain 0..1
ClassDefinition
defines the type of the subject of the slot
slot_uri 0..1
Uriorcurie
predicate of this slot for semantic web application
multivalued 0..1
Boolean
true means that slot can have more than one value
inherited 0..1
Boolean
true means that the value of a slot is inherited by subclasses
readonly 0..1
String
If present, slot is read only
ifabsent 0..1
String
function that provides a default value for the slot
list_elements_unique 0..1
Boolean
If True, then there must be no duplicates in the elements of a multivalued sl...
list_elements_ordered 0..1
Boolean
If True, then the order of elements of a multivalued slot is guaranteed to be...
shared 0..1
Boolean
If True, then the relationship between the slot domain and range is many to o...
key 0..1
Boolean
True means that the key slot(s) uniquely identify the container
identifier 0..1
Boolean
True means that the key slot(s) uniquely identify the container
designates_type 0..1
Boolean
True means that the key slot(s) is used to determine the instantiation (types...
alias 0..1
String
the name used for a slot in the context of its owning class
owner 0..1
Definition
the "owner" of the slot
domain_of 0..*
ClassDefinition
the class(es) that reference the slot in a "slots" or "slot_usage" context
subproperty_of 0..1
SlotDefinition
Ontology property which this slot is a subproperty of
symmetric 0..1
Boolean
If s is symmetric, and i
reflexive 0..1
Boolean
If s is reflexive, then i
locally_reflexive 0..1
Boolean
If s is locally_reflexive, then i
irreflexive 0..1
Boolean
If s is irreflexive, then there exists no i such i
asymmetric 0..1
Boolean
If s is antisymmetric, and i
transitive 0..1
Boolean
If s is transitive, and i
inverse 0..1
SlotDefinition
indicates that any instance of d s r implies that there is also an instance o...
is_class_field 0..1
Boolean
indicates that for any instance, i, the domain of this slot will include an a...
transitive_form_of 0..1
SlotDefinition
If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transit...
reflexive_transitive_form_of 0..1
SlotDefinition
transitive_form_of including the reflexive case
role 0..1
String
a textual descriptor that indicates the role played by the slot range
is_usage_slot 0..1
Boolean
True means that this slot was defined in a slot_usage situation
usage_slot_name 0..1
String
The name of the slot referenced in the slot_usage
relational_role 0..1
RelationalRoleEnum
the role a slot on a relationship class plays, for example, the subject, obje...
slot_group 0..1
SlotDefinition
allows for grouping of related slots into a grouping slot that serves the rol...
is_grouping_slot 0..1
Boolean
true if this slot is a grouping slot
path_rule 0..1
PathExpression
a rule for inferring a slot assignment based on evaluating a path through a s...
disjoint_with 0..*
SlotDefinition
Two classes are disjoint if they have no instances in common, two slots are d...
children_are_mutually_disjoint 0..1
Boolean
If true then all direct is_a children are mutually disjoint and share no inst...
union_of 0..*
TypeDefinition
indicates that the domain element consists exactly of the members of the elem...
range 0..1
Element
defines the type of the object of the slot
range_expression 0..1
AnonymousClassExpression
A range that is described as a boolean expression combining existing ranges
enum_range 0..1
EnumExpression
An inlined enumeration
required 0..1
Boolean
true means that the slot must be present in the loaded definition
recommended 0..1
Boolean
true means that the slot should be present in the loaded definition, but this...
inlined 0..1
Boolean
True means that keyed or identified slot appears in an outer structure by val...
inlined_as_list 0..1
Boolean
True means that an inlined slot is represented as a list of range instances
minimum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or higher th...
maximum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or lowe than...
pattern 0..1
String
the string value of the slot must conform to this regular expression expresse...
structured_pattern 0..1
PatternExpression
the string value of the slot must conform to the regular expression in the pa...
unit 0..1
UnitOfMeasure
an encoding of a unit
implicit_prefix 0..1
String
Causes the slot value to be interpreted as a uriorcurie after prefixing with ...
equals_string 0..1
String
the slot must have range string and the value of the slot must equal the spec...
equals_string_in 0..*
String
the slot must have range string and the value of the slot must equal one of t...
equals_number 0..1
Integer
the slot must have range of a number and the value of the slot must equal the...
equals_expression 0..1
String
the value of the slot must equal the value of the evaluated expression
minimum_cardinality 0..1
Integer
the minimum number of entries for a multivalued slot
maximum_cardinality 0..1
Integer
the maximum number of entries for a multivalued slot
has_member 0..1
AnonymousSlotExpression
the values of the slot is multivalued with at least one member satisfying the...
all_members 0..*
SlotDefinition
the value of the multiavlued slot is a list where all elements conform to the...
none_of 0..*
AnonymousSlotExpression
holds if none of the expressions hold
exactly_one_of 0..*
AnonymousSlotExpression
holds if only one of the expressions hold
any_of 0..*
AnonymousSlotExpression
holds if at least one of the expressions hold
all_of 0..*
AnonymousSlotExpression
holds if all of the expressions hold
is_a 0..1
SlotDefinition
A primary parent slot from which inheritable metaslots are propagated
abstract 0..1
Boolean
Indicates the class or slot cannot be directly instantiated and is intended f...
mixin 0..1
Boolean
Indicates the class or slot is not intended to inherited from without being a...
mixins 0..*
SlotDefinition
A collection of secondary parent mixin slots from which inheritable metaslots...
apply_to 0..*
SlotDefinition
Used to extend class or slot definitions
values_from 0..*
Uriorcurie
The identifier of a "value set" -- a set of identifiers that form the possibl...
created_by 0..1
Uriorcurie
agent that created the element
created_on 0..1
Datetime
time at which the element was created
last_updated_on 0..1
Datetime
time at which the element was last updated
modified_by 0..1
Uriorcurie
agent that modified the element
status 0..1
Uriorcurie
status of the element
string_serialization 0..1
String
Used on a slot that stores the string serialization of the containing object
name 1..1
String
the unique name of the element within the context of the schema
id_prefixes 0..*
Ncname
the identifier of this class or slot must begin with the URIs referenced by t...
definition_uri 0..1
Uriorcurie
the "native" URI of the element
local_names 0..*
LocalName
conforms_to 0..1
String
An established standard to which the element conforms
extensions 0..*
Extension
a tag/text tuple attached to an arbitrary element
annotations 0..*
Annotation
a collection of tag/text tuples with the semantics of OWL Annotation
description 0..1 recommended
String
a description of the element's purpose and use
alt_descriptions 0..*
AltDescription
A sourced alternative description for an element
title 0..1
String
the official title of the element
deprecated 0..1
String
Description of why and when this element will no longer be used
todos 0..*
String
Outstanding issue that needs resolution
notes 0..*
String
editorial notes about an element intended for internal consumption
comments 0..*
String
notes and comments about an element intended for external consumption
examples 0..*
Example
example usages of an element
in_subset 0..*
SubsetDefinition
used to indicate membership of a term in a defined subset of terms used for a...
from_schema 0..1
Uri
id of the schema that defined the element
imported_from 0..1
String
the imports entry that this element was derived from
source 0..1
Uriorcurie
A related resource from which the element is derived
in_language 0..1
String
see_also 0..*
Uriorcurie
a reference
deprecated_element_has_exact_replacement 0..1
Uriorcurie
When an element is deprecated, it can be automatically replaced by this uri o...
deprecated_element_has_possible_replacement 0..1
Uriorcurie
When an element is deprecated, it can be potentially replaced by this uri or ...
aliases 0..*
String
Alaternate names for the element
structured_aliases 0..*
StructuredAlias
A list of structured_alias objects
mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have compa...
exact_mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have ident...
close_mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have close...
related_mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have relat...
narrow_mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have narro...
broad_mappings 0..*
Uriorcurie
A list of terms from different schemas or terminology systems that have broad...
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...

Usages

used by used in type used
SchemaDefinition slot_definitions range slot_definition
TypeExpression minimum_value domain slot_definition
TypeExpression maximum_value domain slot_definition
AnonymousTypeExpression minimum_value domain slot_definition
AnonymousTypeExpression maximum_value domain slot_definition
TypeDefinition minimum_value domain slot_definition
TypeDefinition maximum_value domain slot_definition
PathExpression traverse range slot_definition
SlotExpression range domain slot_definition
SlotExpression required domain slot_definition
SlotExpression recommended domain slot_definition
SlotExpression inlined domain slot_definition
SlotExpression inlined_as_list domain slot_definition
SlotExpression minimum_value domain slot_definition
SlotExpression maximum_value domain slot_definition
SlotExpression all_members range slot_definition
AnonymousSlotExpression range domain slot_definition
AnonymousSlotExpression required domain slot_definition
AnonymousSlotExpression recommended domain slot_definition
AnonymousSlotExpression inlined domain slot_definition
AnonymousSlotExpression inlined_as_list domain slot_definition
AnonymousSlotExpression minimum_value domain slot_definition
AnonymousSlotExpression maximum_value domain slot_definition
AnonymousSlotExpression all_members range slot_definition
SlotDefinition singular_name domain slot_definition
SlotDefinition domain domain slot_definition
SlotDefinition slot_uri domain slot_definition
SlotDefinition multivalued domain slot_definition
SlotDefinition inherited domain slot_definition
SlotDefinition readonly domain slot_definition
SlotDefinition ifabsent domain slot_definition
SlotDefinition list_elements_unique domain slot_definition
SlotDefinition list_elements_ordered domain slot_definition
SlotDefinition shared domain slot_definition
SlotDefinition key domain slot_definition
SlotDefinition identifier domain slot_definition
SlotDefinition designates_type domain slot_definition
SlotDefinition alias domain slot_definition
SlotDefinition owner domain slot_definition
SlotDefinition domain_of domain slot_definition
SlotDefinition subproperty_of domain slot_definition
SlotDefinition subproperty_of range slot_definition
SlotDefinition symmetric domain slot_definition
SlotDefinition reflexive domain slot_definition
SlotDefinition locally_reflexive domain slot_definition
SlotDefinition irreflexive domain slot_definition
SlotDefinition asymmetric domain slot_definition
SlotDefinition transitive domain slot_definition
SlotDefinition inverse domain slot_definition
SlotDefinition inverse range slot_definition
SlotDefinition is_class_field domain slot_definition
SlotDefinition transitive_form_of range slot_definition
SlotDefinition reflexive_transitive_form_of range slot_definition
SlotDefinition role domain slot_definition
SlotDefinition is_usage_slot domain slot_definition
SlotDefinition usage_slot_name domain slot_definition
SlotDefinition relational_role domain slot_definition
SlotDefinition slot_group domain slot_definition
SlotDefinition slot_group range slot_definition
SlotDefinition is_grouping_slot domain slot_definition
SlotDefinition path_rule domain slot_definition
SlotDefinition disjoint_with range slot_definition
SlotDefinition range domain slot_definition
SlotDefinition required domain slot_definition
SlotDefinition recommended domain slot_definition
SlotDefinition inlined domain slot_definition
SlotDefinition inlined_as_list domain slot_definition
SlotDefinition minimum_value domain slot_definition
SlotDefinition maximum_value domain slot_definition
SlotDefinition all_members range slot_definition
SlotDefinition is_a range slot_definition
SlotDefinition mixins range slot_definition
SlotDefinition apply_to range slot_definition
ClassExpression slot_conditions range slot_definition
AnonymousClassExpression slot_conditions range slot_definition
ClassDefinition slots range slot_definition
ClassDefinition slot_usage range slot_definition
ClassDefinition attributes range slot_definition
ClassDefinition defining_slots range slot_definition
ClassDefinition slot_conditions range slot_definition
UniqueKey unique_key_slots range slot_definition

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/linkml/meta

Mappings

Mapping Type Mapped Value
self ['linkml:SlotDefinition']
native ['linkml:SlotDefinition']
close ['rdf:Property']

LinkML Specification

Direct

name: slot_definition
description: an element that describes how instances are related to other instances
in_subset:
- SpecificationSubset
- MinimalSubset
- BasicSubset
- OwlProfile
from_schema: https://w3id.org/linkml/meta
aliases:
- slot
- field
- property
- attribute
- column
- variable
close_mappings:
- rdf:Property
rank: 3
is_a: definition
mixins:
- slot_expression
slots:
- singular_name
- domain
- slot_uri
- multivalued
- inherited
- readonly
- ifabsent
- list_elements_unique
- list_elements_ordered
- shared
- key
- identifier
- designates_type
- alias
- owner
- domain_of
- subproperty_of
- symmetric
- reflexive
- locally_reflexive
- irreflexive
- asymmetric
- transitive
- inverse
- is_class_field
- transitive_form_of
- reflexive_transitive_form_of
- role
- is_usage_slot
- usage_slot_name
- relational_role
- slot_group
- is_grouping_slot
- path_rule
- disjoint_with
- children_are_mutually_disjoint
- union_of
slot_usage:
  is_a:
    name: is_a
    description: A primary parent slot from which inheritable metaslots are propagated
    domain_of:
    - definition
    - anonymous_class_expression
    - definition
    - anonymous_class_expression
    range: slot_definition
  mixins:
    name: mixins
    description: A collection of secondary parent mixin slots from which inheritable
      metaslots are propagated
    domain_of:
    - definition
    - definition
    range: slot_definition
  apply_to:
    name: apply_to
    domain_of:
    - definition
    - definition
    range: slot_definition
  disjoint_with:
    name: disjoint_with
    domain_of:
    - slot_definition
    - class_definition
    - slot_definition
    - class_definition
    range: slot_definition
  union_of:
    name: union_of
    domain_of:
    - type_definition
    - slot_definition
    - class_definition
    - type_definition
    - slot_definition
    - class_definition
    range: type_definition

Induced

name: slot_definition
description: an element that describes how instances are related to other instances
in_subset:
- SpecificationSubset
- MinimalSubset
- BasicSubset
- OwlProfile
from_schema: https://w3id.org/linkml/meta
aliases:
- slot
- field
- property
- attribute
- column
- variable
close_mappings:
- rdf:Property
rank: 3
is_a: definition
mixins:
- slot_expression
slot_usage:
  is_a:
    name: is_a
    description: A primary parent slot from which inheritable metaslots are propagated
    domain_of:
    - definition
    - anonymous_class_expression
    - definition
    - anonymous_class_expression
    range: slot_definition
  mixins:
    name: mixins
    description: A collection of secondary parent mixin slots from which inheritable
      metaslots are propagated
    domain_of:
    - definition
    - definition
    range: slot_definition
  apply_to:
    name: apply_to
    domain_of:
    - definition
    - definition
    range: slot_definition
  disjoint_with:
    name: disjoint_with
    domain_of:
    - slot_definition
    - class_definition
    - slot_definition
    - class_definition
    range: slot_definition
  union_of:
    name: union_of
    domain_of:
    - type_definition
    - slot_definition
    - class_definition
    - type_definition
    - slot_definition
    - class_definition
    range: type_definition
attributes:
  singular_name:
    name: singular_name
    description: a name that is used in the singular form
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    slot_uri: skos:altLabel
    alias: singular_name
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  domain:
    name: 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"
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: domain
    owner: slot_definition
    domain_of:
    - slot_definition
    range: class_definition
  slot_uri:
    name: slot_uri
    description: predicate of this slot for semantic web application
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - public ID
    rank: 2
    domain: slot_definition
    ifabsent: slot_curie
    alias: slot_uri
    owner: slot_definition
    domain_of:
    - slot_definition
    range: uriorcurie
  multivalued:
    name: multivalued
    description: true means that slot can have more than one value
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 7
    domain: slot_definition
    inherited: true
    alias: multivalued
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  inherited:
    name: inherited
    description: true means that the *value* of a slot is inherited by subclasses
    comments:
    - Inherited applies to slot values.  Parent *slots* are always inherited by subclasses
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: inherited
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  readonly:
    name: readonly
    description: If present, slot is read only.  Text explains why
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: readonly
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  ifabsent:
    name: 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"
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - sh:defaultValue
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: ifabsent
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  list_elements_unique:
    name: list_elements_unique
    description: 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
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: list_elements_unique
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  list_elements_ordered:
    name: 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
    comments:
    - should only be used with multivalued slots
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: list_elements_ordered
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  shared:
    name: shared
    description: If True, then the relationship between the slot domain and range
      is many to one or many to many
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - inverse functional
    - many to one or many
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: shared
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  key:
    name: key
    description: True means that the key slot(s) uniquely identify the 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:
    - SpecificationSubset
    - BasicSubset
    - RelationalModelProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: key
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  identifier:
    name: identifier
    description: True means that the key slot(s) uniquely identify the container.
      There can be at most one identifier or key per container
    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:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://en.wikipedia.org/wiki/Identifier
    aliases:
    - primary key
    - ID
    - UID
    - code
    rank: 5
    domain: slot_definition
    inherited: true
    alias: identifier
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  designates_type:
    name: designates_type
    description: True means that the key slot(s) is used to determine the instantiation
      (types) relation between objects and a ClassDefinition
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - type designator
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: designates_type
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  alias:
    name: 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.
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 6
    domain: slot_definition
    slot_uri: skos:prefLabel
    alias: alias
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  owner:
    name: owner
    description: the "owner" of the slot. It is the class if it appears in the slots
      list, otherwise the declaring slot
    deprecated: Will be replaced by domain_of and eventually removed
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    readonly: filled in by loader -- either class domain or slot domain
    alias: owner
    owner: slot_definition
    domain_of:
    - slot_definition
    range: definition
  domain_of:
    name: domain_of
    description: the class(es) that reference the slot in a "slots" or "slot_usage"
      context
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    multivalued: true
    readonly: filled in by the loader
    alias: domain_of
    owner: slot_definition
    domain_of:
    - slot_definition
    range: class_definition
  subproperty_of:
    name: 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.'
    examples:
    - 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.')
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    slot_uri: rdfs:subPropertyOf
    alias: subproperty_of
    owner: slot_definition
    domain_of:
    - slot_definition
    range: slot_definition
  symmetric:
    name: symmetric
    description: If s is symmetric, and i.s=v, then v.s=i
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:SymmetricProperty
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: symmetric
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  reflexive:
    name: reflexive
    description: If s is reflexive, then i.s=i for all instances i
    comments:
    - it is rare for a property to be reflexive, this characteristic is added for
      completeness, consider instead locally_reflexive
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:ReflexiveProperty
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: reflexive
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  locally_reflexive:
    name: 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
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: locally_reflexive
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  irreflexive:
    name: irreflexive
    description: If s is irreflexive, then there exists no i such i.s=i
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:IrreflexiveProperty
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: irreflexive
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  asymmetric:
    name: asymmetric
    description: If s is antisymmetric, and i.s=v where i is different from v, v.s
      cannot have value i
    comments:
    - asymmetry is the combination of antisymmetry and irreflexivity
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:AsymmetricProperty
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: asymmetric
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  transitive:
    name: transitive
    description: If s is transitive, and i.s=z, and s.s=j, then i.s=j
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:TransitiveProperty
    rank: 1000
    is_a: relational_logical_characteristic
    domain: slot_definition
    alias: transitive
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  inverse:
    name: inverse
    description: indicates that any instance of d s r implies that there is also an
      instance of r s' d
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    slot_uri: owl:inverseOf
    alias: inverse
    owner: slot_definition
    domain_of:
    - slot_definition
    range: slot_definition
  is_class_field:
    name: is_class_field
    description: indicates that for any instance, i, the domain of this slot will
      include an assertion of i s range
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    alias: is_class_field
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  transitive_form_of:
    name: 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
    comments:
    - '{''Example'': ''ancestor_of is the transitive_form_of parent_of''}'
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    alias: transitive_form_of
    owner: slot_definition
    domain_of:
    - slot_definition
    range: slot_definition
  reflexive_transitive_form_of:
    name: reflexive_transitive_form_of
    description: transitive_form_of including the reflexive case
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: transitive_form_of
    alias: reflexive_transitive_form_of
    owner: slot_definition
    domain_of:
    - slot_definition
    range: slot_definition
  role:
    name: role
    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
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: role
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  is_usage_slot:
    name: is_usage_slot
    description: True means that this slot was defined in a slot_usage situation
    deprecated: Replaced by usage_slot_name
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    readonly: filled in by the loader
    alias: is_usage_slot
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  usage_slot_name:
    name: usage_slot_name
    description: The name of the slot referenced in the slot_usage
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    readonly: filled in by the loader
    alias: usage_slot_name
    owner: slot_definition
    domain_of:
    - slot_definition
    range: string
  relational_role:
    name: relational_role
    description: the role a slot on a relationship class plays, for example, the subject,
      object or predicate roles
    comments:
    - this should only be used on slots that are applicable to class that represent
      relationships
    - 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
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - reification_role
    rank: 1000
    status: testing
    domain: slot_definition
    inherited: true
    alias: relational_role
    owner: slot_definition
    domain_of:
    - slot_definition
    range: relational_role_enum
  slot_group:
    name: slot_group
    description: allows for grouping of related slots into a grouping slot that serves
      the role of a group
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    slot_uri: sh:group
    alias: slot_group
    owner: slot_definition
    domain_of:
    - slot_definition
    range: slot_definition
    range_expression:
      slot_conditions:
        is_grouping_slot:
          name: is_grouping_slot
          equals_expression: 'True'
  is_grouping_slot:
    name: is_grouping_slot
    description: true if this slot is a grouping slot
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - sh:PropertyGroup
    rank: 1000
    domain: slot_definition
    alias: is_grouping_slot
    owner: slot_definition
    domain_of:
    - slot_definition
    range: boolean
  path_rule:
    name: path_rule
    description: a rule for inferring a slot assignment based on evaluating a path
      through a sequence of slot assignemnts
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_definition
    alias: path_rule
    owner: slot_definition
    domain_of:
    - slot_definition
    range: path_expression
  disjoint_with:
    name: 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
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    multivalued: true
    alias: disjoint_with
    owner: slot_definition
    domain_of:
    - slot_definition
    - class_definition
    - slot_definition
    - class_definition
    range: slot_definition
  children_are_mutually_disjoint:
    name: children_are_mutually_disjoint
    description: If true then all direct is_a children are mutually disjoint and share
      no instances in common
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    alias: children_are_mutually_disjoint
    owner: slot_definition
    domain_of:
    - slot_definition
    - class_definition
    range: boolean
  union_of:
    name: union_of
    description: indicates that the domain element consists exactly of the members
      of the element in the range.
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    multivalued: true
    alias: union_of
    owner: slot_definition
    domain_of:
    - type_definition
    - slot_definition
    - class_definition
    - type_definition
    - slot_definition
    - class_definition
    range: type_definition
  range:
    name: range
    description: "defines the type of the object of the slot.  Given the following\
      \ slot definition\n  S1:\n    domain: C1\n    range:  C2\nthe declaration\n\
      \  X:\n    S1: Y\n\nimplicitly asserts Y is an instance of C2\n"
    comments:
    - range is underspecified, as not all elements can appear as the range of a slot.
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - value domain
    rank: 1000
    domain: slot_definition
    inherited: true
    ifabsent: default_range
    alias: range
    owner: slot_definition
    domain_of:
    - slot_expression
    range: element
  range_expression:
    name: range_expression
    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
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_expression
    alias: range_expression
    owner: slot_definition
    domain_of:
    - path_expression
    - slot_expression
    range: anonymous_class_expression
  enum_range:
    name: enum_range
    description: An inlined enumeration
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    alias: enum_range
    owner: slot_definition
    domain_of:
    - slot_expression
    range: enum_expression
  required:
    name: required
    description: true means that the slot must be present in the loaded definition
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 8
    domain: slot_definition
    inherited: true
    alias: required
    owner: slot_definition
    domain_of:
    - slot_expression
    range: boolean
  recommended:
    name: recommended
    description: true means that the slot should be present in the loaded 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
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://github.com/linkml/linkml/issues/177
    rank: 9
    domain: slot_definition
    inherited: true
    alias: recommended
    owner: slot_definition
    domain_of:
    - slot_expression
    range: boolean
  inlined:
    name: 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.
    comments:
    - classes without keys or identifiers are necessarily inlined as lists
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 25
    domain: slot_definition
    inherited: true
    alias: inlined
    owner: slot_definition
    domain_of:
    - slot_expression
    range: boolean
  inlined_as_list:
    name: 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.
    comments:
    - 'The default loader will accept either list or dictionary form as input.  This
      parameter controls internal

      representation and output.'
    - 'A keyed or identified class with one additional slot can be input in a third
      form, a dictionary whose key

      is the key or identifier and whose value is the one additional element.  This
      form is still stored according

      to the inlined_as_list setting.'
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 27
    domain: slot_definition
    inherited: true
    alias: inlined_as_list
    owner: slot_definition
    domain_of:
    - slot_expression
    range: boolean
  minimum_value:
    name: minimum_value
    description: for slots with ranges of type number, the value must be equal to
      or higher than this
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - low value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: minimum_value
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  maximum_value:
    name: maximum_value
    description: for slots with ranges of type number, the value must be equal to
      or lowe than this
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - high value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: maximum_value
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  pattern:
    name: pattern
    description: the string value of the slot must conform to this regular expression
      expressed in the string
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 35
    domain: definition
    inherited: true
    alias: pattern
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: string
  structured_pattern:
    name: structured_pattern
    description: the string value of the slot must conform to the regular expression
      in the pattern expression
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    inherited: true
    alias: structured_pattern
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: pattern_expression
  unit:
    name: unit
    description: an encoding of a unit
    from_schema: https://w3id.org/linkml/units
    rank: 1000
    slot_uri: qudt:unit
    alias: unit
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    - permissible_value
    range: UnitOfMeasure
  implicit_prefix:
    name: implicit_prefix
    description: Causes the slot value to be interpreted as a uriorcurie after prefixing
      with this string
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: slot_expression
    alias: implicit_prefix
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_string:
    name: equals_string
    description: the slot must have range string and the value of the slot must equal
      the specified value
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_string
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_string_in:
    name: equals_string_in
    description: the slot must have range string and the value of the slot must equal
      one of the specified values
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: testing
    multivalued: true
    inherited: true
    alias: equals_string_in
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_number:
    name: equals_number
    description: the slot must have range of a number and the value of the slot must
      equal the specified value
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: unstable
    inherited: true
    alias: equals_number
    owner: slot_definition
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  equals_expression:
    name: equals_expression
    description: the value of the slot must equal the value of the evaluated expression
    todos:
    - specify expression language
    comments:
    - for example, a 'length' slot may have an equals_expression with value '(end-start)+1'
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://github.com/linkml/linkml/issues/75
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_expression
    owner: slot_definition
    domain_of:
    - slot_expression
    range: string
  minimum_cardinality:
    name: minimum_cardinality
    description: the minimum number of entries for a multivalued slot
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: testing
    inherited: true
    alias: minimum_cardinality
    owner: slot_definition
    domain_of:
    - slot_expression
    range: integer
  maximum_cardinality:
    name: maximum_cardinality
    description: the maximum number of entries for a multivalued slot
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: testing
    inherited: true
    alias: maximum_cardinality
    owner: slot_definition
    domain_of:
    - slot_expression
    range: integer
  has_member:
    name: has_member
    description: the values of the slot is multivalued with at least one member satisfying
      the condition
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: testing
    alias: has_member
    owner: slot_definition
    domain_of:
    - slot_expression
    range: anonymous_slot_expression
    inlined: true
  all_members:
    name: all_members
    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```"
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    status: testing
    multivalued: true
    alias: all_members
    owner: slot_definition
    domain_of:
    - slot_expression
    range: slot_definition
    inlined: true
  none_of:
    name: none_of
    description: holds if none of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    exact_mappings:
    - sh:not
    rank: 105
    is_a: boolean_slot
    multivalued: true
    alias: none_of
    owner: slot_definition
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    description: holds if only one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    exact_mappings:
    - sh:xone
    rank: 103
    is_a: boolean_slot
    multivalued: true
    alias: exactly_one_of
    owner: slot_definition
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  any_of:
    name: any_of
    description: holds if at least one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    exact_mappings:
    - sh:or
    rank: 101
    is_a: boolean_slot
    multivalued: true
    alias: any_of
    owner: slot_definition
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  all_of:
    name: all_of
    description: holds if all of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    exact_mappings:
    - sh:and
    rank: 107
    is_a: boolean_slot
    multivalued: true
    alias: all_of
    owner: slot_definition
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  is_a:
    name: is_a
    description: A primary parent slot from which inheritable metaslots are propagated
    from_schema: https://w3id.org/linkml/meta
    rank: 11
    abstract: true
    domain: definition
    alias: is_a
    owner: slot_definition
    domain_of:
    - definition
    - anonymous_class_expression
    - definition
    - anonymous_class_expression
    range: slot_definition
  abstract:
    name: abstract
    description: Indicates the class or slot cannot be directly instantiated and is
      intended for grouping and specifying core inherited metaslots
    in_subset:
    - SpecificationSubset
    - BasicSubset
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    alias: abstract
    owner: slot_definition
    domain_of:
    - definition
    range: boolean
  mixin:
    name: mixin
    description: Indicates the class or slot is not intended to inherited from without
      being an is_a parent. mixins should not be inherited from using is_a, except
      by other mixins.
    in_subset:
    - SpecificationSubset
    - BasicSubset
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://en.wikipedia.org/wiki/Mixin
    aliases:
    - trait
    rank: 1000
    domain: definition
    alias: mixin
    owner: slot_definition
    domain_of:
    - definition
    range: boolean
  mixins:
    name: mixins
    description: A collection of secondary parent mixin slots from which inheritable
      metaslots are propagated
    from_schema: https://w3id.org/linkml/meta
    rank: 13
    domain: definition
    multivalued: true
    alias: mixins
    owner: slot_definition
    domain_of:
    - definition
    - definition
    range: slot_definition
  apply_to:
    name: 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.
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    multivalued: true
    alias: apply_to
    owner: slot_definition
    domain_of:
    - definition
    - definition
    range: slot_definition
  values_from:
    name: 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.'
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: definition
    multivalued: true
    alias: values_from
    owner: slot_definition
    domain_of:
    - definition
    range: uriorcurie
  created_by:
    name: created_by
    description: agent that created the element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: pav:createdBy
    alias: created_by
    owner: slot_definition
    domain_of:
    - definition
    range: uriorcurie
  created_on:
    name: created_on
    description: time at which the element was created
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: pav:createdOn
    alias: created_on
    owner: slot_definition
    domain_of:
    - definition
    range: datetime
  last_updated_on:
    name: last_updated_on
    description: time at which the element was last updated
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: pav:lastUpdatedOn
    alias: last_updated_on
    owner: slot_definition
    domain_of:
    - definition
    range: datetime
  modified_by:
    name: modified_by
    description: agent that modified the element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: oslc:modifiedBy
    alias: modified_by
    owner: slot_definition
    domain_of:
    - definition
    range: uriorcurie
  status:
    name: status
    description: status of the element
    examples:
    - value: bibo:draft
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://www.hl7.org/fhir/valueset-publication-status.html
    - https://www.hl7.org/fhir/versions.html#std-process
    aliases:
    - workflow status
    rank: 1000
    domain: element
    slot_uri: bibo:status
    alias: status
    owner: slot_definition
    domain_of:
    - definition
    range: uriorcurie
  string_serialization:
    name: string_serialization
    description: 'Used on a slot that stores the string serialization of the containing
      object. The syntax follows python formatted strings, with slot names enclosed
      in {}s. These are expanded using the values of those slots.

      We call the slot with the serialization the s-slot, the slots used in the {}s
      are v-slots. If both s-slots and v-slots are populated on an object then the
      value of the s-slot should correspond to the expansion.

      Implementations of frameworks may choose to use this property to either (a)
      PARSE: implement automated normalizations by parsing denormalized strings into
      complex objects (b) GENERARE: implement automated to_string labeling of complex
      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'
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://github.com/linkml/issues/128
    rank: 1000
    domain: definition
    inherited: false
    alias: string_serialization
    owner: slot_definition
    domain_of:
    - definition
    range: string
  name:
    name: 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.
    in_subset:
    - SpecificationSubset
    - OwlProfile
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://en.wikipedia.org/wiki/Data_element_name
    aliases:
    - short name
    - unique name
    exact_mappings:
    - schema:name
    rank: 1
    domain: element
    slot_uri: rdfs:label
    identifier: true
    alias: name
    owner: slot_definition
    domain_of:
    - element
    range: string
  id_prefixes:
    name: id_prefixes
    description: 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)
    - 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)
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://github.com/linkml/linkml/issues/194
    - https://github.com/linkml/linkml-model/issues/28
    rank: 1000
    domain: element
    multivalued: true
    alias: id_prefixes
    owner: slot_definition
    domain_of:
    - element
    range: ncname
  definition_uri:
    name: definition_uri
    description: the "native" URI of the element
    comments:
    - Formed by combining the default_prefix with the mangled element
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    readonly: filled in by the schema loader
    alias: definition_uri
    owner: slot_definition
    domain_of:
    - element
    range: uriorcurie
  local_names:
    name: local_names
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    multivalued: true
    alias: local_names
    owner: slot_definition
    domain_of:
    - element
    range: local_name
    inlined: true
  conforms_to:
    name: conforms_to
    description: An established standard to which the element conforms.
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: dcterms:conformsTo
    alias: conforms_to
    owner: slot_definition
    domain_of:
    - element
    range: string
  extensions:
    name: extensions
    description: a tag/text tuple attached to an arbitrary element
    from_schema: https://w3id.org/linkml/extensions
    rank: 1000
    domain: extensible
    multivalued: true
    alias: extensions
    owner: slot_definition
    domain_of:
    - extension
    - extensible
    range: extension
    inlined: true
  annotations:
    name: annotations
    description: a collection of tag/text tuples with the semantics of OWL Annotation
    from_schema: https://w3id.org/linkml/annotations
    rank: 1000
    is_a: extensions
    domain: annotatable
    multivalued: true
    alias: annotations
    owner: slot_definition
    domain_of:
    - annotatable
    - annotation
    range: annotation
    inlined: true
  description:
    name: description
    description: a description of the element's purpose and use
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - definition
    exact_mappings:
    - dcterms:description
    - schema:description
    rank: 5
    domain: element
    slot_uri: skos:definition
    alias: description
    owner: slot_definition
    domain_of:
    - common_metadata
    - permissible_value
    range: string
    recommended: true
  alt_descriptions:
    name: alt_descriptions
    description: A sourced alternative description for an element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - alternate definitions
    rank: 1000
    domain: element
    multivalued: true
    alias: alt_descriptions
    owner: slot_definition
    domain_of:
    - common_metadata
    range: alt_description
    inlined: true
  title:
    name: title
    description: the official title of the element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - long name
    rank: 3
    domain: element
    slot_uri: dcterms:title
    alias: title
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  deprecated:
    name: deprecated
    description: Description of why and when this element will no longer be used
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - owl:deprecated
    rank: 1000
    domain: element
    alias: deprecated
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  todos:
    name: todos
    description: Outstanding issue that needs resolution
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    multivalued: true
    alias: todos
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  notes:
    name: notes
    description: editorial notes about an element intended for internal consumption
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: skos:editorialNote
    multivalued: true
    alias: notes
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  comments:
    name: comments
    description: notes and comments about an element intended for external consumption
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    exact_mappings:
    - rdfs:comment
    rank: 1000
    domain: element
    slot_uri: skos:note
    multivalued: true
    alias: comments
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  examples:
    name: examples
    description: example usages of an element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    close_mappings:
    - vann:example
    rank: 1000
    singular_name: example
    domain: element
    multivalued: true
    alias: examples
    owner: slot_definition
    domain_of:
    - common_metadata
    range: example
    inlined: true
  in_subset:
    name: 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)
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: OIO:inSubset
    multivalued: true
    alias: in_subset
    owner: slot_definition
    domain_of:
    - common_metadata
    range: subset_definition
  from_schema:
    name: from_schema
    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
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: skos:inScheme
    readonly: supplied by the schema loader
    alias: from_schema
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uri
  imported_from:
    name: imported_from
    description: the imports entry that this element was derived from.  Empty means
      primary source
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    readonly: supplied by the schema loader
    alias: imported_from
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  source:
    name: source
    description: A related resource from which the element is derived.
    comments:
    - The described resource may be derived from the related resource in whole or
      in part
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - origin
    - derived from
    close_mappings:
    - prov:wasDerivedFrom
    - schema:isBasedOn
    rank: 1000
    domain: element
    slot_uri: dcterms:source
    alias: source
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  in_language:
    name: in_language
    notes:
    - Use a string from IETF BCP 47
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    slot_uri: schema:inLanguage
    alias: in_language
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  see_also:
    name: see_also
    description: a reference
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: element
    slot_uri: rdfs:seeAlso
    multivalued: true
    alias: see_also
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  deprecated element has exact replacement:
    name: deprecated element has exact replacement
    description: When an element is deprecated, it can be automatically replaced by
      this uri or curie
    from_schema: https://w3id.org/linkml/mappings
    mappings:
    - IAO:0100001
    rank: 1000
    alias: deprecated_element_has_exact_replacement
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  deprecated element has possible replacement:
    name: deprecated element has possible replacement
    description: When an element is deprecated, it can be potentially replaced by
      this uri or curie
    from_schema: https://w3id.org/linkml/mappings
    mappings:
    - OIO:consider
    rank: 1000
    alias: deprecated_element_has_possible_replacement
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  aliases:
    name: aliases
    description: Alaternate names for the element
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - synonyms
    - alternate names
    - alternative labels
    - designations
    exact_mappings:
    - schema:alternateName
    rank: 1000
    domain: element
    slot_uri: skos:altLabel
    multivalued: true
    alias: aliases
    owner: slot_definition
    domain_of:
    - common_metadata
    range: string
  structured_aliases:
    name: structured_aliases
    description: A list of structured_alias objects.
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    slot_uri: skosxl:altLabel
    multivalued: true
    alias: structured_aliases
    owner: slot_definition
    domain_of:
    - common_metadata
    range: structured_alias
    inlined: true
  mappings:
    name: 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.
    from_schema: https://w3id.org/linkml/mappings
    aliases:
    - xrefs
    - identifiers
    - alternate identifiers
    - alternate ids
    rank: 1000
    slot_uri: skos:mappingRelation
    multivalued: true
    alias: mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  exact mappings:
    name: exact mappings
    description: A list of terms from different schemas or terminology systems that
      have identical meaning.
    from_schema: https://w3id.org/linkml/mappings
    rank: 1000
    is_a: mappings
    slot_uri: skos:exactMatch
    multivalued: true
    inherited: false
    alias: exact_mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    - UnitOfMeasure
    range: uriorcurie
  close mappings:
    name: close mappings
    description: A list of terms from different schemas or terminology systems that
      have close meaning.
    from_schema: https://w3id.org/linkml/mappings
    rank: 1000
    is_a: mappings
    slot_uri: skos:closeMatch
    multivalued: true
    inherited: false
    alias: close_mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  related mappings:
    name: related mappings
    description: A list of terms from different schemas or terminology systems that
      have related meaning.
    from_schema: https://w3id.org/linkml/mappings
    rank: 1000
    is_a: mappings
    slot_uri: skos:relatedMatch
    multivalued: true
    inherited: false
    alias: related_mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  narrow mappings:
    name: narrow mappings
    description: A list of terms from different schemas or terminology systems that
      have narrower meaning.
    from_schema: https://w3id.org/linkml/mappings
    rank: 1000
    is_a: mappings
    slot_uri: skos:narrowMatch
    multivalued: true
    inherited: false
    alias: narrow_mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  broad mappings:
    name: broad mappings
    description: A list of terms from different schemas or terminology systems that
      have broader meaning.
    from_schema: https://w3id.org/linkml/mappings
    rank: 1000
    is_a: mappings
    slot_uri: skos:broadMatch
    multivalued: true
    inherited: false
    alias: broad_mappings
    owner: slot_definition
    domain_of:
    - common_metadata
    range: uriorcurie
  rank:
    name: rank
    description: the relative order in which the element occurs, lower values are
      given precedence
    comments:
    - the rank of an element does not affect the semantics
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - order
    - precedence
    - display order
    exact_mappings:
    - qudt:order
    rank: 51
    slot_uri: sh:order
    alias: rank
    owner: slot_definition
    domain_of:
    - common_metadata
    - class_rule
    range: integer