- Created manifest.json for the parsimonious LinkML package. - Added metadata.yaml with detailed information about the Heritage Custodian Parsimony Ontology. - Established directory structure for classes, enums, mappings, and slots with corresponding README files. - Each module directory includes a brief description of its purpose and planned scale.
1.5 KiB
1.5 KiB
LinkML Module Layout
Package structure
Planned package:
schemas/20251121/linkml/parsimony/
metadata.yaml
modules/
classes/
slots/
enums/
mappings/
Layout principles
- Keep the parsimonious package separate from the engineering package.
- Reuse the same LinkML authoring conventions as the engineering ontology.
- Keep slot definitions centralized under
modules/slots/. - Keep class files small and import the slots they use.
- Use a minimal number of files; avoid unnecessary fragmentation.
Cross-package references
When the parsimonious package references engineering files, the relative path should be computed from the parsimonious module location back to schemas/20251121/linkml/modules/.
Examples from schemas/20251121/linkml/parsimony/modules/classes/:
- engineering class import:
../../../modules/classes/Archive.yaml - engineering slot import:
../../../modules/slots/hold.yaml - engineering mapping support file:
../../../modules/mappings/...
Examples from schemas/20251121/linkml/parsimony/modules/mappings/:
- engineering class import:
../../../modules/classes/... - engineering slot import:
../../../modules/slots/...
File design guidance
- Use a root
metadata.yamlfor prefixes and package-level metadata. - Keep a small root schema once implementation starts.
- Reserve
modules/mappings/for explicit parsimonious-to-engineering alignment artifacts. - Treat mapping files as part of the ontology, not auxiliary notes.