LinkML-Map

LinkML Map is a framework for specifying and executing declarative mappings between data models.

The core of LinkML Map is the TransformationSpecification — a YAML-based language for describing how to map one data model to another. This specification is independent of how the transformation is executed or what format the data lives in.

Features:

Architecture

The TransformationSpecification acts as a declarative intermediate representation that can be interpreted by different execution backends:

Transformed data serializes to text (YAML, JSON, JSONL, TSV, CSV) or to a columnar artifact (Parquet, DuckDB). The columnar formats preserve nested structure that the flat text formats cannot: a nested object becomes a STRUCT column rather than being flattened away. See Columnar Output.

This documentation is available at:

Status:

The transformation data model is not yet fully stable, and may be subject to change. Not all parts of the model are implemented in the reference Python framework.

Details

This repo contains both:

The transformation language is specified in terms of LinkML schemas. It is intended to be a polyglot transformation language, used for specifying how to map data models independent of underlying representation (TSVs, JSON/YAML, RDF, SQL Database, ...). The same TransformationSpecification can be interpreted in Python (full feature support) or compiled to SQL (experimental, limited subset).

Use cases include:

Data Model

The data model for transformations mirrors the data model for schemas:

See the generated docs

Conformance Suite

The Maps conformance suite contains a collection of tests for each feature of the language.

See: