id: slot_definition
schema_generating: true
description: the definition of a property or a slot
display_name: slot_definition
document_category: slot_definition
weight: 20
fields:
- id: 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.
  display_name: name
- id: id_prefixes
  description: the identifier of this class or slot must begin with the URIs referenced
    by this prefix
  display_name: id_prefixes
  cardinality: multi
- id: definition_uri
  description: the "native" URI of the element
  display_name: definition_uri
- id: aliases
  display_name: aliases
  cardinality: multi
- id: local_names
  display_name: local_names
  cardinality: multi
- id: conforms_to
  description: An established standard to which the element conforms.
  display_name: conforms_to
- id: 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.
  display_name: mappings
  cardinality: multi
- id: exact_mappings
  description: A list of terms from different schemas or terminology systems that
    have identical meaning.
  display_name: exact mappings
  cardinality: multi
- id: close_mappings
  description: A list of terms from different schemas or terminology systems that
    have close meaning.
  display_name: close mappings
  cardinality: multi
- id: related_mappings
  description: A list of terms from different schemas or terminology systems that
    have related meaning.
  display_name: related mappings
  cardinality: multi
- id: narrow_mappings
  description: A list of terms from different schemas or terminology systems that
    have narrower meaning.
  display_name: narrow mappings
  cardinality: multi
- id: broad_mappings
  description: A list of terms from different schemas or terminology systems that
    have broader meaning.
  display_name: broad mappings
  cardinality: multi
- id: extensions
  description: a tag/text tuple attached to an arbitrary element
  display_name: extensions
  cardinality: multi
- id: annotations
  description: a collection of tag/text tuples with the semantics of OWL Annotation
  display_name: annotations
  cardinality: multi
- id: description
  description: a description of the element's purpose and use
  display_name: description
- id: alt_descriptions
  display_name: alt_descriptions
  cardinality: multi
- id: title
  description: the official title of the element
  display_name: title
- id: deprecated
  description: Description of why and when this element will no longer be used
  display_name: deprecated
- id: todos
  description: Outstanding issue that needs resolution
  display_name: todos
  cardinality: multi
- id: notes
  description: editorial notes about an element intended for internal consumption
  display_name: notes
  cardinality: multi
- id: comments
  description: notes and comments about an element intended for external consumption
  display_name: comments
  cardinality: multi
- id: examples
  description: example usages of an element
  display_name: examples
  cardinality: multi
- id: 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)
  display_name: in_subset
  cardinality: multi
- id: from_schema
  description: id of the schema that defined the element
  display_name: from_schema
- id: imported_from
  description: the imports entry that this element was derived from.  Empty means
    primary source
  display_name: imported_from
- id: see_also
  description: a reference
  display_name: see_also
  cardinality: multi
- id: deprecated_element_has_exact_replacement
  description: When an element is deprecated, it can be automatically replaced by
    this uri or curie
  display_name: deprecated element has exact replacement
- id: deprecated_element_has_possible_replacement
  description: When an element is deprecated, it can be potentially replaced by this
    uri or curie
  display_name: deprecated element has possible replacement
- id: 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.
  display_name: abstract
- id: mixin
  description: this slot or class can only be used as a mixin.
  display_name: mixin
- id: values_from
  description: the identifier of a "value set" -- a set of identifiers that form the
    possible values for the range of a slot
  display_name: values_from
  cardinality: multi
- id: created_by
  description: agent that created the element
  display_name: created_by
- id: created_on
  description: time at which the element was created
  display_name: created_on
- id: last_updated_on
  description: time at which the element was last updated
  display_name: last_updated_on
- id: modified_by
  description: agent that modified the element
  display_name: modified_by
- id: status
  description: status of the element
  display_name: status
- id: 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'
  display_name: string_serialization
- id: singular_name
  description: a name that is used in the singular form
  display_name: singular_name
- id: 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"
  display_name: domain
- id: slot_uri
  description: predicate of this slot for semantic web application
  display_name: slot_uri
- id: multivalued
  description: true means that slot can have more than one value
  display_name: multivalued
- id: inherited
  description: true means that the *value* of a slot is inherited by subclasses
  display_name: inherited
