Skip to content

Commit

Permalink
add in doc and PDF of tutorial slides
Browse files Browse the repository at this point in the history
  • Loading branch information
sierra-moxon committed Jul 9, 2024
1 parent 0e07cac commit a69399c
Show file tree
Hide file tree
Showing 3 changed files with 114 additions and 21 deletions.
74 changes: 54 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,65 @@
# linkml-tutorial-2024
## linkml-tutorial-2024

A repostitory that walks through schema generation.
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))

## Website
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.

[https://linkml.github.io/linkml-tutorial-2024](https://linkml.github.io/linkml-tutorial-2024)
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

## Repository Structure
Understand how the LinkML linter works, how to customize it to ignore or enforce linting rules
and fix the sample schema appropriately.

* [examples/](examples/) - example data
* [project/](project/) - project files (do not edit these)
* [src/](src/) - source files (edit these)
* [linkml_tutorial_2024](src/linkml_tutorial_2024)
* [schema](src/linkml_tutorial_2024/schema) -- LinkML schema
(edit this)
* [datamodel](src/linkml_tutorial_2024/datamodel) -- generated
Python datamodel
* [tests/](tests/) - Python tests
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.

## Developer Documentation
This step begins at slide 70.

<details>
Use the `make` command to generate project artefacts:
### Step 3: Generate Documentation from the schema and deploy it to GitHub Pages.

* `make all`: make everything
* `make deploy`: deploys site
</details>
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

Expand Down
Binary file not shown.
61 changes: 60 additions & 1 deletion src/docs/about.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,62 @@
# linkml-tutorial-2024

A repostitory that walks through schema generation.
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)

0 comments on commit a69399c

Please sign in to comment.