Class: ClassDerivation
A specification of how to derive a target class from a source class.
URI: [linkmlmap:ClassDerivation](https://w3id.org/linkml/transformer/ClassDerivation)
## Inheritance
* [SpecificationComponent](SpecificationComponent.md)
* [ElementDerivation](ElementDerivation.md)
* **ClassDerivation**
## Slots
| Name | Cardinality and Range | Description | Inheritance |
| --- | --- | --- | --- |
| [populated_from](populated_from.md) | 0..1
[ClassReference](ClassReference.md) | Source class to derive this target class from | direct | | [sources](sources.md) | *
[ClassReference](ClassReference.md) | Deprecated | direct | | [joins](joins.md) | *
[AliasedClass](AliasedClass.md) | Additional classes to be joined to derive instances of the target class | direct | | [slot_derivations](slot_derivations.md) | *
[SlotDerivation](SlotDerivation.md) | | direct | | [target_definition](target_definition.md) | 0..1
[Any](Any.md) | LinkML class definition object for this slot | direct | | [pivot_operation](pivot_operation.md) | 0..1
[PivotOperation](PivotOperation.md) | Configuration for pivot (unmelt) operations at class level | direct | | [name](name.md) | 1
[String](String.md) | Name of the element in the target schema | [ElementDerivation](ElementDerivation.md) | | [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) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | | [ObjectDerivation](ObjectDerivation.md) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | | [SlotDerivation](SlotDerivation.md) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | ## Identifier and Mapping Information ### Schema Source * from schema: https://w3id.org/linkml/transformer ## Mappings | Mapping Type | Mapped Value | | --- | --- | | self | linkmlmap:ClassDerivation | | native | linkmlmap:ClassDerivation | ## LinkML Source ### Direct
### Induced
classDiagram
class ClassDerivation
click ClassDerivation href "../ClassDerivation/"
ElementDerivation <|-- ClassDerivation
click ElementDerivation href "../ElementDerivation/"
ClassDerivation : comments
ClassDerivation : copy_directives
ClassDerivation --> "*" CopyDirective : copy_directives
click CopyDirective href "../CopyDirective/"
ClassDerivation : description
ClassDerivation : expression_mappings
ClassDerivation --> "*" KeyVal : expression_mappings
click KeyVal href "../KeyVal/"
ClassDerivation : expression_to_expression_mappings
ClassDerivation --> "*" KeyVal : expression_to_expression_mappings
click KeyVal href "../KeyVal/"
ClassDerivation : expression_to_value_mappings
ClassDerivation --> "*" KeyVal : expression_to_value_mappings
click KeyVal href "../KeyVal/"
ClassDerivation : implements
ClassDerivation : is_a
ClassDerivation --> "0..1" ElementDerivation : is_a
click ElementDerivation href "../ElementDerivation/"
ClassDerivation : joins
ClassDerivation --> "*" AliasedClass : joins
click AliasedClass href "../AliasedClass/"
ClassDerivation : mirror_source
ClassDerivation : mixins
ClassDerivation --> "*" ElementDerivation : mixins
click ElementDerivation href "../ElementDerivation/"
ClassDerivation : name
ClassDerivation : overrides
ClassDerivation --> "0..1" Any : overrides
click Any href "../Any/"
ClassDerivation : pivot_operation
ClassDerivation --> "0..1" PivotOperation : pivot_operation
click PivotOperation href "../PivotOperation/"
ClassDerivation : populated_from
ClassDerivation : slot_derivations
ClassDerivation --> "*" SlotDerivation : slot_derivations
click SlotDerivation href "../SlotDerivation/"
ClassDerivation : sources
ClassDerivation : target_definition
ClassDerivation --> "0..1" Any : target_definition
click Any href "../Any/"
ClassDerivation : value_mappings
ClassDerivation --> "*" KeyVal : value_mappings
click KeyVal href "../KeyVal/"
[ClassReference](ClassReference.md) | Source class to derive this target class from | direct | | [sources](sources.md) | *
[ClassReference](ClassReference.md) | Deprecated | direct | | [joins](joins.md) | *
[AliasedClass](AliasedClass.md) | Additional classes to be joined to derive instances of the target class | direct | | [slot_derivations](slot_derivations.md) | *
[SlotDerivation](SlotDerivation.md) | | direct | | [target_definition](target_definition.md) | 0..1
[Any](Any.md) | LinkML class definition object for this slot | direct | | [pivot_operation](pivot_operation.md) | 0..1
[PivotOperation](PivotOperation.md) | Configuration for pivot (unmelt) operations at class level | direct | | [name](name.md) | 1
[String](String.md) | Name of the element in the target schema | [ElementDerivation](ElementDerivation.md) | | [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) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | | [ObjectDerivation](ObjectDerivation.md) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | | [SlotDerivation](SlotDerivation.md) | [class_derivations](class_derivations.md) | range | [ClassDerivation](ClassDerivation.md) | ## Identifier and Mapping Information ### Schema Source * from schema: https://w3id.org/linkml/transformer ## Mappings | Mapping Type | Mapped Value | | --- | --- | | self | linkmlmap:ClassDerivation | | native | linkmlmap:ClassDerivation | ## LinkML Source ### Direct
name: ClassDerivation
description: A specification of how to derive a target class from a source class.
from_schema: https://w3id.org/linkml/transformer
is_a: ElementDerivation
attributes:
populated_from:
name: populated_from
description: Source class to derive this target class from.
from_schema: https://w3id.org/linkml/transformer
rank: 1000
domain_of:
- ClassDerivation
- SlotDerivation
- EnumDerivation
- PermissibleValueDerivation
range: ClassReference
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
rank: 1000
domain_of:
- ClassDerivation
- SlotDerivation
- EnumDerivation
- PermissibleValueDerivation
range: ClassReference
multivalued: true
joins:
name: joins
description: Additional classes to be joined to derive instances of the target
class
comments:
- supports cross-table lookups via source_key/lookup_key or the join_on field
from_schema: https://w3id.org/linkml/transformer
rank: 1000
domain_of:
- ClassDerivation
range: AliasedClass
multivalued: true
inlined: true
slot_derivations:
name: slot_derivations
from_schema: https://w3id.org/linkml/transformer
domain_of:
- TransformationSpecification
- ClassDerivation
range: SlotDerivation
multivalued: true
inlined: true
target_definition:
name: target_definition
description: LinkML class definition object for this slot.
comments:
- currently defined as Any to avoid coupling with metamodel
from_schema: https://w3id.org/linkml/transformer
rank: 1000
domain_of:
- ClassDerivation
- SlotDerivation
range: Any
pivot_operation:
name: pivot_operation
description: Configuration for pivot (unmelt) operations at class level
from_schema: https://w3id.org/linkml/transformer
rank: 1000
domain_of:
- ClassDerivation
- SlotDerivation
range: PivotOperation
name: ClassDerivation
description: A specification of how to derive a target class from a source class.
from_schema: https://w3id.org/linkml/transformer
is_a: ElementDerivation
attributes:
populated_from:
name: populated_from
description: Source class to derive this target class from.
from_schema: https://w3id.org/linkml/transformer
rank: 1000
owner: ClassDerivation
domain_of:
- ClassDerivation
- SlotDerivation
- EnumDerivation
- PermissibleValueDerivation
range: ClassReference
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
rank: 1000
owner: ClassDerivation
domain_of:
- ClassDerivation
- SlotDerivation
- EnumDerivation
- PermissibleValueDerivation
range: ClassReference
multivalued: true
joins:
name: joins
description: Additional classes to be joined to derive instances of the target
class
comments:
- supports cross-table lookups via source_key/lookup_key or the join_on field
from_schema: https://w3id.org/linkml/transformer
rank: 1000
owner: ClassDerivation
domain_of:
- ClassDerivation
range: AliasedClass
multivalued: true
inlined: true
slot_derivations:
name: slot_derivations
from_schema: https://w3id.org/linkml/transformer
owner: ClassDerivation
domain_of:
- TransformationSpecification
- ClassDerivation
range: SlotDerivation
multivalued: true
inlined: true
target_definition:
name: target_definition
description: LinkML class definition object for this slot.
comments:
- currently defined as Any to avoid coupling with metamodel
from_schema: https://w3id.org/linkml/transformer
rank: 1000
owner: ClassDerivation
domain_of:
- ClassDerivation
- SlotDerivation
range: Any
pivot_operation:
name: pivot_operation
description: Configuration for pivot (unmelt) operations at class level
from_schema: https://w3id.org/linkml/transformer
rank: 1000
owner: ClassDerivation
domain_of:
- ClassDerivation
- SlotDerivation
range: PivotOperation
name:
name: name
description: Name of the element in the target schema
from_schema: https://w3id.org/linkml/transformer
identifier: true
owner: ClassDerivation
domain_of:
- SchemaReference
- ElementDerivation
- ObjectDerivation
- SlotDerivation
- EnumDerivation
- PermissibleValueDerivation
- Agent
range: string
required: true
copy_directives:
name: copy_directives
from_schema: https://w3id.org/linkml/transformer
owner: ClassDerivation
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: ClassDerivation
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: ClassDerivation
domain_of:
- ElementDerivation
range: ElementDerivation
mixins:
name: mixins
from_schema: https://w3id.org/linkml/transformer
rank: 1000
slot_uri: linkml:mixins
owner: ClassDerivation
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: ClassDerivation
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: ClassDerivation
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: ClassDerivation
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: ClassDerivation
domain_of:
- ElementDerivation
range: KeyVal
multivalued: true
inlined: true
mirror_source:
name: mirror_source
from_schema: https://w3id.org/linkml/transformer
rank: 1000
owner: ClassDerivation
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: ClassDerivation
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: ClassDerivation
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: ClassDerivation
domain_of:
- SpecificationComponent
range: string
multivalued: true