Skip to content

Subset: SpecificationSubset

A subset that includes all the metamodel elements that form part of the normative LinkML specification.

__

The complete LinkML specification can be found at linkml:specification

URI: SpecificationSubset

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/linkml/meta

Classes in subset

Class Description
SchemaDefinition A collection of definitions that make up a schema or a data model
ClassDefinition an element whose instances are complex objects that may have slot-value assig...
SlotDefinition an element that describes how instances are related to other instances
TypeDefinition an element that whose instances are atomic scalar values that can be mapped t...
EnumDefinition an element whose instances must be drawn from a specified set of permissible ...
SubsetDefinition an element that can be used to group other metamodel elements
Prefix prefix URI tuple
PermissibleValue a permissible value, accompanied by intended text and an optional mapping to ...
UniqueKey a collection of slots whose values uniquely identify an instance of a class
MatchQuery A query that is used on an enum expression to dynamically obtain a set of per...
ReachabilityQuery A query that is used on an enum expression to dynamically obtain a set of per...
ClassRule A rule that applies to instances of a class
Setting assignment of a key to a value

SchemaDefinition

A collection of definitions that make up a schema or a data model.

Name Cardinality and Range Description
id 1..1
Uri
The official schema URI
name 1..1
Ncname
a unique name for the schema that is both human-readable and consists of only... identifier
classes 0..*
ClassDefinition
An index to the collection of all class definitions in the schema
slot_definitions 0..*
SlotDefinition
An index to the collection of all slot definitions in the schema
enums 0..*
EnumDefinition
An index to the collection of all enum definitions in the schema
subsets 0..*
SubsetDefinition
An index to the collection of all subset definitions in the schema
prefixes 0..*
Prefix
A collection of prefix expansions that specify how CURIEs can be expanded to ...
default_prefix 0..1
String
The prefix that is used for all elements within a schema
default_range 0..1
TypeDefinition
default slot range to be used if range element is omitted from a slot definit...
settings 0..*
Setting
A collection of global variable settings
imports 0..*
Uriorcurie
A list of schemas that are to be included in this schema
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

ClassDefinition

an element whose instances are complex objects that may have slot-value assignments

Name Cardinality and Range Description
name 1..1
String
the unique name of the element within the context of the schema identifier
class_uri 0..1
Uriorcurie
URI of the class that provides a semantic interpretation of the element in a ...
is_a 0..1
ClassDefinition
A primary parent class from which inheritable metaslots are propagated
mixins 0..*
ClassDefinition
A collection of secondary parent mixin classes from which inheritable metaslo...
slots 0..*
SlotDefinition
collection of slot names that are applicable to a class
slot_usage 0..*
SlotDefinition
the refinement of a slot in the context of the containing class definition
attributes 0..*
SlotDefinition
Inline definition of slots
tree_root 0..1
Boolean
Indicates that this is the Container class which forms the root of the serial...
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
any_of 0..*
AnonymousClassExpression
holds if at least one of the expressions hold
exactly_one_of 0..*
AnonymousClassExpression
holds if only one of the expressions hold
none_of 0..*
AnonymousClassExpression
holds if none of the expressions hold
all_of 0..*
AnonymousClassExpression
holds if all of the expressions hold
union_of 0..*
ClassDefinition
indicates that the domain element consists exactly of the members of the elem...
unique_keys 0..*
UniqueKey
A collection of named unique keys for this class
rules 0..*
ClassRule
the collection of rules that apply to all members of this class
classification_rules 0..*
AnonymousClassExpression
The collection of classification rules that apply to all members of this clas...
disjoint_with 0..*
ClassDefinition
Two classes are disjoint if they have no instances in common, two slots are d...
slot_conditions 0..*
SlotDefinition
expresses constraints on a group of slots for a class expression
abstract 0..1
Boolean
Indicates the class or slot cannot be directly instantiated and is intended f...
mixin 0..1
Boolean
Indicates the class or slot is intended to be inherited from without being an...
string_serialization 0..1
String
Used on a slot that stores the string serialization of the containing object
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

SlotDefinition

an element that describes how instances are related to other instances

