Skip to content

Class: EnumExpression

An expression that constrains the range of a slot

URI: [linkml:EnumExpression](https://w3id.org/linkml/EnumExpression)
classDiagram class EnumExpression click EnumExpression href "../EnumExpression/" Expression <|-- EnumExpression click Expression href "../Expression/" EnumExpression <|-- AnonymousEnumExpression click AnonymousEnumExpression href "../AnonymousEnumExpression/" EnumExpression <|-- EnumDefinition click EnumDefinition href "../EnumDefinition/" EnumExpression : code_set EnumExpression : code_set_tag EnumExpression : code_set_version EnumExpression : concepts EnumExpression : include EnumExpression --> "*" AnonymousEnumExpression : include click AnonymousEnumExpression href "../AnonymousEnumExpression/" EnumExpression : inherits EnumExpression --> "*" EnumDefinition : inherits click EnumDefinition href "../EnumDefinition/" EnumExpression : matches EnumExpression --> "0..1" MatchQuery : matches click MatchQuery href "../MatchQuery/" EnumExpression : minus EnumExpression --> "*" AnonymousEnumExpression : minus click AnonymousEnumExpression href "../AnonymousEnumExpression/" EnumExpression : permissible_values EnumExpression --> "*" PermissibleValue : permissible_values click PermissibleValue href "../PermissibleValue/" EnumExpression : pv_formula EnumExpression --> "0..1" PvFormulaOptions : pv_formula click PvFormulaOptions href "../PvFormulaOptions/" EnumExpression : reachable_from EnumExpression --> "0..1" ReachabilityQuery : reachable_from click ReachabilityQuery href "../ReachabilityQuery/"
## Inheritance * [Expression](Expression.md) * **EnumExpression** ## Slots | Name | Cardinality and Range | Description | Inheritance | | --- | --- | --- | --- | | [code_set](code_set.md) | 0..1
[Uriorcurie](Uriorcurie.md) | the identifier of an enumeration code set | direct | | [code_set_tag](code_set_tag.md) | 0..1
[String](String.md) | the version tag of the enumeration code set | direct | | [code_set_version](code_set_version.md) | 0..1
[String](String.md) | the version identifier of the enumeration code set | direct | | [pv_formula](pv_formula.md) | 0..1
[PvFormulaOptions](PvFormulaOptions.md) | Defines the specific formula to be used to generate the permissible values | direct | | [permissible_values](permissible_values.md) | *
[PermissibleValue](PermissibleValue.md) | A list of possible values for a slot range | direct | | [include](include.md) | *
[AnonymousEnumExpression](AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be in... | direct | | [minus](minus.md) | *
[AnonymousEnumExpression](AnonymousEnumExpression.md) | An enum expression that yields a list of permissible values that are to be su... | direct | | [inherits](inherits.md) | *
[EnumDefinition](EnumDefinition.md) | An enum definition that is used as the basis to create a new enum | direct | | [reachable_from](reachable_from.md) | 0..1
[ReachabilityQuery](ReachabilityQuery.md) | Specifies a query for obtaining a list of permissible values based on graph r... | direct | | [matches](matches.md) | 0..1
[MatchQuery](MatchQuery.md) | Specifies a match query that is used to calculate the list of permissible val... | direct | | [concepts](concepts.md) | *
[Uriorcurie](Uriorcurie.md) | A list of identifiers that are used to construct a set of permissible values | direct | ## Usages | used by | used in | type | used | | --- | --- | --- | --- | | [EnumExpression](EnumExpression.md) | [code_set](code_set.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [code_set_tag](code_set_tag.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [code_set_version](code_set_version.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [permissible_values](permissible_values.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [include](include.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [minus](minus.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [inherits](inherits.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [reachable_from](reachable_from.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [matches](matches.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumExpression](EnumExpression.md) | [concepts](concepts.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [code_set](code_set.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [code_set_tag](code_set_tag.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [code_set_version](code_set_version.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [permissible_values](permissible_values.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [include](include.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [minus](minus.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [inherits](inherits.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [reachable_from](reachable_from.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [matches](matches.md) | domain | [EnumExpression](EnumExpression.md) | | [AnonymousEnumExpression](AnonymousEnumExpression.md) | [concepts](concepts.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [code_set](code_set.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [code_set_tag](code_set_tag.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [code_set_version](code_set_version.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [permissible_values](permissible_values.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [include](include.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [minus](minus.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [inherits](inherits.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [reachable_from](reachable_from.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [matches](matches.md) | domain | [EnumExpression](EnumExpression.md) | | [EnumDefinition](EnumDefinition.md) | [concepts](concepts.md) | domain | [EnumExpression](EnumExpression.md) | | [SlotExpression](SlotExpression.md) | [enum_range](enum_range.md) | range | [EnumExpression](EnumExpression.md) | | [AnonymousSlotExpression](AnonymousSlotExpression.md) | [enum_range](enum_range.md) | range | [EnumExpression](EnumExpression.md) | | [SlotDefinition](SlotDefinition.md) | [enum_range](enum_range.md) | range | [EnumExpression](EnumExpression.md) | ## Identifier and Mapping Information ### Schema Source * from schema: https://w3id.org/linkml/meta ## Mappings | Mapping Type | Mapped Value | | --- | --- | | self | linkml:EnumExpression | | native | linkml:EnumExpression | ## LinkML Source ### Direct
name: enum_expression
description: An expression that constrains the range of a slot
from_schema: https://w3id.org/linkml/meta
is_a: expression
slots:
- code_set
- code_set_tag
- code_set_version
- pv_formula
- permissible_values
- include
- minus
- inherits
- reachable_from
- matches
- concepts

### Induced
name: enum_expression
description: An expression that constrains the range of a slot
from_schema: https://w3id.org/linkml/meta
is_a: expression
attributes:
  code_set:
    name: code_set
    description: the identifier of an enumeration code set.
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: uriorcurie
  code_set_tag:
    name: code_set_tag
    description: the version tag of the enumeration code set
    comments:
    - enum_expression cannot have both a code_set_tag and a code_set_version
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: string
  code_set_version:
    name: code_set_version
    description: the version identifier of the enumeration code set
    comments:
    - we assume that version identifiers lexically sort in temporal order. Recommend
      semver when possible
    in_subset:
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: string
  pv_formula:
    name: pv_formula
    description: Defines the specific formula to be used to generate the permissible
      values.
    comments:
    - you cannot have BOTH the permissible_values and permissible_value_formula tag
    - code_set must be supplied for this to be valid
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    owner: enum_expression
    domain_of:
    - enum_expression
    - enum_binding
    range: pv_formula_options
  permissible_values:
    name: permissible_values
    description: A list of possible values for a slot range
    in_subset:
    - SpecificationSubset
    - BasicSubset
    from_schema: https://w3id.org/linkml/meta
    aliases:
    - coded values
    exact_mappings:
    - cdisc:PermissibleValue
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: permissible_value
    multivalued: true
    inlined: true
  include:
    name: include
    description: An enum expression that yields a list of permissible values that
      are to be included, after subtracting the minus set
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: anonymous_enum_expression
    multivalued: true
  minus:
    name: minus
    description: An enum expression that yields a list of permissible values that
      are to be subtracted from the enum
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: anonymous_enum_expression
    multivalued: true
  inherits:
    name: inherits
    description: An enum definition that is used as the basis to create a new enum
    comments:
    - All permissible values for all inherited enums are copied to form the initial
      seed set
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: enum_definition
    multivalued: true
  reachable_from:
    name: reachable_from
    description: Specifies a query for obtaining a list of permissible values based
      on graph reachability
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: reachability_query
  matches:
    name: matches
    description: Specifies a match query that is used to calculate the list of permissible
      values
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: match_query
  concepts:
    name: concepts
    description: A list of identifiers that are used to construct a set of permissible
      values
    in_subset:
    - SpecificationSubset
    from_schema: https://w3id.org/linkml/meta
    rank: 1000
    domain: enum_expression
    owner: enum_expression
    domain_of:
    - enum_expression
    range: uriorcurie
    multivalued: true