- id: readonly
  description: If present, slot is read only.  Text explains why
  display_name: readonly
- id: ifabsent
  description: "function that provides a default value for the slot.  Possible values\
    \ for this slot are defined in biolink.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"
  display_name: ifabsent
- id: 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.
  display_name: inlined
- id: 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.
  display_name: inlined_as_list
- id: key
  description: True means that the key slot(s) uniquely identify the container.
  display_name: key
- id: identifier
  description: True means that the key slot(s) uniquely identify the container. There
    can be at most one identifier or key per container
  display_name: identifier
- id: designates_type
  description: True means that the key slot(s) is used to determine the instantiation
    (types) relation between objects and a ClassDefinition
  display_name: designates_type
- id: 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.
  display_name: alias
- id: owner
  description: the "owner" of the slot. It is the class if it appears in the slots
    list, otherwise the declaring slot
  display_name: owner
- id: domain_of
  description: the class(es) that reference the slot in a "slots" or "slot_usage"
    context
  display_name: domain_of
  cardinality: multi
- id: subproperty_of
  description: Ontology property which this slot is a subproperty of
  display_name: subproperty_of
- id: symmetric
  description: True means that any instance of  d s r implies that there is also an
    instance of r s d
  display_name: symmetric
- id: inverse
  description: indicates that any instance of d s r implies that there is also an
    instance of r s' d
  display_name: inverse
- id: is_class_field
  description: indicates that any instance, i,  the domain of this slot will include
    an assert of i s range
  display_name: is_class_field
- id: role
  description: the role played by the slot range
  display_name: role
- id: is_usage_slot
  description: True means that this slot was defined in a slot_usage situation
  display_name: is_usage_slot
- id: usage_slot_name
  description: The name of the slot referenced in the slot_usage
  display_name: usage_slot_name
- id: 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
  display_name: slot_definition_is_a
- id: mixins
  description: List of definitions to be mixed in. Targets may be any definition of
    the same type
  display_name: slot_definition_mixins
  cardinality: multi
- id: 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.
  display_name: slot_definition_apply_to
  cardinality: multi
- id: 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"
  display_name: range
- id: range_expression
  description: A range that is described as a boolean expression combining existing
    ranges
  display_name: range_expression
- id: required
  description: true means that the slot must be present in the loaded definition
  display_name: required
- id: recommended
  description: true means that the slot should be present in the loaded definition,
    but this is not required
  display_name: recommended
- id: minimum_value
  description: for slots with ranges of type number, the value must be equal to or
    higher than this
  display_name: minimum_value
- id: maximum_value
  description: for slots with ranges of type number, the value must be equal to or
    lowe than this
  display_name: maximum_value
- id: pattern
  description: the string value of the slot must conform to this regular expression
  display_name: pattern
- id: equals_string
  description: the slot must have range string and the value of the slot must equal
    the specified value
  display_name: equals_string
- id: equals_string_in
  description: the slot must have range string and the value of the slot must equal
    one of the specified values
  display_name: equals_string_in
  cardinality: multi
- id: equals_number
  description: the slot must have range of a number and the value of the slot must
    equal the specified value
  display_name: equals_number
- id: equals_expression
  description: the value of the slot must equal the value of the evaluated expression
  display_name: equals_expression
- id: minimum_cardinality
  description: the minimum number of entries for a multivalued slot
  display_name: minimum_cardinality
- id: maximum_cardinality
  description: the maximum number of entries for a multivalued slot
  display_name: maximum_cardinality
- id: has_member
  description: the values of the slot is multivalued with at least one member satisfying
    the condition
  display_name: has_member
- id: 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```"
  display_name: all_members
  cardinality: multi
- id: none_of
  description: holds if none of the expressions hold
  display_name: slot_expression_none_of
  cardinality: multi
- id: exactly_one_of
  description: holds if only one of the expressions hold
  display_name: slot_expression_exactly_one_of
  cardinality: multi
- id: any_of
  description: holds if at least one of the expressions hold
  display_name: slot_expression_any_of
  cardinality: multi
- id: all_of
  description: holds if all of the expressions hold
  display_name: slot_expression_all_of
  cardinality: multi