Name Cardinality and Range Description
name 1..1
String
the unique name of the element within the context of the schema identifier
slot_uri 0..1
Uriorcurie
URI of the class that provides a semantic interpretation of the slot in a lin...
identifier 0..1
Boolean
True means that the key slot(s) uniquely identifies the elements
alias 0..1
String
the name used for a slot in the context of its owning class
multivalued 0..1
Boolean
true means that slot can have more than one value and should be represented u...
required 0..1
Boolean
true means that the slot must be present in instances of the class definition
recommended 0..1
Boolean
true means that the slot should be present in instances of the class definiti...
is_a 0..1
SlotDefinition
A primary parent slot from which inheritable metaslots are propagated
mixins 0..*
SlotDefinition
A collection of secondary parent mixin slots from which inheritable metaslots...
inlined 0..1
Boolean
True means that keyed or identified slot appears in an outer structure by val...
inlined_as_list 0..1
Boolean
True means that an inlined slot is represented as a list of range instances
pattern 0..1
String
the string value of the slot must conform to this regular expression expresse...
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
any_of 0..*
AnonymousSlotExpression
holds if at least one of the expressions hold
exactly_one_of 0..*
AnonymousSlotExpression
holds if only one of the expressions hold
none_of 0..*
AnonymousSlotExpression
holds if none of the expressions hold
all_of 0..*
AnonymousSlotExpression
holds if all of the expressions hold
domain 0..1
ClassDefinition
defines the type of the subject of the slot
inherited 0..1
Boolean
true means that the value of a slot is inherited by subclasses
ifabsent 0..1
String
function that provides a default value for the slot
list_elements_unique 0..1
Boolean
If True, then there must be no duplicates in the elements of a multivalued sl...
list_elements_ordered 0..1
Boolean
If True, then the order of elements of a multivalued slot is guaranteed to be...
shared 0..1
Boolean
If True, then the relationship between the slot domain and range is many to o...
key 0..1
Boolean
True means that the key slot(s) uniquely identify the elements within a singl...
designates_type 0..1
Boolean
True means that the key slot(s) is used to determine the instantiation (types...
symmetric 0..1
Boolean
If s is symmetric, and i
reflexive 0..1
Boolean
If s is reflexive, then i
locally_reflexive 0..1
Boolean
If s is locally_reflexive, then i
irreflexive 0..1
Boolean
If s is irreflexive, then there exists no i such i
asymmetric 0..1
Boolean
If s is antisymmetric, and i
transitive 0..1
Boolean
If s is transitive, and i
inverse 0..1
SlotDefinition
indicates that any instance of d s r implies that there is also an instance o...
transitive_form_of 0..1
SlotDefinition
If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transit...
reflexive_transitive_form_of 0..1
SlotDefinition
transitive_form_of including the reflexive case
slot_group 0..1
SlotDefinition
allows for grouping of related slots into a grouping slot that serves the rol...
is_grouping_slot 0..1
Boolean
true if this slot is a grouping slot
disjoint_with 0..*
SlotDefinition
Two classes are disjoint if they have no instances in common, two slots are d...
union_of 0..*
SlotDefinition
indicates that the domain element consists exactly of the members of the elem...
range 0..1
Element
defines the type of the object of the slot
range_expression 0..1
AnonymousClassExpression
A range that is described as a boolean expression combining existing ranges
enum_range 0..1
EnumExpression
An inlined enumeration
minimum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or higher th...
maximum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or lowe than...
structured_pattern 0..1
PatternExpression
the string value of the slot must conform to the regular expression in the pa...
implicit_prefix 0..1
String
Causes the slot value to be interpreted as a uriorcurie after prefixing with ...
equals_string 0..1
String
the slot must have range string and the value of the slot must equal the spec...
equals_string_in 0..*
String
the slot must have range string and the value of the slot must equal one of t...
equals_expression 0..1
String
the value of the slot must equal the value of the evaluated expression
minimum_cardinality 0..1
Integer
the minimum number of entries for a multivalued slot
maximum_cardinality 0..1
Integer
the maximum number of entries for a multivalued slot
has_member 0..1
AnonymousSlotExpression
the value of the slot is multivalued with at least one member satisfying the ...
all_members 0..1
AnonymousSlotExpression
the value of the slot is multivalued with all members satisfying the conditio...
abstract 0..1
Boolean
Indicates the class or slot cannot be directly instantiated and is intended f...
mixin 0..1
Boolean
Indicates the class or slot is intended to be inherited from without being an...
string_serialization 0..1
String
Used on a slot that stores the string serialization of the containing object
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

TypeDefinition

an element that whose instances are atomic scalar values that can be mapped to primitive types

Name Cardinality and Range Description
name 1..1
String
the unique name of the element within the context of the schema identifier
type_uri 0..1
Uriorcurie
The uri that defines the possible values for the type definition
typeof 0..1
TypeDefinition
A parent type from which type properties are inherited
base 0..1
String
python base type in the LinkML runtime that implements this type definition
repr 0..1
String
the name of the python object that implements this type definition
pattern 0..1
String
the string value of the slot must conform to this regular expression expresse...
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
any_of 0..*
AnonymousTypeExpression
holds if at least one of the expressions hold
exactly_one_of 0..*
AnonymousTypeExpression
holds if only one of the expressions hold
none_of 0..*
AnonymousTypeExpression
holds if none of the expressions hold
all_of 0..*
AnonymousTypeExpression
holds if all of the expressions hold
union_of 0..*
TypeDefinition
indicates that the domain element consists exactly of the members of the elem...
structured_pattern 0..1
PatternExpression
the string value of the slot must conform to the regular expression in the pa...
implicit_prefix 0..1
String
Causes the slot value to be interpreted as a uriorcurie after prefixing with ...
equals_string 0..1
String
the slot must have range string and the value of the slot must equal the spec...
equals_string_in 0..*
String
the slot must have range string and the value of the slot must equal one of t...
minimum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or higher th...
maximum_value 0..1
Integer
for slots with ranges of type number, the value must be equal to or lowe than...
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

EnumDefinition

an element whose instances must be drawn from a specified set of permissible values

Name Cardinality and Range Description
name 1..1
String
the unique name of the element within the context of the schema identifier
is_a 0..1
Definition
A primary parent class or slot from which inheritable metaslots are propagate...
mixins 0..*
Definition
A collection of secondary parent classes or slots from which inheritable meta...
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
enum_uri 0..1
Uriorcurie
URI of the enum that provides a semantic interpretation of the element in a l...
code_set 0..1
Uriorcurie
the identifier of an enumeration code set
pv_formula 0..1
PvFormulaOptions
Defines the specific formula to be used to generate the permissible values
permissible_values 0..*
PermissibleValue
A list of possible values for a slot range
include 0..*
AnonymousEnumExpression
An enum expression that yields a list of permissible values that are to be in...
minus 0..*
AnonymousEnumExpression
An enum expression that yields a list of permissible values that are to be su...
inherits 0..*
EnumDefinition
An enum definition that is used as the basis to create a new enum
reachable_from 0..1
ReachabilityQuery
Specifies a query for obtaining a list of permissible values based on graph r...
matches 0..1
MatchQuery
Specifies a match query that is used to calculate the list of permissible val...
concepts 0..*
Uriorcurie
A list of identifiers that are used to construct a set of permissible values
abstract 0..1
Boolean
Indicates the class or slot cannot be directly instantiated and is intended f...
mixin 0..1
Boolean
Indicates the class or slot is intended to be inherited from without being an...
string_serialization 0..1
String
Used on a slot that stores the string serialization of the containing object
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

SubsetDefinition

an element that can be used to group other metamodel elements

Name Cardinality and Range Description
name 1..1
String
the unique name of the element within the context of the schema identifier
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
id_prefixes 0..*
Ncname
An allowed list of prefixes for which identifiers must conform
from_schema 0..1
Uri
id of the schema that defined the element

Prefix

prefix URI tuple

Name Cardinality and Range Description
prefix_prefix 1..1
Ncname
The prefix components of a prefix expansions
prefix_reference 1..1
Uri
The namespace to which a prefix expands to

PermissibleValue

a permissible value, accompanied by intended text and an optional mapping to a concept URI

Name Cardinality and Range Description
text 1..1
String
The actual permissible value itself identifier
meaning 0..1
Uriorcurie
the value meaning of a permissible value
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
from_schema 0..1
Uri
id of the schema that defined the element

UniqueKey

a collection of slots whose values uniquely identify an instance of a class

Name Cardinality and Range Description
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
unique_key_name 1..1
String
name of the unique key
unique_key_slots 1..*
SlotDefinition
list of slot names that form a key
from_schema 0..1
Uri
id of the schema that defined the element

MatchQuery

A query that is used on an enum expression to dynamically obtain a set of permissivle values via a query that matches on properties of the external concepts.

Name Cardinality and Range Description
identifier_pattern 0..1
String
A regular expression that is used to obtain a set of identifiers from a sourc...
source_ontology 0..1
Uriorcurie
An ontology or vocabulary or terminology that is used in a query to obtain a ...

ReachabilityQuery

A query that is used on an enum expression to dynamically obtain a set of permissible values via walking from a set of source nodes to a set of descendants or ancestors over a set of relationship types.

Name Cardinality and Range Description
source_ontology 0..1
Uriorcurie
An ontology or vocabulary or terminology that is used in a query to obtain a ...
source_nodes 0..*
Uriorcurie
A list of nodes that are used in the reachability query
relationship_types 0..*
Uriorcurie
A list of relationship types (properties) that are used in a reachability que...
is_direct 0..1
Boolean
True if the reachability query should only include directly related nodes, if...
include_self 0..1
Boolean
True if the query is reflexive
traverse_up 0..1
Boolean
True if the direction of the reachability query is reversed and ancestors are...

ClassRule

A rule that applies to instances of a class

Name Cardinality and Range Description
rank 0..1
Integer
the relative order in which the element occurs, lower values are given preced...
preconditions 0..1
AnonymousClassExpression
an expression that must hold in order for the rule to be applicable to an ins...
postconditions 0..1
AnonymousClassExpression
an expression that must hold for an instance of the class, if the preconditio...
elseconditions 0..1
AnonymousClassExpression
an expression that must hold for an instance of the class, if the preconditio...
bidirectional 0..1
Boolean
in addition to preconditions entailing postconditions, the postconditions ent...
open_world 0..1
Boolean
if true, the the postconditions may be omitted in instance data, but it is va...
from_schema 0..1
Uri
id of the schema that defined the element

Setting

assignment of a key to a value

Name Cardinality and Range Description
setting_key 1..1
Ncname
the variable name for a setting
setting_value 1..1
String
The value assigned for a setting

Slots in subset

Slot Description
id The official schema URI
name the unique name of the element within the context of the schema
prefix_prefix The prefix components of a prefix expansions
class_uri URI of the class that provides a semantic interpretation of the element in a ...
slot_uri URI of the class that provides a semantic interpretation of the slot in a lin...
type_uri The uri that defines the possible values for the type definition
prefix_reference The namespace to which a prefix expands to
classes An index to the collection of all class definitions in the schema
slot_definitions An index to the collection of all slot definitions in the schema
enums An index to the collection of all enum definitions in the schema
identifier True means that the key slot(s) uniquely identifies the elements
alias the name used for a slot in the context of its owning class
multivalued true means that slot can have more than one value and should be represented u...
typeof A parent type from which type properties are inherited
subsets An index to the collection of all subset definitions in the schema
required true means that the slot must be present in instances of the class definition
base python base type in the LinkML runtime that implements this type definition
recommended true means that the slot should be present in instances of the class definiti...
repr the name of the python object that implements this type definition
prefixes A collection of prefix expansions that specify how CURIEs can be expanded to ...
is_a A primary parent class or slot from which inheritable metaslots are propagate...
default_prefix The prefix that is used for all elements within a schema
mixins A collection of secondary parent classes or slots from which inheritable meta...
default_range default slot range to be used if range element is omitted from a slot definit...
slots collection of slot names that are applicable to a class
settings A collection of global variable settings
text The actual permissible value itself
imports A list of schemas that are to be included in this schema
meaning the value meaning of a permissible value
slot_usage the refinement of a slot in the context of the containing class definition
inlined True means that keyed or identified slot appears in an outer structure by val...
inlined_as_list True means that an inlined slot is represented as a list of range instances
inlined_as_simple_dict True means that an inlined slot is represented as a simple dict whose values ...
attributes Inline definition of slots
tree_root Indicates that this is the Container class which forms the root of the serial...
pattern the string value of the slot must conform to this regular expression expresse...
rank the relative order in which the element occurs, lower values are given preced...
any_of holds if at least one of the expressions hold
exactly_one_of holds if only one of the expressions hold
none_of holds if none of the expressions hold
all_of holds if all of the expressions hold
preconditions an expression that must hold in order for the rule to be applicable to an ins...
postconditions an expression that must hold for an instance of the class, if the preconditio...
elseconditions an expression that must hold for an instance of the class, if the preconditio...
id_prefixes An allowed list of prefixes for which identifiers must conform
from_schema id of the schema that defined the element
abstract Indicates the class or slot cannot be directly instantiated and is intended f...
mixin Indicates the class or slot is intended to be inherited from without being an...
code_set the identifier of an enumeration code set
pv_formula Defines the specific formula to be used to generate the permissible values
permissible_values A list of possible values for a slot range
enum_uri URI of the enum that provides a semantic interpretation of the element in a l...
include An enum expression that yields a list of permissible values that are to be in...
minus An enum expression that yields a list of permissible values that are to be su...
inherits An enum definition that is used as the basis to create a new enum
matches Specifies a match query that is used to calculate the list of permissible val...
identifier_pattern A regular expression that is used to obtain a set of identifiers from a sourc...
concepts A list of identifiers that are used to construct a set of permissible values
reachable_from Specifies a query for obtaining a list of permissible values based on graph r...
source_ontology An ontology or vocabulary or terminology that is used in a query to obtain a ...
is_direct True if the reachability query should only include directly related nodes, if...
traverse_up True if the direction of the reachability query is reversed and ancestors are...
include_self True if the query is reflexive
relationship_types A list of relationship types (properties) that are used in a reachability que...
source_nodes A list of nodes that are used in the reachability query
enum_range An inlined enumeration
range_expression A range that is described as a boolean expression combining existing ranges
bidirectional in addition to preconditions entailing postconditions, the postconditions ent...
open_world if true, the the postconditions may be omitted in instance data, but it is va...
rules the collection of rules that apply to all members of this class
classification_rules The collection of classification rules that apply to all members of this clas...
slot_conditions expresses constraints on a group of slots for a class expression
union_of indicates that the domain element consists exactly of the members of the elem...
unique_keys A collection of named unique keys for this class
unique_key_name name of the unique key
unique_key_slots list of slot names that form a key
domain defines the type of the subject of the slot
range defines the type of the object of the slot
inherited true means that the value of a slot is inherited by subclasses
ifabsent function that provides a default value for the slot
implicit_prefix Causes the slot value to be interpreted as a uriorcurie after prefixing with ...
equals_string the slot must have range string and the value of the slot must equal the spec...
equals_expression the value of the slot must equal the value of the evaluated expression
minimum_cardinality the minimum number of entries for a multivalued slot
maximum_cardinality the maximum number of entries for a multivalued slot
equals_string_in the slot must have range string and the value of the slot must equal one of t...
equals_number_in the slot must have range number and the value of the slot must equal one of t...
has_member the value of the slot is multivalued with at least one member satisfying the ...
all_members the value of the slot is multivalued with all members satisfying the conditio...
inapplicable true means that values for this slot must not be present
list_elements_ordered If True, then the order of elements of a multivalued slot is guaranteed to be...
list_elements_unique If True, then there must be no duplicates in the elements of a multivalued sl...
shared If True, then the relationship between the slot domain and range is many to o...
key True means that the key slot(s) uniquely identify the elements within a singl...
designates_type True means that the key slot(s) is used to determine the instantiation (types...
disjoint_with Two classes are disjoint if they have no instances in common, two slots are d...
symmetric If s is symmetric, and i
asymmetric If s is antisymmetric, and i
reflexive If s is reflexive, then i
irreflexive If s is irreflexive, then there exists no i such i
locally_reflexive If s is locally_reflexive, then i
transitive If s is transitive, and i
transitive_form_of If s transitive_form_of d, then (1) s holds whenever d holds (2) s is transit...
reflexive_transitive_form_of transitive_form_of including the reflexive case
inverse indicates that any instance of d s r implies that there is also an instance o...
minimum_value for slots with ranges of type number, the value must be equal to or higher th...
maximum_value for slots with ranges of type number, the value must be equal to or lowe than...
interpolated if true then the pattern is first string interpolated
partial_match if not true then the pattern must match the whole string, as if enclosed in ^
syntax the string value of the slot must conform to this regular expression expresse...
structured_pattern the string value of the slot must conform to the regular expression in the pa...
string_serialization Used on a slot that stores the string serialization of the containing object
setting_key the variable name for a setting
setting_value The value assigned for a setting
slot_group allows for grouping of related slots into a grouping slot that serves the rol...
is_grouping_slot true if this slot is a grouping slot

Enumerations in subset

Enumeration Description
PvFormulaOptions The formula used to generate the set of permissible values from the code_set ...