biolink/biolink-model

Schema and generated objects for biolink data model and upper ontology

Python

267

3,991 commits

updated Oct 18, 2026

See the code

README

Biolink Model Python 3.9 DOI

Biolink Model

Biolink Model: https://w3id.org/biolink/biolink-model.yaml

Quickstart docs:

For a good overview of the biolink-model, watch Chris Mungall's talk at ICBO 2020.

Refer to the following resources for a quick introduction to the Biolink Model:

See also the Biolink Model Documentation for help in understanding, curating, and working with the model.

Installation

The default install pulls in pydantic and linkml-runtime. It is enough to use both generated Python datamodels (biolink_model.datamodel.pydanticmodel_v2 and biolink_model.datamodel.model), build a SchemaView, run the generate_viz_json script, and access the bundled schema and prefix-map data files (biolink_model/schema/*.yaml, biolink_model/prefixmaps/*.json) as package data (for example, with importlib.resources):

pip install biolink-model

Additional functionality is available through extras:

ExtraAddsUse it for
scriptslinkml, rdflib, curiesThe model generation/maintenance scripts under src/biolink_model/scripts/ (invoked via the Makefile)
docsmkdocs, mkdocs-material, mkdocs-mermaid2-pluginBuilding the documentation site
allall of the aboveEverything
pip install "biolink-model[scripts]"    # generation/maintenance scripts
pip install "biolink-model[all]"        # everything

Introduction

The purpose of the Biolink Model is to provide a high-level datamodel of biological entities (genes, diseases, phenotypes, pathways, individuals, substances, etc), their properties, relationships, and enumerate ways in which they can be associated.

The representation is independent of storage technology or metamodel (Solr documents, neo4j/property graphs, RDF/OWL, JSON, CSVs, etc). Different mappings to each of these are provided.

The specification of the Biolink Model is a single YAML file built using linkml. The basic elements of the YAML are:

  • Class Definitions: definitions of upper level classes representing both 'named thing' and 'association'
  • Slot Definitions: definitions of slots (aka properties) that can be used to relate members of these classes to other classes or data types. Slots collectively refer to predicates, node properties, and edge properties

The model itself is being used in the following projects:

Organization

The main source of truth is biolink-model.yaml. This is a YAML file that is intended to be relatively simple to view and edit in its native form.

The yaml definition is currently used to derive:

Unni DR, Moxon SAT, Bada M, Brush M, Bruskiewich R, Caufield JH, Clemons PA, Dancik V, Dumontier M, Fecho K, Glusman G, Hadlock JJ, Harris NL, Joshi A, Putman T, Qin G, Ramsey SA, Shefchek KA, Solbrig H, Soman K, Thessen AE, Haendel MA, Bizon C, Mungall CJ, The Biomedical Data Translator Consortium (2022). Biolink Model: A universal schema for knowledge graphs in clinical, biomedical, and translational science. Clin Transl Sci. Wiley; 2022 Jun 6; https://onlinelibrary.wiley.com/doi/10.1111/cts.13302

ai4curation
biolink
datamodel
gene-ontology
json-api
knowledge-graphs
linkml
monarchinitiative
ncats
ncats-translator
neo4j
obofoundry
owl
rdf
specification
standard
yaml

biolink/biolink-model

Schema and generated objects for biolink data model and upper ontology

Python

267

3,991 commits

updated Oct 18, 2026

See the code

README

Biolink Model Python 3.9 DOI

Biolink Model

Biolink Model: https://w3id.org/biolink/biolink-model.yaml

Quickstart docs:

For a good overview of the biolink-model, watch Chris Mungall's talk at ICBO 2020.

Refer to the following resources for a quick introduction to the Biolink Model:

See also the Biolink Model Documentation for help in understanding, curating, and working with the model.

Installation

The default install pulls in pydantic and linkml-runtime. It is enough to use both generated Python datamodels (biolink_model.datamodel.pydanticmodel_v2 and biolink_model.datamodel.model), build a SchemaView, run the generate_viz_json script, and access the bundled schema and prefix-map data files (biolink_model/schema/*.yaml, biolink_model/prefixmaps/*.json) as package data (for example, with importlib.resources):

pip install biolink-model

Additional functionality is available through extras:

ExtraAddsUse it for
scriptslinkml, rdflib, curiesThe model generation/maintenance scripts under src/biolink_model/scripts/ (invoked via the Makefile)
docsmkdocs, mkdocs-material, mkdocs-mermaid2-pluginBuilding the documentation site
allall of the aboveEverything
pip install "biolink-model[scripts]"    # generation/maintenance scripts
pip install "biolink-model[all]"        # everything

Introduction

The purpose of the Biolink Model is to provide a high-level datamodel of biological entities (genes, diseases, phenotypes, pathways, individuals, substances, etc), their properties, relationships, and enumerate ways in which they can be associated.

The representation is independent of storage technology or metamodel (Solr documents, neo4j/property graphs, RDF/OWL, JSON, CSVs, etc). Different mappings to each of these are provided.

The specification of the Biolink Model is a single YAML file built using linkml. The basic elements of the YAML are:

  • Class Definitions: definitions of upper level classes representing both 'named thing' and 'association'
  • Slot Definitions: definitions of slots (aka properties) that can be used to relate members of these classes to other classes or data types. Slots collectively refer to predicates, node properties, and edge properties

The model itself is being used in the following projects:

Organization

The main source of truth is biolink-model.yaml. This is a YAML file that is intended to be relatively simple to view and edit in its native form.

The yaml definition is currently used to derive:

Unni DR, Moxon SAT, Bada M, Brush M, Bruskiewich R, Caufield JH, Clemons PA, Dancik V, Dumontier M, Fecho K, Glusman G, Hadlock JJ, Harris NL, Joshi A, Putman T, Qin G, Ramsey SA, Shefchek KA, Solbrig H, Soman K, Thessen AE, Haendel MA, Bizon C, Mungall CJ, The Biomedical Data Translator Consortium (2022). Biolink Model: A universal schema for knowledge graphs in clinical, biomedical, and translational science. Clin Transl Sci. Wiley; 2022 Jun 6; https://onlinelibrary.wiley.com/doi/10.1111/cts.13302

ai4curation
biolink
datamodel
gene-ontology
json-api
knowledge-graphs
linkml
monarchinitiative
ncats
ncats-translator
neo4j
obofoundry
owl
rdf
specification
standard
yaml

Project health

Overall

5.1/10

Maintained

10/10

Code review

5/10
OpenSSF Scorecard

Latest release

4.4.6 · Oct 9, 2026

Releases this year

14

Significant stargazers

Axel Huebl

448 followers · starred Jul 2026

Daniel Himmelstein

465 followers · starred Oct 2023