LinkML
model your data

LinkML is a general purpose modeling language that can be used with linked data, JSON, and other formalisms

LinkML Documentation
Product Shot
uBuild Blocks Mock-Up

Model your data easily by authoring YAML files

Use the LinkML modeling language to author models for your schemas and data dictionaries.

LinkML offers features such as as flexible inheritance, semantic enumerations, and control of JSON inlining. At the same time, it can be used for simple tasks such as defining data dictionaries.

See the Modeling Documentation

Linked Data is JSON-ready

Generate JSON-Schema and JSON-LD contexts for semantic-web ready and developer-friendly schemas!

json-schema screenshot from PyCharm

Generate schema artifacts

The LinkML Generator framework generates downstream artfacts, including JSON-Schema, ShEx, RDF, OWL, GraphQL, and SQL DDL.

This allows you to use LinkML while continuing to work with other toolchains, e.g. JSON-Schema validators

Generate Python dataclasses

LinkML can be used to generate Python dataclasses.

The LinkML runtime allows these to be automatically loaded/dumped from YAML, JSON, CSV, and RDF.

Stay tuned for implementations in other languages...

Customize Blocks

Stealth Semantics

In LinkML, everything has a URI behind the scenes. Developers can work directly with YAML/JSON/CSVs, and semantic models in JSON-LD and ShEx are autogenerated. LinkML enums allow binding to ontologies with a simple enumeration model.

Publish your schema on the web

The LinkML framework automates publishing schema documentation using mkdocs, and assists in publishing schema artefacts using w3id.org

Steps to Build a Model

You can get started right away!

  1. Use linkml-project-cookiecutter in GitHub.

  2. Edit your YAML file

  3. Add example data

  4. Use the Makefile to generate all downstream artefacts