Class: slot_definition - LinkML Model

# Class: slot_definition

the definition of a property or a slot

URI: linkml:SlotDefinition

## Parents

- is_a: Definition - base class for definitions

## Referenced by Class

- ClassDefinition attributes 0..* SlotDefinition
- ClassDefinition defining_slots 0..* SlotDefinition
- SlotDefinition inverse 0..1 SlotDefinition
- SlotDefinition slot_definition➞apply_to 0..* SlotDefinition
- SlotDefinition slot_definition➞is_a 0..1 SlotDefinition
- SlotDefinition slot_definition➞mixins 0..* SlotDefinition
- SchemaDefinition schema_definition➞slots 0..* SlotDefinition
- ClassDefinition slot_usage 0..* SlotDefinition
- ClassDefinition slots 0..* SlotDefinition
- SlotDefinition subproperty_of 0..1 SlotDefinition
- UniqueKey unique_key_slots 1..* SlotDefinition

## Attributes

### Own

- singular_name 0..1
  - Description: a name that is used in the singular form
  - Range: String
- domain 0..1
  - Description: defines the type of the subject of the slot. Given the following slot definition S1: domain: C1 range: C2 the declaration X: S1: Y

implicitly asserts that X is an instance of C1

     * Range: [ClassDefinition](ClassDefinition.md)

- range 0..1
  - Description: defines the type of the object of the slot. Given the following slot definition S1: domain: C1 range: C2 the declaration X: S1: Y

implicitly asserts Y is an instance of C2

     * Range: [Element](Element.md)

- slot_uri 0..1
  - Description: predicate of this slot for semantic web application
  - Range: Uriorcurie
- multivalued 0..1
  - Description: true means that slot can have more than one value
  - Range: Boolean
- inherited 0..1
  - Description: true means that the value of a slot is inherited by subclasses
  - Range: Boolean
- readonly 0..1
  - Description: If present, slot is read only. Text explains why
  - Range: String
- ifabsent 0..1
  - Description: function that provides a default value for the slot. Possible values for this slot are defined in biolink.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
  - Range: String
- required 0..1
  - Description: true means that the slot must be present in the loaded definition
  - Range: Boolean
- recommended 0..1
  - Description: true means that the slot should be present in the loaded definition, but this is not required
  - Range: Boolean
- inlined 0..1
  - 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.
  - Range: Boolean
- inlined_as_list 0..1
  - 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.
  - Range: Boolean
- key 0..1
  - Description: True means that the key slot(s) uniquely identify the container.
  - Range: Boolean
- identifier 0..1
  - Description: True means that the key slot(s) uniquely identify the container. There can be at most one identifier or key per container
  - Range: Boolean
- designates_type 0..1
  - Description: True means that the key slot(s) is used to determine the instantiation (types) relation between objects and a ClassDefinition
  - Range: Boolean
- alias 0..1
  - 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.
  - Range: String
- owner 0..1
  - Description: the "owner" of the slot. It is the class if it appears in the slots list, otherwise the declaring slot
  - Range: Definition
- domain_of 0..*
  - Description: the class(es) that reference the slot in a "slots" or "slot_usage" context
  - Range: ClassDefinition
- subproperty_of 0..1
  - Description: Ontology property which this slot is a subproperty of
  - Range: SlotDefinition
- symmetric 0..1
  - Description: True means that any instance of d s r implies that there is also an instance of r s d
  - Range: Boolean
- inverse 0..1
  - Description: indicates that any instance of d s r implies that there is also an instance of r s' d
  - Range: SlotDefinition
- is_class_field 0..1
  - Description: indicates that any instance, i, the domain of this slot will include an assert of i s range
  - Range: Boolean
- role 0..1
  - Description: the role played by the slot range
  - Range: String
- is_usage_slot 0..1
  - Description: True means that this slot was defined in a slot_usage situation
  - Range: Boolean
- usage_slot_name 0..1
  - Description: The name of the slot referenced in the slot_usage
  - Range: String
- minimum_value 0..1
  - Description: for slots with ranges of type number, the value must be equal to or higher than this
  - Range: Integer
- maximum_value 0..1
  - Description: for slots with ranges of type number, the value must be equal to or lowe than this
  - Range: Integer
- pattern 0..1
  - Description: the string value of the slot must conform to this regular expression
  - Range: String
- slot_definition➞is_a 0..1
  - Range: SlotDefinition
- slot_definition➞mixins 0..*
  - Range: SlotDefinition
- slot_definition➞apply_to 0..*
  - Range: SlotDefinition

### Inherited from definition:

- name 1..1
  - 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.
  - Range: String
  - in subsets: (owl)
- title 0..1
  - Description: the official title of the element
  - Range: String
  - in subsets: (owl)
- id_prefixes 0..*
  - Description: the identifier of this class or slot must begin with the URIs referenced by this prefix
  - Range: Ncname
- definition_uri 0..1
  - Description: the "native" URI of the element
  - Range: Uriorcurie
- aliases 0..*
  - Range: String
- local_names 0..*
  - Range: LocalName
- mappings 0..*
  - 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.
  - Range: Uriorcurie
- exact mappings 0..*
  - Description: A list of terms from different schemas or terminology systems that have identical meaning.
  - Range: Uriorcurie
- close mappings 0..*
  - Description: A list of terms from different schemas or terminology systems that have close meaning.
  - Range: Uriorcurie
- related mappings 0..*
  - Description: A list of terms from different schemas or terminology systems that have related meaning.
  - Range: Uriorcurie
- narrow mappings 0..*
  - Description: A list of terms from different schemas or terminology systems that have narrower meaning.
  - Range: Uriorcurie
- broad mappings 0..*
  - Description: A list of terms from different schemas or terminology systems that have broader meaning.
  - Range: Uriorcurie
- abstract 0..1
  - 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.
  - Range: Boolean
- mixin 0..1
  - Description: this slot or class can only be used as a mixin.
  - Range: Boolean
- values_from 0..*
  - Description: the identifier of a "value set" -- a set of identifiers that form the possible values for the range of a slot
  - Range: Uriorcurie
- created_by 0..1
  - Description: agent that created the element
  - Range: Uriorcurie
- created_on 0..1
  - Description: time at which the element was created
  - Range: Datetime
- last_updated_on 0..1
  - Description: time at which the element was last updated
  - Range: Datetime
- modified_by 0..1
  - Description: agent that modified the element
  - Range: Uriorcurie
- status 0..1
  - Description: status of the element
  - Range: Uriorcurie
  - Example: bibo:draft None
- string_serialization 0..1
  - 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
  - Range: String

## Other properties

Aliases: |  | slot
|  | field
|  | property
|  | attribute
|  | column
|  | variable
Close Mappings: |  | rdf:Property