Tutorial — linkml documentation

# Tutorial

Contents:

- Part 1: Creating your first LinkML schema
  - Your first schema
  - Converting to JSON-Schema
  - Creating and validating data
  - Working with JSON
  - Converting to RDF
  - Exercises
  - Collections of data
- Part 2: Adding a container object
  - Example data file
  - Nesting lists of objects
  - Validating
  - Visualizing
  - Exercises
  - Further reading
  - Next
- Part 3: Adding constraints and performing validation
  - Example schema
  - Example data
  - Exercises
  - Using the JSON Schema directly
  - Other validation strategies
  - Further reading
- Part 4: Working with RDF
  - Example schema
  - Adding URIs to our schema
  - JSON-LD contexts
  - Using Shape Languages
  - RDF support is evolving
  - More Info
- Part 5: Using Python dataclasses
  - Generating a Python datamodel
  - LinkML runtime
  - Further reading
  - Next
- Part 6: Enumerations
  - Mapping Enums to vocabularies
  - Use in Python
  - Further reading
- Part 7: Slots and inheritance
  - Slots and attributes
  - Inheritance
  - Customizing slots in the context of classes: Slot Usage
- Part 8: Generating Projects
  - Example
  - See Also

The tutorial is evolving, some things that will be covered in future versions:

- Generating schemas from:

  > - JSON Schema

  > - OWL Ontologies

  > - Instance data in JSON, TSV/spreadsheets, RDF

- SQL databases

- Using LinkML to organize spreadsheets

- Change objects and diffs

- Query APIs