Skip to content

Generator for LinkML #560

Description

@kenwenzel

Summary
I propose adding a new generator to aas-core-codegen to output the Asset Administration Shell (AAS) meta-model as a LinkML schema (in YAML format). This new output target would significantly enhance the interoperability and semantic capabilities of the AAS meta-model by connecting it to the extensive LinkML ecosystem.

Motivation
The core philosophy of aas-core-codegen is to use a single, formalized meta-model (written in simplified Python) as the single source of truth to generate various artifacts (SDKs, JSON Schema, XSD). This ensures consistency across all implementations.

LinkML is a powerful, language-neutral framework for modeling data schemas and is widely used for integrating data across different formats, especially in contexts requiring robust semantic handling and code generation.

By generating a LinkML representation of the AAS meta-model, we can immediately leverage the existing, mature LinkML tooling to produce a wealth of additional artifacts without requiring new, complex generators to be written directly in aas-core-codegen.

Proposal
Implement a new generator target, e.g., linkml, within aas-core-codegen.

This generator will map the classes, properties, types, and constraints of the AAS meta model to the equivalent LinkML schema constructs (Classes, Slots, Types, Enums).

The output should be a single, validated LinkML YAML file representing the full AAS meta-model.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions