LinkML Map Data Model

Datamodel for LinkML schema mappings and transformations.

A mapper generates instances of a target data model from instances of a source data model. This transformation process is guided by a TransformationSpecification.

The specification is independent of any one method for transforming data. It allows different approaches, including:

URI: https://w3id.org/linkml/transformer

Name: linkml-map

Classes

Class Description
Agent An entity that can create or contribute to a digital object, such as an autho...
        Organization An organization or institution that contributes to a mapping specification
        Person An individual person who contributes to a mapping specification
        Software A software tool or system used in creating mappings
AliasedClass alias-class key value pairs for classes
Any A wildcard type that accepts any value
CopyDirective Instructs a Schema Mapper in how to map to a target schema
Inverse Used for back references in mapping to relational model
KeyVal A generic key-value pair
Offset Configuration for calculating a value by applying an offset to a baseline val...
SchemaReference A reference to a LinkML schema, with optional version and locator metadata
SpecificationComponent
        ElementDerivation An abstract grouping for classes that provide a specification of how to deriv...
                ClassDerivation A specification of how to derive a target class from a source class
                EnumDerivation A specification of how to derive the value of a target enum from a source enu...
                ObjectDerivation Deprecated
                PermissibleValueDerivation A specification of how to derive the value of a PV from a source enum
                PrefixDerivation A specification of how to derive a target prefix declaration
                SlotDerivation A specification of how to derive the value of a target slot from a source slo...
        TransformationSpecification A collection of mappings between source and target classes
StringificationConfiguration Configuration for collapsing multiple values into a single delimited or seria...
TransformationOperation
        AggregationOperation An operation that reduces multiple input values to a single value using an ag...
        GroupingOperation An operation that groups source rows prior to aggregation
        PivotOperation An operation that reshapes data between wide and long (EAV) representations, ...
UnitConversionConfiguration Configuration for converting a slot value from a source unit of measure to a ...

Slots

Slot Description
add Add new sub-elements that are not present in the source element
affiliation Institutional affiliation of the person
aggregation_operation An aggregation operation that reduces multiple source values into this slot's...
alias name of the class to be aliased
author A list of authors of this transformation specification
cast_collection_as Coerce the derived slot's collection form (for example single-valued, list, o...
class_derivations Instructions on how to derive a set of classes in the target schema from clas...
class_name Name of the class that holds the back-reference (foreign key) slot
class_named local alias for the class
comments A list of comments about this component
content_url Reference to the actual content of the mapping specification
copy_all Copy all sub-elements of the Element being derived
copy_directives Directives controlling which elements of the source schema are copied into th...
creator A list of creators of this transformation specification
delimiter Delimiter used to join multiple values into a single string
derived_from Deprecated
description description of the specification component
dictionary_key When the derived value is a list of objects, the slot whose value is used as ...
direction Whether to MELT (wide to long) or UNMELT (long to wide)
documentation URL or reference to documentation for the mapping specification
element_name Name of the source element this directive applies to (a class, slot, enum, et...
enum_derivations Instructions on how to derive a set of enums in the target schema
exclude Remove certain sub-elements from the list of sub-elements to be copied
exclude_all Do not copy any of the sub-elements of the Element being derived
expr An expression to be evaluated on the source object to derive the target slot
expression_mappings A mapping table where the values are expressions evaluated against source bin...
expression_to_expression_mappings A mapping table in which the keys and values are expressions
expression_to_value_mappings A mapping table in which the keys are boolean expressions and the values are ...
hide True if this is suppressed
id Unique identifier for this transformation specification
id_slots Slots that identify the entity (not pivoted)
implements A reference to a specification that this component implements
include Add certain sub-elements to the list of sub-elements to be copied
invalid_value_handling How to handle values that cannot be interpreted as valid input to the aggrega...
inverse_of Used to specify a class-slot tuple that is the inverse of the derived/target ...
is_a The parent element that the derived target element inherits from
join_on shorthand for source_key and lookup_key when both share the same column name
joins Additional classes to be joined to derive instances of the target class
key The key
license license under which this transformation specification is published
lookup_key column in the secondary (joined) table used as the join key
mapping_method The method used to create this mapping, e
mirror_source If true, pass the source value through unchanged instead of transforming it
mixins Mixin elements applied to the derived target element
name The name or identifier of the schema
none_if_non_numeric If true, return None when the source value cannot be coerced to a numeric typ...
null_handling How to handle null values encountered during aggregation
object_derivations Deprecated
offset Configuration for calculating a value by applying an offset to a baseline val...
offset_field Name of the field in the source object that contains the offset amount
offset_reverse If true, subtract the offset from the baseline (baseline - offset)
offset_value Multiplier applied to the offset field value
operator The aggregation function to apply (for example SUM, AVERAGE, COUNT)
orcid ORCID identifier for the person
over_slots The source slots whose values are combined into the stringified result
overrides overrides source schema slots
permissible_value_derivations Instructions on how to derive a set of PVs in the target schema
pivot_operation Configuration for pivot (unmelt) operations at class level
populated_from Source class to derive this target class from
prefixes maps prefixes to URL expansions
publication_date date of publication of this transformation specification
range The range (value type) to assign to the derived target slot, overriding the r...
repository_url URL to a code repository
reversed If true, reverse the operation, splitting a delimited or serialized string ba...
reviewer A list of reviewers of this transformation specification
ror_id ROR (Research Organization Registry) identifier
schema_uri The URI/IRI identifier of the schema (matches the schema's id)
slot_derivations Instructions on how to derive a set of top level slots in the target schema
slot_name Name of the slot on the referenced class that back-references the derived slo...
slot_name_template Template for generating target slot names
source_file Optional file path or URL from which the schema can be loaded
source_key column in the primary (populated_from) table used as the join key
source_magnitude_slot For structured value-and-unit source input, the key within the source value t...
source_schema Reference to the schema that describes the source (input) objects
source_schema_patches Schema patches to apply to the source schema before transformation
source_slots For MELT, the list of wide-format slots to melt
source_unit The unit the source value is expressed in
source_unit_scheme The unit scheme or system identifying source_unit (for example ucum)
source_unit_slot For structured value-and-unit source input, the key within the source value t...
sources Deprecated
stringification Configuration for combining multiple values into a single string value
syntax Serialization syntax used to stringify the values when no delimiter is given
target_definition LinkML class definition object for this slot
target_magnitude_slot When emitting structured output, the key to write the converted magnitude int...
target_schema Reference to the schema that describes the target (output) objects
target_unit The unit to convert the value into
target_unit_scheme The unit scheme or system identifying target_unit (for example ucum)
target_unit_slot When emitting structured output, the key to write the target unit into
title human readable title for this transformation specification
type Type of the agent
type_designator True if this target slot designates the type (class) of the instance, analogo...
unit_conversion Configuration for converting the source value's unit of measure when deriving...
unit_slot Optional slot containing unit information for {variable}_{unit} naming
unmelt_to_class In an unmelt operation, attributes (which are values in the long/melted/EAV r...
unmelt_to_slots For an unmelt operation, the target wide-format slots to populate from the lo...
url URL or web address of the organization
value A constant value to assign to the target slot
value_mappings A mapping table that is applied directly to mappings, in order of precedence
value_slot Slot to use for the value column in the melted/long representation
variable_slot Slot to use for the variable column in the melted/long representation
version version of this transformation specification

Enumerations

Enumeration Description
AggregationType
CollectionType
InvalidValueHandlingStrategy
PivotDirectionType
SerializationSyntaxType

Types

Type Description
Boolean A binary (true or false) value
ClassReference
Curie a compact URI
Date a date (year, month and day) in an idealized calendar
DateOrDatetime Either a date or a datetime
Datetime The combination of a date and time
Decimal A real number with arbitrary precision that conforms to the xsd:decimal speci...
Double A real number that conforms to the xsd:double specification
EnumReference
Float A real number that conforms to the xsd:float specification
Integer An integer
Jsonpath A string encoding a JSON Path
Jsonpointer A string encoding a JSON Pointer
Ncname Prefix part of CURIE
Nodeidentifier A URI, CURIE or BNODE that represents a node in a model
Objectidentifier A URI or CURIE that represents an object in the model
SlotReference
Sparqlpath A string encoding a SPARQL Property Path
String A character string
Time A time object represents a (local) time of day, independent of any particular...
Uri a complete URI
Uriorcurie a URI or a CURIE

Subsets

Subset Description