The metamodel#
LinkML is fully described by a metamodel that is itself described in LinkML
Part 3 of specification
Metamodel Versioning scheme#
The LinkML project uses Semantic Versioning (SemVer)
Note there are a number of different artefacts in the LinkML project
Core artefacts
linkml-model: the metamodel, the actual LinkML standard
linkml-runtime
linkml
Additional artefacts
linkml-model-enrichment
other related projects, e.g. schemasheets
These each have their own distinct versioning schemes, which need not be connected. Versions are tracked in GitHub, alongside respective PyPI releases.
However, starting with the release of linkml-model 1.2, core artefacts version numbers are loosely coupled:
The major and minor version should match the major and minor version of the metamodel
The patch number can vary independently
For example, linkml-runtime 1.5.12 uses the 1.5 series of the metamodel.
Release Candidates#
All release candidates are given a version number MAJOR.MINOR.PATCHrcNUM
These are tagged as pre-releases on GitHub
Metamodel Release Notes#
For complete release notes tied to patch releases, see the release notes on GitHub:
https://github.com/linkml/linkml-model/releases
https://github.com/linkml/linkml-runtime/releases
https://github.com/linkml/linkml/releases
LinkML-Model 1.3#
Highlights:
dynamic enums: restrict slots to ontology terms based on queries
unit support: annotate slots or types with unit information
structured patterns: reuse common elements in regular expression pattern constraints
structured aliases: include provenance of naming information
Complete changelog: https://github.com/linkml/linkml-model/compare/v1.2.0…v1.3.0
LinkML-Model 1.2#
Highlights:
A richer set of slots that can be used for schema metadata
The introduction of boolean conditions and rules
A validation datamodel based on SHACL validation
A dataset datamodel based on frictionless, void, dcat, and the HCLS dataset description standard
Ability to constrain field values using regular expressions
Selected Changelog:
new slot: string serialization https://github.com/linkml/linkml-model/pull/25
new slot: recommended https://github.com/linkml/linkml-model/pull/26
unique keys: https://github.com/linkml/linkml-model/pull/16
data validation datamodel: https://github.com/linkml/linkml-model/pull/42
pattern on type definitions: https://github.com/linkml/linkml-model/pull/43
adding conforms_to: https://github.com/linkml/linkml-model/pull/50
add min-max-val-to-type-expression: https://github.com/linkml/linkml-model/pull/57
aligning-validation model: https://github.com/linkml/linkml-model/pull/68
new slot: source: https://github.com/linkml/linkml-model/pull/62
new slots: relational characteristics: https://github.com/linkml/linkml-model/pull/69
datasets schema: https://github.com/linkml/linkml-model/pull/67
reified statements/edge properties: https://github.com/linkml/linkml-model/pull/61
property groups: https://github.com/linkml/linkml-model/pull/71
path: https://github.com/linkml/linkml-model/pull/72
disjoint_with: https://github.com/linkml/linkml-model/pull/78
structured_alias: https://github.com/linkml/linkml-model/pull/66
align to skosxl: https://github.com/linkml/linkml-model/pull/86
Complete changelog: https://github.com/linkml/linkml-model/compare/v1.0.0…v1.2.0
Corresponding framework change highlights, from 1.1 (linkml and linkml-runtime):
dropped support for rdflib5 – rdflib6 is now required
Reduced library dependencies
new generators:
SQL DDL
SQL Alchemy
SHACL
Typescript
Added SchemaView utility
LinkML-Model 1.0: June 2021#
This is the first version of LinkML seeded from the historic BiolinkML project