LinkML is a general purpose modeling language that can be used with linked data, JSON, and other formalismsLinkML Documentation
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
Generate JSON-Schema and JSON-LD contexts for semantic-web ready and developer-friendly schemas!
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
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...
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.
The LinkML framework automates publishing schema documentation using mkdocs, and assists in publishing schema artefacts using w3id.org
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