LinkML
model your data
LinkML is a general purpose modeling language that can be used with linked data, JSON, and other formalisms
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!
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...
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!
Use linkml-project-cookiecutter in GitHub.
Edit your YAML file
Add example data
Use the Makefile to generate all downstream artefacts