Crystalia Data Model¶
A LinkML schema for the Crystalia domain.
Quick Start¶
# Clone the repository
git clone https://github.com/vladistan/crystalia-data-model.git
cd crystalia-data-model
# Install dependencies
uv sync --group dev
# Generate all artifacts from the schema
just gen-project
# Serve the documentation locally
just serve-docs
# Run tests
just test
Schema Overview¶
The core schema is defined in linkml_crystalia.yaml.
For a complete reference, see the Data Dictionary.
Generated Artifacts¶
The following artifacts are generated from the schema and available in the project/ directory:
| Artifact | File | Description |
|---|---|---|
| OWL | project/owl/linkml_crystalia.owl.ttl |
OWL ontology in Turtle format |
| Pydantic | src/crystalia_data_model/datamodel/linkml_crystalia.py |
Python Pydantic v2 models |
| TypeScript | project/typescript/linkml_crystalia.ts |
TypeScript type definitions |
Data Dictionary¶
The Data Dictionary provides the complete reference for all classes, slots, enumerations, and type definitions in the schema, including class diagrams and ERD visualizations.
Repository Structure¶
- src/ - source files
- crystalia_data_model/schema - LinkML schema (edit this)
- crystalia_data_model/datamodel - generated Python datamodel
- project/ - generated artifacts (do not edit)
- tests/ - Python tests
- docs/ - documentation source
Source¶
- Repository: github.com/vladistan/crystalia-data-model
- Documentation: crystalia.link
- Schema:
src/crystalia_data_model/schema/linkml_crystalia.yaml