Skip to content

Class: SlotExpression

an expression that constrains the range of values a slot can take

URI: [linkml:SlotExpression](https://w3id.org/linkml/SlotExpression)
classDiagram class SlotExpression click SlotExpression href "../SlotExpression/" Expression <|-- SlotExpression click Expression href "../Expression/" SlotExpression <|-- AnonymousSlotExpression click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression <|-- SlotDefinition click SlotDefinition href "../SlotDefinition/" SlotExpression : all_members SlotExpression --> "0..1" AnonymousSlotExpression : all_members click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : all_of SlotExpression --> "*" AnonymousSlotExpression : all_of click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : any_of SlotExpression --> "*" AnonymousSlotExpression : any_of click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : array SlotExpression --> "0..1" ArrayExpression : array click ArrayExpression href "../ArrayExpression/" SlotExpression : bindings SlotExpression --> "*" EnumBinding : bindings click EnumBinding href "../EnumBinding/" SlotExpression : enum_range SlotExpression --> "0..1" EnumExpression : enum_range click EnumExpression href "../EnumExpression/" SlotExpression : equals_expression SlotExpression : equals_number SlotExpression : equals_string SlotExpression : equals_string_in SlotExpression : exact_cardinality SlotExpression : exactly_one_of SlotExpression --> "*" AnonymousSlotExpression : exactly_one_of click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : has_member SlotExpression --> "0..1" AnonymousSlotExpression : has_member click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : implicit_prefix SlotExpression : inlined SlotExpression : inlined_as_list SlotExpression : maximum_cardinality SlotExpression : maximum_value SlotExpression --> "0..1" Anything : maximum_value click Anything href "../Anything/" SlotExpression : minimum_cardinality SlotExpression : minimum_value SlotExpression --> "0..1" Anything : minimum_value click Anything href "../Anything/" SlotExpression : multivalued SlotExpression : none_of SlotExpression --> "*" AnonymousSlotExpression : none_of click AnonymousSlotExpression href "../AnonymousSlotExpression/" SlotExpression : pattern SlotExpression : range SlotExpression --> "0..1" Element : range click Element href "../Element/" SlotExpression : range_expression SlotExpression --> "0..1" AnonymousClassExpression : range_expression click AnonymousClassExpression href "../AnonymousClassExpression/" SlotExpression : recommended SlotExpression : required SlotExpression : structured_pattern SlotExpression --> "0..1" PatternExpression : structured_pattern click PatternExpression href "../PatternExpression/" SlotExpression : unit SlotExpression --> "0..1" UnitOfMeasure : unit click UnitOfMeasure href "../UnitOfMeasure/" SlotExpression : value_presence SlotExpression --> "0..1" PresenceEnum : value_presence click PresenceEnum href "../PresenceEnum/"
## Inheritance * [Expression](Expression.md) * **SlotExpression** ## Class Properties | Property | Value | | --- | --- | | Mixin | Yes | ## Slots | Name | Cardinality and Range | Description | Inheritance | | --- | --- | --- | --- | | [range](range.md) | 0..1
[Element](Element.md) | defines the type of the object of the slot | direct | | [range_expression](range_expression.md) | 0..1
[AnonymousClassExpression](AnonymousClassExpression.md) | A range that is described as a boolean expression combining existing ranges | direct | | [enum_range](enum_range.md) | 0..1
[EnumExpression](EnumExpression.md) | An inlined enumeration | direct | | [bindings](bindings.md) | *
[EnumBinding](EnumBinding.md) | A collection of enum bindings that specify how a slot can be bound to a permi... | direct | | [required](required.md) | 0..1
[Boolean](Boolean.md) | true means that the slot must be present in instances of the class definition | direct | | [recommended](recommended.md) | 0..1
[Boolean](Boolean.md) | true means that the slot should be present in instances of the class definiti... | direct | | [multivalued](multivalued.md) | 0..1
[Boolean](Boolean.md) | true means that slot can have more than one value and should be represented u... | direct | | [inlined](inlined.md) | 0..1
[Boolean](Boolean.md) | True means that keyed or identified slot appears in an outer structure by val... | direct | | [inlined_as_list](inlined_as_list.md) | 0..1
[Boolean](Boolean.md) | True means that an inlined slot is represented as a list of range instances | direct | | [minimum_value](minimum_value.md) | 0..1
[Anything](Anything.md) | For ordinal ranges, the value must be equal to or higher than this | direct | | [maximum_value](maximum_value.md) | 0..1
[Anything](Anything.md) | For ordinal ranges, the value must be equal to or lower than this | direct | | [pattern](pattern.md) | 0..1
[String](String.md) | the string value of the slot must conform to this regular expression expresse... | direct | | [structured_pattern](structured_pattern.md) | 0..1
[PatternExpression](PatternExpression.md) | the string value of the slot must conform to the regular expression in the pa... | direct | | [unit](unit.md) | 0..1
[UnitOfMeasure](UnitOfMeasure.md) | an encoding of a unit | direct | | [implicit_prefix](implicit_prefix.md) | 0..1
[String](String.md) | Causes the slot value to be interpreted as a uriorcurie after prefixing with ... | direct | | [value_presence](value_presence.md) | 0..1
[PresenceEnum](PresenceEnum.md) | if PRESENT then a value must be present (for lists there must be at least one... | direct | | [equals_string](equals_string.md) | 0..1
[String](String.md) | the slot must have range string and the value of the slot must equal the spec... | direct | | [equals_string_in](equals_string_in.md) | *
[String](String.md) | the slot must have range string and the value of the slot must equal one of t... | direct | | [equals_number](equals_number.md) | 0..1
[Integer](Integer.md) | the slot must have range of a number and the value of the slot must equal the... | direct | | [equals_expression](equals_expression.md) | 0..1
[String](String.md) | the value of the slot must equal the value of the evaluated expression | direct | | [exact_cardinality](exact_cardinality.md) | 0..1
[Integer](Integer.md) | the exact number of entries for a multivalued slot | direct | | [minimum_cardinality](minimum_cardinality.md) | 0..1
[Integer](Integer.md) | the minimum number of entries for a multivalued slot | direct | | [maximum_cardinality](maximum_cardinality.md) | 0..1
[Integer](Integer.md) | the maximum number of entries for a multivalued slot | direct | | [has_member](has_member.md) | 0..1
[AnonymousSlotExpression](AnonymousSlotExpression.md) | the value of the slot is multivalued with at least one member satisfying the ... | direct | | [all_members](all_members.md) | 0..1
[AnonymousSlotExpression](AnonymousSlotExpression.md) | the value of the slot is multivalued with all members satisfying the conditio... | direct | | [none_of](none_of.md) | *
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if none of the expressions hold | direct | | [exactly_one_of](exactly_one_of.md) | *
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if only one of the expressions hold | direct | | [any_of](any_of.md) | *
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if at least one of the expressions hold | direct | | [all_of](all_of.md) | *
[AnonymousSlotExpression](AnonymousSlotExpression.md) | holds if all of the expressions hold | direct | | [array](array.md) | 0..1
[ArrayExpression](ArrayExpression.md) | coerces the value of the slot into an array and defines the dimensions of tha... | direct | ## Mixin Usage | mixed into | description | | --- | --- | | [AnonymousSlotExpression](AnonymousSlotExpression.md) | | | [SlotDefinition](SlotDefinition.md) | an element that describes how instances are related to other instances | ## Usages | used by | used in | type | used | | --- | --- | --- | --- | | [TypeExpression](TypeExpression.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [AnonymousTypeExpression](AnonymousTypeExpression.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [TypeDefinition](TypeDefinition.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [PathExpression](PathExpression.md) | [range_expression](range_expression.md) | domain | [SlotExpression](SlotExpression.md) | | [SlotExpression](SlotExpression.md) | [range_expression](range_expression.md) | domain | [SlotExpression](SlotExpression.md) | | [SlotExpression](SlotExpression.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [AnonymousSlotExpression](AnonymousSlotExpression.md) | [range_expression](range_expression.md) | domain | [SlotExpression](SlotExpression.md) | | [AnonymousSlotExpression](AnonymousSlotExpression.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [SlotDefinition](SlotDefinition.md) | [range_expression](range_expression.md) | domain | [SlotExpression](SlotExpression.md) | | [SlotDefinition](SlotDefinition.md) | [implicit_prefix](implicit_prefix.md) | domain | [SlotExpression](SlotExpression.md) | | [ExtraSlotsExpression](ExtraSlotsExpression.md) | [range_expression](range_expression.md) | domain | [SlotExpression](SlotExpression.md) | ## 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
- bindings
- required
- recommended
- multivalued
- 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
- exact_cardinality
- minimum_cardinality
- maximum_cardinality
- has_member
- all_members
- none_of
- exactly_one_of
- any_of
- all_of
- array
slot_usage:
  any_of:
    name: any_of
    range: anonymous_slot_expression
  all_of:
    name: all_of
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    range: anonymous_slot_expression
  none_of:
    name: none_of
    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
    range: anonymous_slot_expression
  all_of:
    name: all_of
    range: anonymous_slot_expression
  exactly_one_of:
    name: exactly_one_of
    range: anonymous_slot_expression
  none_of:
    name: none_of
    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.
    - to use a URI or CURIE as the range, create a class with the URI or curie as
      the class_uri
    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
    owner: slot_expression
    domain_of:
    - enum_binding
    - 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
    owner: slot_expression
    domain_of:
    - path_expression
    - slot_expression
    - extra_slots_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
    owner: slot_expression
    domain_of:
    - slot_expression
    range: enum_expression
  bindings:
    name: bindings
    description: 'A collection of enum bindings that specify how a slot can be bound
      to a permissible value from an enumeration.

      LinkML provides enums to allow string values to be restricted to one of a set
      of permissible values (specified statically or dynamically).

      Enum bindings allow enums to be bound to any object, including complex nested
      objects. For example, given a (generic) class Concept with slots id and label,
      it may be desirable to restrict the values the id takes on in a given context.
      For example, a HumanSample class may have a slot for representing sample site,
      with a range of concept, but the values of that slot may be restricted to concepts
      from a particular branch of an anatomy ontology.'
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    domain: element
    owner: slot_expression
    domain_of:
    - schema_definition
    - slot_expression
    range: enum_binding
    multivalued: true
    inlined: true
  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
    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
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  multivalued:
    name: multivalued
    description: true means that slot can have more than one value and should be represented
      using a list or collection structure.
    in_subset:
    - SpecificationSubset
    - MinimalSubset
    - BasicSubset
    - ObjectOrientedProfile
    from_schema: https://w3id.org/linkml/meta
    rank: 7
    domain: slot_definition
    inherited: true
    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
    - https://linkml.io/linkml/schemas/inlining.html
    rank: 25
    domain: slot_definition
    inherited: true
    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
    - https://linkml.io/linkml/schemas/inlining.html
    rank: 27
    domain: slot_definition
    inherited: true
    owner: slot_expression
    domain_of:
    - slot_expression
    range: boolean
  minimum_value:
    name: minimum_value
    description: For ordinal ranges, the value must be equal to or higher than this
    notes:
    - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - low value
    rank: 1000
    domain: slot_definition
    inherited: true
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: Anything
  maximum_value:
    name: maximum_value
    description: For ordinal ranges, the value must be equal to or lower than this
    notes:
    - Range to be refined to an "Ordinal" metaclass - see https://github.com/linkml/linkml/issues/1384#issuecomment-1892721142
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - high value
    rank: 1000
    domain: slot_definition
    inherited: true
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: Anything
  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
    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
    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
    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
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
  value_presence:
    name: value_presence
    description: if PRESENT then a value must be present (for lists there must be
      at least one value). If ABSENT 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
    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
    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
    inherited: true
    owner: slot_expression
    domain_of:
    - type_expression
    - slot_expression
    range: string
    multivalued: true
  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
    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
    owner: slot_expression
    domain_of:
    - slot_expression
    range: string
  exact_cardinality:
    name: exact_cardinality
    description: the exact number of entries for a multivalued slot
    comments:
    - if exact_cardinality is set, then minimum_cardinalty and maximum_cardinality
      must be unset or have the same value
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    owner: slot_expression
    domain_of:
    - slot_expression
    - dimension_expression
    range: integer
  minimum_cardinality:
    name: minimum_cardinality
    description: the minimum number of entries for a multivalued slot
    comments:
    - minimum_cardinality cannot be greater than maximum_cardinality
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    owner: slot_expression
    domain_of:
    - slot_expression
    - dimension_expression
    range: integer
  maximum_cardinality:
    name: maximum_cardinality
    description: the maximum number of entries for a multivalued slot
    comments:
    - maximum_cardinality cannot be less than minimum_cardinality
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    is_a: list_value_specification_constant
    inherited: true
    owner: slot_expression
    domain_of:
    - slot_expression
    - dimension_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
    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
    owner: slot_expression
    domain_of:
    - slot_expression
    range: anonymous_slot_expression
  none_of:
    name: none_of
    description: holds if none of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:not
    rank: 105
    is_a: boolean_slot
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
    multivalued: true
  exactly_one_of:
    name: exactly_one_of
    description: holds if only one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:xone
    rank: 103
    is_a: boolean_slot
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
    multivalued: true
  any_of:
    name: any_of
    description: holds if at least one of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:or
    rank: 101
    is_a: boolean_slot
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
    multivalued: true
  all_of:
    name: all_of
    description: holds if all of the expressions hold
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    see_also:
    - https://w3id.org/linkml/docs/specification/05validation/#rules
    exact_mappings:
    - sh:and
    rank: 107
    is_a: boolean_slot
    owner: slot_expression
    domain_of:
    - type_expression
    - path_expression
    - slot_expression
    - class_expression
    range: anonymous_slot_expression
    multivalued: true
  array:
    name: array
    description: coerces the value of the slot into an array and defines the dimensions
      of that array
    from_schema: https://w3id.org/linkml/meta
    status: testing
    rank: 1000
    domain: slot_definition
    inherited: true
    owner: slot_expression
    domain_of:
    - slot_expression
    range: array_expression