Class: slot_definition

the definition of a property or a slot

URI: linkml:SlotDefinition

img

Parents

Uses Mixin

  • mixin: SlotExpression - an expression that constrains the range of values a slot can take

Referenced by Class

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)
  • 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
  • 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
  • slot_definition➞is_a 0..1
    • 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
    • Range: SlotDefinition
  • slot_definition➞mixins 0..*
    • Description: List of definitions to be mixed in. Targets may be any definition of the same type
    • Range: SlotDefinition
  • slot_definition➞apply_to 0..*
    • 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.
    • 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)
  • 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..*
  • local_names 0..*
  • conforms_to 0..1
    • Description: An established standard to which the element conforms.
    • Range: String
  • 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

Mixed in from slot_expression:

  • 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)

Mixed in from slot_expression:

Mixed in from slot_expression:

  • required 0..1
    • Description: true means that the slot must be present in the loaded definition
    • Range: Boolean

Mixed in from slot_expression:

  • recommended 0..1
    • Description: true means that the slot should be present in the loaded definition, but this is not required
    • Range: Boolean

Mixed in from slot_expression:

  • minimum_value 0..1
    • Description: for slots with ranges of type number, the value must be equal to or higher than this
    • Range: Integer

Mixed in from slot_expression:

  • maximum_value 0..1
    • Description: for slots with ranges of type number, the value must be equal to or lowe than this
    • Range: Integer

Mixed in from slot_expression:

  • pattern 0..1
    • Description: the string value of the slot must conform to this regular expression
    • Range: String

Mixed in from slot_expression:

  • equals_string 0..1
    • Description: the slot must have range string and the value of the slot must equal the specified value
    • Range: String

Mixed in from slot_expression:

  • equals_string_in 0..*
    • Description: the slot must have range string and the value of the slot must equal one of the specified values
    • Range: String

Mixed in from slot_expression:

  • equals_number 0..1
    • Description: the slot must have range of a number and the value of the slot must equal the specified value
    • Range: Integer

Mixed in from slot_expression:

  • equals_expression 0..1
    • Description: the value of the slot must equal the value of the evaluated expression
    • Range: String

Mixed in from slot_expression:

Mixed in from slot_expression:

Mixed in from slot_expression:

Mixed in from slot_expression:

  • all_members 0..*
    • Description: the value of the multiavlued slot is a list where all elements conform to the specified values. this defines a dynamic class with named slots according to matching constraints

E.g to state that all members of a list are between 1 and 10

all_members:
  x:
    range: integer
    minimum_value: 10
    maximum_value: 10
 * Range: [SlotDefinition](SlotDefinition.md)

Mixed in from slot_expression:

Mixed in from slot_expression:

Mixed in from slot_expression:

Mixed in from slot_expression:

Other properties

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