Class: class_definition

the definition of a class or interface

URI: linkml:ClassDefinition

img

Parents

Uses Mixin

  • mixin: ClassExpression - A boolean expression that can be used to dynamically determine membership of a class

Referenced by Class

Attributes

Own

  • slots 0..*
    • Description: list of slot names that are applicable to a class
    • Range: SlotDefinition
    • in subsets: (basic)
  • slot_usage 0..*
    • Description: the redefinition of a slot in the context of the containing class definition.
    • Range: SlotDefinition
    • in subsets: (basic)
  • attributes 0..*
    • Description: Inline definition of slots
    • Range: SlotDefinition
    • in subsets: (minimal,basic,relational_model,object_oriented)
  • class_uri 0..1
    • Description: URI of the class in an RDF environment
    • Range: Uriorcurie
    • in subsets: (basic)
  • subclass_of 0..1
    • Description: rdfs:subClassOf to be emitted in OWL generation
    • Range: Uriorcurie
  • union_of 0..*
    • Description: indicates that the domain class consists exactly of the members of the classes in the range
    • Range: ClassDefinition
  • defining_slots 0..*
    • Description: The combination of is a plus defining slots form a genus-differentia definition, or the set of necessary and sufficient conditions that can be transformed into an OWL equivalence axiom
    • Range: SlotDefinition
  • tree_root 0..1
    • Description: indicator that this is the root class in tree structures
    • Range: Boolean
    • in subsets: (basic)
  • unique_keys 0..*
    • Description: Set of unique keys for this slot
    • Range: UniqueKey
    • in subsets: (basic,relational_model)
  • class_definition➞rules 0..*
    • Description: the collection of rules that apply to all members of this class
    • Range: ClassRule
  • classification_rules 0..*
    • Description: the collection of classification rules that apply to all members of this class
    • Range: AnonymousClassExpression
  • slot_names_unique 0..1
    • Description: if true then induced/mangled slot names are not created for class_usage and attributes
    • Range: Boolean
  • represents_relationship 0..1
    • Description: true if this class represents a relationship rather than an entity
    • Range: Boolean
  • class_definition➞disjoint_with 0..*
    • 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
    • Range: ClassDefinition
  • children_are_mutually_disjoint 0..1
    • Description: If true then all direct is_a children are mutually disjoint and share no instances in common
    • Range: Boolean
  • class_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: ClassDefinition
    • in subsets: (basic,object_oriented)
  • class_definition➞mixins 0..*
    • Description: List of definitions to be mixed in. Targets may be any definition of the same type
    • Range: ClassDefinition
    • in subsets: (basic,object_oriented)
  • class_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: ClassDefinition

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,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..*
  • conforms_to 0..1
    • Description: An established standard to which the element conforms.
    • Range: String
    • in subsets: (owl,basic)
  • 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)
  • 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

Mixed in from class_expression:

Mixed in from class_expression:

Mixed in from class_expression:

Mixed in from class_expression:

Mixed in from class_expression:

Other properties

Aliases: table
record
template
message
observation
In Subsets: minimal
basic
relational_model
object_oriented
Close Mappings: owl:Class