Class: definition
base class for definitions
URI: linkml:Definition
Parents
- is_a: Element - a named element in the model
Children
- ClassDefinition - the definition of a class or interface
- EnumDefinition - List of values that constrain the range of a slot
- SlotDefinition - the definition of a property or a slot
Referenced by Class
- Definition apply_to 0..* Definition
- Definition disjoint_with 0..* Definition
- Definition is_a 0..1 Definition
- Definition mixins 0..* Definition
- SlotDefinition owner 0..1 Definition
Attributes
Own
- 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: Definition
- in subsets: (basic,object_oriented)
- 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
- in subsets: (basic,object_oriented)
- mixin 0..1
- Description: this slot or class can only be used as a mixin.
- Range: Boolean
- in subsets: (basic,object_oriented)
- mixins 0..*
- Description: List of definitions to be mixed in. Targets may be any definition of the same type
- Range: Definition
- in subsets: (basic,object_oriented)
- 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: Definition
- 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. 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.
- Range: Uriorcurie
- created_by 0..1
- Description: agent that created the element
- Range: Uriorcurie
- in subsets: (basic)
- created_on 0..1
- Description: time at which the element was created
- Range: Datetime
- in subsets: (basic)
- last_updated_on 0..1
- Description: time at which the element was last updated
- Range: Datetime
- in subsets: (basic)
- modified_by 0..1
- Description: agent that modified the element
- Range: Uriorcurie
- in subsets: (basic)
- status 0..1
- Description: status of the element
- Range: Uriorcurie
- Example: bibo:draft None
- in subsets: (basic)
- 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
Inherited from element:
- 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,minimal,basic,relational_model,object_oriented)
- id_prefixes 0..*
- Description: the identifier of this class or slot must begin with the URIs referenced by this prefix
- Range: Ncname
- in subsets: (basic)
- definition_uri 0..1
- Description: the "native" URI of the element
- Range: Uriorcurie
- local_names 0..*
- Range: LocalName
- conforms_to 0..1
- Description: An established standard to which the element conforms.
- Range: String
- in subsets: (owl,basic)
Other properties
In Subsets: | basic | |
See also: | https://en.wikipedia.org/wiki/Data_element_definition |