https://github.com/linkml/linkml-tutorial-2024
https://github.com/linkml/linkml-tutorial-2024
Last synced: 9 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/linkml/linkml-tutorial-2024
- Owner: linkml
- License: mit
- Created: 2024-06-24T23:13:56.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-07-09T17:02:05.000Z (almost 2 years ago)
- Last Synced: 2025-01-12T13:33:22.783Z (over 1 year ago)
- Language: Python
- Homepage: https://linkml.github.io/linkml-tutorial-2024
- Size: 6.16 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## linkml-tutorial-2024
This repository contains the source code for the LinkML tutorial for the 2024 Intelligent Systems for Molecular Biology
Conference ([ISMB 2024](https://ismb.landing.showcare.io/2024-conference/?utm_source=google-ad-grant&utm_medium=showcare&gad_source=1&gclid=Cj0KCQjwv7O0BhDwARIsAC0sjWPB_OFEy4AkvGpiiHw10O9iSNap3JZ-8p9EsPFRL1RFobgt9YZAxE4aAgohEALw_wcB))
In this tutorial, we discuss best practices for data modeling; introduce LinkML as a modeling framework
and tool suite; work together to set up a LinkML project from scratch; develop a model and validate it with
test data; and auto-generate model documentation.
The slides that accompany this repository can be viewed at [https://linkml.io/linkml-tutorial-2024/LinkML_tutorial_for_ISMB 2024_ slides.pdf](https://linkml.io/linkml-tutorial-2024/LinkML_tutorial_for_ISMB 2024_ slides.pdf).
To follow along, please use the slides and the tags in this repo to see how we build up a linkml project from scratch using
the LinkML Project Cookiecutter (https://gituhub.com/linkml/linkml-project-cookiecutter).
### Step 0: Executing the LinkML Project Cookiecutter
At the end of Step 0, you will have a new LinkML project that is ready to be developed. Check out the tag
`step_0_basic_project_creation` to see the project at this stage.
This step begins at slide 29.
### Step 1: Explore some LinkML modeling elements.
The example schema generated here follows the use case introduced in the slides.
At the end of Step 1, you will have a LinkML schema that models the use case introduced in the slides. Check out the tag
`step_1_modeling` to see the project at this stage.
This step begins at slide 48.
### Step 2: Lint the schema
Understand how the LinkML linter works, how to customize it to ignore or enforce linting rules
and fix the sample schema appropriately.
At the end of Step 2, you will have a LinkML schema that passes linting. Check out the tag
`step_2_linting` to see the project at this stage.
This step begins at slide 70.
### Step 3: Generate Documentation from the schema and deploy it to GitHub Pages.
At the end of Step 3, you will have a LinkML schema that has been documented and deployed to GitHub Pages.
Check out the tag `step_3_documentation` to see the project at this stage.
This step begins at slide 92.
### Step 4: Generate a Python data model from the schema
At the end of Step 4, you will have a Python data model that has been tested.
Check out the tag `step_4_code_generation` to see the project at this stage.
This step begins at slide 105.
### Step 5: Validate example data
At the end of Step 5, you will have validated example data with the LinkML Validator.
Check out the tag `step_5_validation` to see the project at this stage.
This step begins at slide 115.
The resulting datamodel, tutorial schema documentation, and schema diagrams can be viewed at:
[https://linkml.github.io/linkml-tutorial-2024](https://linkml.github.io/linkml-tutorial-2024)
## Credits
This project was made with
[linkml-project-cookiecutter](https://github.com/linkml/linkml-project-cookiecutter).