Class: EnumDerivation

A specification of how to derive the value of a target enum from a source enum

URI: [linkmlmap:EnumDerivation](https://w3id.org/linkml/transformer/EnumDerivation)
 classDiagram
    class EnumDerivation
    click EnumDerivation href "../EnumDerivation/"
      ElementDerivation <|-- EnumDerivation
        click ElementDerivation href "../ElementDerivation/"

      EnumDerivation : comments

      EnumDerivation : copy_directives





        EnumDerivation --> "*" CopyDirective : copy_directives
        click CopyDirective href "../CopyDirective/"



      EnumDerivation : description

      EnumDerivation : expr

      EnumDerivation : expression_mappings





        EnumDerivation --> "*" KeyVal : expression_mappings
        click KeyVal href "../KeyVal/"



      EnumDerivation : expression_to_expression_mappings





        EnumDerivation --> "*" KeyVal : expression_to_expression_mappings
        click KeyVal href "../KeyVal/"



      EnumDerivation : expression_to_value_mappings





        EnumDerivation --> "*" KeyVal : expression_to_value_mappings
        click KeyVal href "../KeyVal/"



      EnumDerivation : hide

      EnumDerivation : implements

      EnumDerivation : is_a





        EnumDerivation --> "0..1" ElementDerivation : is_a
        click ElementDerivation href "../ElementDerivation/"



      EnumDerivation : mirror_source

      EnumDerivation : mixins





        EnumDerivation --> "*" ElementDerivation : mixins
        click ElementDerivation href "../ElementDerivation/"



      EnumDerivation : name

      EnumDerivation : overrides





        EnumDerivation --> "0..1" Any : overrides
        click Any href "../Any/"



      EnumDerivation : permissible_value_derivations





        EnumDerivation --> "*" PermissibleValueDerivation : permissible_value_derivations
        click PermissibleValueDerivation href "../PermissibleValueDerivation/"



      EnumDerivation : populated_from

      EnumDerivation : sources

      EnumDerivation : value_mappings





        EnumDerivation --> "*" KeyVal : value_mappings
        click KeyVal href "../KeyVal/"
## Inheritance * [SpecificationComponent](SpecificationComponent.md) * [ElementDerivation](ElementDerivation.md) * **EnumDerivation** ## Slots | Name | Cardinality and Range | Description | Inheritance | | --- | --- | --- | --- | | [name](name.md) | 1
[String](String.md) | Target enum name | direct | | [populated_from](populated_from.md) | 0..1
[EnumReference](EnumReference.md) | Source enum to derive this target enum from | direct | | [sources](sources.md) | *
[EnumReference](EnumReference.md) | Deprecated | direct | | [expr](expr.md) | 0..1
[String](String.md) | An expression to be evaluated on the source object to derive the target slot | direct | | [hide](hide.md) | 0..1
[Boolean](Boolean.md) | True if this is suppressed | direct | | [permissible_value_derivations](permissible_value_derivations.md) | *
[PermissibleValueDerivation](PermissibleValueDerivation.md) | Instructions on how to derive a set of PVs in the target schema | direct | | [copy_directives](copy_directives.md) | *
[CopyDirective](CopyDirective.md) | | [ElementDerivation](ElementDerivation.md) | | [overrides](overrides.md) | 0..1
[Any](Any.md) | overrides source schema slots | [ElementDerivation](ElementDerivation.md) | | [is_a](is_a.md) | 0..1
[ElementDerivation](ElementDerivation.md) | | [ElementDerivation](ElementDerivation.md) | | [mixins](mixins.md) | *
[ElementDerivation](ElementDerivation.md) | | [ElementDerivation](ElementDerivation.md) | | [value_mappings](value_mappings.md) | *
[KeyVal](KeyVal.md) | A mapping table that is applied directly to mappings, in order of precedence | [ElementDerivation](ElementDerivation.md) | | [expression_mappings](expression_mappings.md) | *
[KeyVal](KeyVal.md) | A mapping table where the values are expressions evaluated against source bin... | [ElementDerivation](ElementDerivation.md) | | [expression_to_value_mappings](expression_to_value_mappings.md) | *
[KeyVal](KeyVal.md) | A mapping table in which the keys are boolean expressions and the values are ... | [ElementDerivation](ElementDerivation.md) | | [expression_to_expression_mappings](expression_to_expression_mappings.md) | *
[KeyVal](KeyVal.md) | A mapping table in which the keys and values are expressions | [ElementDerivation](ElementDerivation.md) | | [mirror_source](mirror_source.md) | 0..1
[Boolean](Boolean.md) | | [ElementDerivation](ElementDerivation.md) | | [description](description.md) | 0..1
[String](String.md) | description of the specification component | [SpecificationComponent](SpecificationComponent.md) | | [implements](implements.md) | *
[Uriorcurie](Uriorcurie.md) | A reference to a specification that this component implements | [SpecificationComponent](SpecificationComponent.md) | | [comments](comments.md) | *
[String](String.md) | A list of comments about this component | [SpecificationComponent](SpecificationComponent.md) | ## Usages | used by | used in | type | used | | --- | --- | --- | --- | | [TransformationSpecification](TransformationSpecification.md) | [enum_derivations](enum_derivations.md) | range | [EnumDerivation](EnumDerivation.md) | ## Identifier and Mapping Information ### Schema Source * from schema: https://w3id.org/linkml/transformer ## Mappings | Mapping Type | Mapped Value | | --- | --- | | self | linkmlmap:EnumDerivation | | native | linkmlmap:EnumDerivation | ## LinkML Source ### Direct
name: EnumDerivation
description: A specification of how to derive the value of a target enum from a source
  enum
from_schema: https://w3id.org/linkml/transformer
is_a: ElementDerivation
attributes:
  name:
    name: name
    description: Target enum name
    from_schema: https://w3id.org/linkml/transformer
    key: true
    domain_of:
    - SchemaReference
    - ElementDerivation
    - ObjectDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    - Agent
  populated_from:
    name: populated_from
    description: Source enum to derive this target enum from.
    from_schema: https://w3id.org/linkml/transformer
    domain_of:
    - ClassDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: EnumReference
  sources:
    name: sources
    description: Deprecated. Use populated_from instead.
    deprecated: Deprecated. Use populated_from instead. See https://github.com/linkml/linkml-map/issues/193
      for planned list support in populated_from. Will be removed in a future version.
    from_schema: https://w3id.org/linkml/transformer
    domain_of:
    - ClassDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: EnumReference
    multivalued: true
  expr:
    name: expr
    description: An expression to be evaluated on the source object to derive the
      target slot. Should be specified using the LinkML expression language.
    from_schema: https://w3id.org/linkml/transformer
    domain_of:
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: string
  hide:
    name: hide
    description: True if this is suppressed
    from_schema: https://w3id.org/linkml/transformer
    domain_of:
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: boolean
  permissible_value_derivations:
    name: permissible_value_derivations
    description: Instructions on how to derive a set of PVs in the target schema
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    domain_of:
    - EnumDerivation
    range: PermissibleValueDerivation
    multivalued: true
    inlined: true
### Induced
name: EnumDerivation
description: A specification of how to derive the value of a target enum from a source
  enum
from_schema: https://w3id.org/linkml/transformer
is_a: ElementDerivation
attributes:
  name:
    name: name
    description: Target enum name
    from_schema: https://w3id.org/linkml/transformer
    key: true
    owner: EnumDerivation
    domain_of:
    - SchemaReference
    - ElementDerivation
    - ObjectDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    - Agent
    required: true
  populated_from:
    name: populated_from
    description: Source enum to derive this target enum from.
    from_schema: https://w3id.org/linkml/transformer
    owner: EnumDerivation
    domain_of:
    - ClassDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: EnumReference
  sources:
    name: sources
    description: Deprecated. Use populated_from instead.
    deprecated: Deprecated. Use populated_from instead. See https://github.com/linkml/linkml-map/issues/193
      for planned list support in populated_from. Will be removed in a future version.
    from_schema: https://w3id.org/linkml/transformer
    owner: EnumDerivation
    domain_of:
    - ClassDerivation
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: EnumReference
    multivalued: true
  expr:
    name: expr
    description: An expression to be evaluated on the source object to derive the
      target slot. Should be specified using the LinkML expression language.
    from_schema: https://w3id.org/linkml/transformer
    owner: EnumDerivation
    domain_of:
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: string
  hide:
    name: hide
    description: True if this is suppressed
    from_schema: https://w3id.org/linkml/transformer
    owner: EnumDerivation
    domain_of:
    - SlotDerivation
    - EnumDerivation
    - PermissibleValueDerivation
    range: boolean
  permissible_value_derivations:
    name: permissible_value_derivations
    description: Instructions on how to derive a set of PVs in the target schema
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - EnumDerivation
    range: PermissibleValueDerivation
    multivalued: true
    inlined: true
  copy_directives:
    name: copy_directives
    from_schema: https://w3id.org/linkml/transformer
    owner: EnumDerivation
    domain_of:
    - TransformationSpecification
    - ElementDerivation
    range: CopyDirective
    multivalued: true
    inlined: true
  overrides:
    name: overrides
    description: overrides source schema slots
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: Any
  is_a:
    name: is_a
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    slot_uri: linkml:is_a
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: ElementDerivation
  mixins:
    name: mixins
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    slot_uri: linkml:mixins
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: ElementDerivation
    multivalued: true
    inlined: false
  value_mappings:
    name: value_mappings
    description: A mapping table that is applied directly to mappings, in order of
      precedence. Keys should always be quoted in YAML to prevent type coercion —
      unquoted true/false become booleans and bare numbers become integers, which
      will not match the stringified source value used for lookup.
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: KeyVal
    multivalued: true
    inlined: true
  expression_mappings:
    name: expression_mappings
    description: A mapping table where the values are expressions evaluated against
      source bindings. Looked up by the same key as value_mappings (the stringified
      source value). Keys should always be quoted (see value_mappings). If both value_mappings
      and expression_mappings are present, value_mappings takes precedence for keys
      that appear in both.
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: KeyVal
    multivalued: true
    inlined: true
  expression_to_value_mappings:
    name: expression_to_value_mappings
    description: 'A mapping table in which the keys are boolean expressions and the
      values are literal results. On enum derivations, used for scalar binning: each
      key is evaluated with value() bound to the incoming value, and the first truthy
      key''s value is returned as the target permissible value. See issue #99.'
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: KeyVal
    multivalued: true
    inlined: true
  expression_to_expression_mappings:
    name: expression_to_expression_mappings
    description: A mapping table in which the keys and values are expressions
    deprecated: 'Deprecated: use case() with and/or operators instead (#127). Will
      be removed before 1.0.'
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: KeyVal
    multivalued: true
    inlined: true
  mirror_source:
    name: mirror_source
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - ElementDerivation
    range: boolean
  description:
    name: description
    description: description of the specification component
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    slot_uri: dcterms:description
    owner: EnumDerivation
    domain_of:
    - SpecificationComponent
    range: string
  implements:
    name: implements
    description: A reference to a specification that this component implements.
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    owner: EnumDerivation
    domain_of:
    - SpecificationComponent
    range: uriorcurie
    multivalued: true
  comments:
    name: comments
    description: A list of comments about this component. Comments are free text,
      and may be used to provide additional information about the component, including
      instructions for its use.
    from_schema: https://w3id.org/linkml/transformer
    rank: 1000
    slot_uri: rdfs:comment
    owner: EnumDerivation
    domain_of:
    - SpecificationComponent
    range: string
    multivalued: true