skillfed

linkml

Linked Open Data Modeling Language

linkml v1.11.1 446.6K downloads/30d#6,611 on PyPI
Permissive license Apache-2.0 Active released

What it is and what it does

LinkML is a linked data modeling language designed to let you define data schemas once in YAML and generate multiple schema representations—JSON Schema, RDF, ShEx, and others—from that single source. It follows object-oriented and ontological principles, making it useful for domains like healthcare and bioinformatics where semantic interoperability matters. The package includes command-line tools and a Python API for schema generation, validation, and conversion.

You author schemas in YAML, then use LinkML's generators to produce the formats your downstream systems need. It depends on a substantial set of libraries—including jsonschema, rdflib, pydantic, and sqlalchemy—to handle schema validation, RDF processing, and data serialization. The project is actively maintained and supports modern Python versions.

Use it for:

  • Define a biomedical data model once in YAML and generate JSON Schema for API validation and RDF for semantic web publishing.
  • Convert an existing ontology or schema into multiple formats for use across different tools and platforms.
  • Build a domain-specific schema language for internal data governance, then auto-generate documentation and validation code.
  • Create linked data models that integrate with existing RDF and OWL ecosystems.
  • Generate TypeScript or Python classes from a YAML schema definition for type-safe data handling.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

LinkML is a modeling language for defining linked data schemas in YAML, with tools to generate JSON, RDF, and other schema formats from a single source definition.

Yes, if you need to author schemas once and generate multiple formats (JSON Schema, RDF, ShEx) from a single source. The active maintenance, permissive license, low install friction, and support for current Python versions make it a solid choice. No known vulnerabilities. Best suited for teams working with linked data, semantic web standards, or multi-format schema requirements.

Install

linkml on PyPI

pip

pip install linkml

uv

uv add linkml

poetry

poetry add linkml

Installing linkml

Before you install

Low install friction with a pure-Python wheel. Active maintenance with a release within the last 86 days. Supports current Python versions (3.10–3.13).

License in practice

Apache-2.0 permissive license allows commercial and private use with minimal restrictions.

Quickstart

pip install linkml

from linkml.loaders import yaml_loader
from linkml.generators.jsonschemagen import JsonSchemaGenerator

schema = yaml_loader.load('my_schema.yaml')
generator = JsonSchemaGenerator(schema)
json_schema = generator.serialize()

Requires Python 3.10 or later.

Verify before relying

  • Specific documentation on schema validation and error handling during conversion.
  • Performance characteristics when working with large or deeply nested schemas.
  • Community adoption metrics beyond download counts (e.g., active issue resolution, contributor base).

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 25 — antlr4-python3-runtime, click, graphviz, hbreader, isodate, jinja2, jsonasobj2, jsonschema, linkml-runtime, openpyxl, parse, prefixcommons, prefixmaps, pydantic, pyjsg, pyshex, pyshexc, python-dateutil, pyyaml, rdflib, requests, sphinx-click, sqlalchemy, typing-extensions, watchdog
Maintenance actively maintained — 86 days since the last release
First released
Downloads 446,587/month — #6,611 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: linkml-1.11.1-py3-none-any.whl

Keywords: biolink, data modeling, linked data, owl, rdf, schema

Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersIntended Audience :: Healthcare IndustryIntended Audience :: Science/ResearchProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Software Development :: Libraries :: Python Modules

Tags

linked data schema modelingyaml to json schema conversionrdf schema generationontology definition languagedata model to multiple formatssemantic web schema toolsbiolink compatible modeling
schema-generationlinked-datasemantic-web

More Python Modules packages