Class: SlotExpression
an expression that constrains the range of values a slot can take
 classDiagram
    class SlotExpression
      Expression <|-- SlotExpression
      SlotExpression <|-- AnonymousSlotExpression
      SlotExpression <|-- SlotDefinition
      SlotExpression : all_members
          SlotExpression --|> anonymous_slot_expression : all_members
      SlotExpression : all_of
          SlotExpression --|> anonymous_slot_expression : all_of
      SlotExpression : any_of
          SlotExpression --|> anonymous_slot_expression : any_of
      SlotExpression : enum_range
          SlotExpression --|> enum_expression : enum_range
      SlotExpression : equals_expression
      SlotExpression : equals_number
      SlotExpression : equals_string
      SlotExpression : equals_string_in
      SlotExpression : exactly_one_of
          SlotExpression --|> anonymous_slot_expression : exactly_one_of
      SlotExpression : has_member
          SlotExpression --|> anonymous_slot_expression : has_member
      SlotExpression : implicit_prefix
      SlotExpression : inlined
      SlotExpression : inlined_as_list
      SlotExpression : maximum_cardinality
      SlotExpression : maximum_value
      SlotExpression : minimum_cardinality
      SlotExpression : minimum_value
      SlotExpression : none_of
          SlotExpression --|> anonymous_slot_expression : none_of
      SlotExpression : pattern
      SlotExpression : range
          SlotExpression --|> element : range
      SlotExpression : range_expression
          SlotExpression --|> anonymous_class_expression : range_expression
      SlotExpression : recommended
      SlotExpression : required
      SlotExpression : structured_pattern
          SlotExpression --|> pattern_expression : structured_pattern
      SlotExpression : unit
          SlotExpression --|> UnitOfMeasure : unit
      SlotExpression : value_presence
          SlotExpression --|> presence_enum : value_presence
Inheritance
- Expression
- SlotExpression
 
 
Slots
| Name | Cardinality and Range | Description | Inheritance | 
|---|---|---|---|
| range | 0..1  Element  | 
defines the type of the object of the slot | direct | 
| range_expression | 0..1  AnonymousClassExpression  | 
A range that is described as a boolean expression combining existing ranges | direct | 
| enum_range | 0..1  EnumExpression  | 
An inlined enumeration | direct | 
| required | 0..1  Boolean  | 
true means that the slot must be present in instances of the class definition | direct | 
| recommended | 0..1  Boolean  | 
true means that the slot should be present in instances of the class definiti... | direct | 
| inlined | 0..1  Boolean  | 
True means that keyed or identified slot appears in an outer structure by val... | direct | 
| inlined_as_list | 0..1  Boolean  | 
True means that an inlined slot is represented as a list of range instances | direct | 
| minimum_value | 0..1  Integer  | 
for slots with ranges of type number, the value must be equal to or higher th... | direct | 
| maximum_value | 0..1  Integer  | 
for slots with ranges of type number, the value must be equal to or lowe than... | direct | 
| pattern | 0..1  String  | 
the string value of the slot must conform to this regular expression expresse... | direct | 
| structured_pattern | 0..1  PatternExpression  | 
the string value of the slot must conform to the regular expression in the pa... | direct | 
| unit | 0..1  UnitOfMeasure  | 
an encoding of a unit | direct | 
| implicit_prefix | 0..1  String  | 
Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | direct | 
| value_presence | 0..1  PresenceEnum  | 
if true then a value must be present (for lists there must be at least one va... | direct | 
| equals_string | 0..1  String  | 
the slot must have range string and the value of the slot must equal the spec... | direct | 
| equals_string_in | 0..*  String  | 
the slot must have range string and the value of the slot must equal one of t... | direct | 
| equals_number | 0..1  Integer  | 
the slot must have range of a number and the value of the slot must equal the... | direct | 
| equals_expression | 0..1  String  | 
the value of the slot must equal the value of the evaluated expression | direct | 
| minimum_cardinality | 0..1  Integer  | 
the minimum number of entries for a multivalued slot | direct | 
| maximum_cardinality | 0..1  Integer  | 
the maximum number of entries for a multivalued slot | direct | 
| has_member | 0..1  AnonymousSlotExpression  | 
the value of the slot is multivalued with at least one member satisfying the ... | direct | 
| all_members | 0..1  AnonymousSlotExpression  | 
the value of the slot is multivalued with all members satisfying the conditio... | direct | 
| none_of | 0..*  AnonymousSlotExpression  | 
holds if none of the expressions hold | direct | 
| exactly_one_of | 0..*  AnonymousSlotExpression  | 
holds if only one of the expressions hold | direct | 
| any_of | 0..*  AnonymousSlotExpression  | 
holds if at least one of the expressions hold | direct | 
| all_of | 0..*  AnonymousSlotExpression  | 
holds if all of the expressions hold | direct | 
Mixin Usage
| mixed into | description | 
|---|---|
| AnonymousSlotExpression | |
| SlotDefinition | an element that describes how instances are related to other instances | 
Usages
| used by | used in | type | used | 
|---|---|---|---|
| TypeExpression | implicit_prefix | domain | SlotExpression | 
| AnonymousTypeExpression | implicit_prefix | domain | SlotExpression | 
| TypeDefinition | implicit_prefix | domain | SlotExpression | 
| PathExpression | range_expression | domain | SlotExpression | 
| SlotExpression | range_expression | domain | SlotExpression | 
| SlotExpression | implicit_prefix | domain | SlotExpression | 
| AnonymousSlotExpression | range_expression | domain | SlotExpression | 
| AnonymousSlotExpression | implicit_prefix | domain | SlotExpression | 
| SlotDefinition | range_expression | domain | SlotExpression | 
| SlotDefinition | implicit_prefix | domain | SlotExpression | 
Identifier and Mapping Information
Schema Source
- from schema: https://w3id.org/linkml/meta
 
Mappings
| Mapping Type | Mapped Value | 
|---|---|
| self | linkml:SlotExpression | 
| native | linkml:SlotExpression | 
LinkML Source
Direct
name: slot_expression
description: an expression that constrains the range of values a slot can take
from_schema: https://w3id.org/linkml/meta
is_a: expression
mixin: true
slots:
- range
- range_expression
- enum_range
- required
- recommended
- inlined
- inlined_as_list
- minimum_value
- maximum_value
- pattern
- structured_pattern
- unit
- implicit_prefix
- value_presence
- equals_string
- equals_string_in
- equals_number
- equals_expression
- minimum_cardinality
- maximum_cardinality
- has_member
- all_members
- none_of
- exactly_one_of
- any_of
- all_of
slot_usage:
  any_of:
    name: any_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  all_of:
    name: all_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  none_of:
    name: none_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
Induced
name: slot_expression
description: an expression that constrains the range of values a slot can take
from_schema: https://w3id.org/linkml/meta
is_a: expression
mixin: true
slot_usage:
  any_of:
    name: any_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  all_of:
    name: all_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  none_of:
    name: none_of
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
attributes:
  range:
    name: range
    description: "defines the type of the object of the slot.  Given the following\
      \ slot definition\n  S1:\n    domain: C1\n    range:  C2\nthe declaration\n\
      \  X:\n    S1: Y\n\nimplicitly asserts Y is an instance of C2\n"
    comments:
    - range is underspecified, as not all elements can appear as the range of a slot.
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - value domain
    rank: 1000
    domain: slot_definition
    inherited: true
    ifabsent: default_range
    alias: range
    owner: slot_expression
    domain_of:
    - slot_expression
    range: element
  range_expression:
    name: range_expression
    description: A range that is described as a boolean expression combining existing
      ranges
    comments:
    - one use for this is being able to describe a range using any_of expressions,
      for example to combine two enums
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    domain: slot_expression
    alias: range_expression
    owner: slot_expression
    domain_of:
    - path_expression
    - slot_expression
    range: anonymous_class_expression
  enum_range:
    name: enum_range
    description: An inlined enumeration
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    alias: enum_range
    owner: slot_expression
    domain_of:
    - slot_expression
    range: enum_expression
  required:
    name: required
    description: true means that the slot must be present in instances of the class
      definition
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - RelationalModelProfile
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 8
    domain: slot_definition
    inherited: true
    alias: required
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  recommended:
    name: recommended
    description: true means that the slot should be present in instances of the class
      definition, but this is not required
    comments:
    - This is to be used where not all data is expected to conform to having a required
      field
    - If a slot is recommended, and it is not populated, applications must not treat
      this as an error. Applications may use this to inform the user of missing data
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://github.com/linkml/linkml/issues/177
    rank: 9
    domain: slot_definition
    inherited: true
    alias: recommended
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  inlined:
    name: inlined
    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.
    comments:
    - classes without keys or identifiers are necessarily inlined as lists
    - only applicable in tree-like serializations, e.g json, yaml
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/06mapping/#collection-forms
    rank: 25
    domain: slot_definition
    inherited: true
    alias: inlined
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  inlined_as_list:
    name: inlined_as_list
    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.
    comments:
    - 'The default loader will accept either list or dictionary form as input.  This
      parameter controls internal
      representation and output.'
    - 'A keyed or identified class with one additional slot can be input in a third
      form, a dictionary whose key
      is the key or identifier and whose value is the one additional element.  This
      form is still stored according
      to the inlined_as_list setting.'
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/06mapping/#collection-forms
    rank: 27
    domain: slot_definition
    inherited: true
    alias: inlined_as_list
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  minimum_value:
    name: minimum_value
    description: for slots with ranges of type number, the value must be equal to
      or higher than this
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - low value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: minimum_value
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  maximum_value:
    name: maximum_value
    description: for slots with ranges of type number, the value must be equal to
      or lowe than this
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - high value
    rank: 1000
    domain: slot_definition
    inherited: true
    alias: maximum_value
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  pattern:
    name: pattern
    description: the string value of the slot must conform to this regular expression
      expressed in the string
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 35
    domain: definition
    inherited: true
    alias: pattern
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  structured_pattern:
    name: structured_pattern
    description: the string value of the slot must conform to the regular expression
      in the pattern expression
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://linkml.io/linkml/schemas/constraints.html#structured-patterns
    rank: 1000
    domain: definition
    inherited: true
    alias: structured_pattern
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: pattern_expression
  unit:
    name: unit
    description: an encoding of a unit
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    slot_uri: qudt:unit
    alias: unit
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    - permissible_value
    range: UnitOfMeasure
  implicit_prefix:
    name: implicit_prefix
    description: Causes the slot value to be interpreted as a uriorcurie after prefixing
      with this string
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    domain: slot_expression
    alias: implicit_prefix
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  value_presence:
    name: value_presence
    description: if true then a value must be present (for lists there must be at
      least one value). If false then a value must be absent (for lists, must be empty)
    comments:
    - if set to true this has the same effect as required=true. In contrast, required=false
      allows a value to be present
    from_schema: https://w3id.org/linkml/meta
    status: unstable
    rank: 1000
    is_a: list_value_specification_constant
    domain: slot_definition
    inherited: true
    alias: value_presence
    owner: slot_expression
    domain_of:
    - slot_expression
    range: presence_enum
  equals_string:
    name: equals_string
    description: the slot must have range string and the value of the slot must equal
      the specified value
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_string
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_string_in:
    name: equals_string_in
    description: the slot must have range string and the value of the slot must equal
      one of the specified values
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    is_a: list_value_specification_constant
    multivalued: true
    inherited: true
    alias: equals_string_in
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  equals_number:
    name: equals_number
    description: the slot must have range of a number and the value of the slot must
      equal the specified value
    from_schema: https://w3id.org/linkml/meta
    status: unstable
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_number
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: integer
  equals_expression:
    name: equals_expression
    description: the value of the slot must equal the value of the evaluated expression
    comments:
    - for example, a 'length' slot may have an equals_expression with value '(end-start)+1'
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://linkml.io/linkml/developers/inference.html
    - https://linkml.io/linkml/schemas/advanced.html#equals-expression
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: equals_expression
    owner: slot_expression
    domain_of:
    - slot_expression
    range: string
  minimum_cardinality:
    name: minimum_cardinality
    description: the minimum number of entries for a multivalued slot
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: minimum_cardinality
    owner: slot_expression
    domain_of:
    - slot_expression
    range: integer
  maximum_cardinality:
    name: maximum_cardinality
    description: the maximum number of entries for a multivalued slot
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    alias: maximum_cardinality
    owner: slot_expression
    domain_of:
    - slot_expression
    range: integer
  has_member:
    name: has_member
    description: the value of the slot is multivalued with at least one member satisfying
      the condition
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    is_a: list_value_specification_constant
    alias: has_member
    owner: slot_expression
    domain_of:
    - slot_expression
    range: anonymous_slot_expression
  all_members:
    name: all_members
    description: the value of the slot is multivalued with all members satisfying
      the condition
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    is_a: list_value_specification_constant
    alias: all_members
    owner: slot_expression
    domain_of:
    - slot_expression
    range: anonymous_slot_expression
  none_of:
    name: none_of
    description: holds if none of the expressions hold
    from_schema: https://w3id.org/linkml/meta
    rank: 105
    is_a: boolean_slot
    multivalued: true
    alias: none_of
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    description: holds if only one of the expressions hold
    from_schema: https://w3id.org/linkml/meta
    rank: 103
    is_a: boolean_slot
    multivalued: true
    alias: exactly_one_of
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  any_of:
    name: any_of
    description: holds if at least one of the expressions hold
    from_schema: https://w3id.org/linkml/meta
    rank: 101
    is_a: boolean_slot
    multivalued: true
    alias: any_of
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
  all_of:
    name: all_of
    description: holds if all of the expressions hold
    from_schema: https://w3id.org/linkml/meta
    rank: 107
    is_a: boolean_slot
    multivalued: true
    alias: all_of
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression