LinkML - Linked data Modeling Language - LinkML

1 min read Original article ↗

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

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