- 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.
3.3 KiB
3.3 KiB
Semantic Parsimony Ontology - Master Checklist
Status: planning
Phase 0 - Research and framing
- Confirm the parsimonious ontology scope against PiCo, RiC-O, PROV-O, Schema.org, and selected ODP literature.
- Inventory the most important engineering modules, classes, and slots in
schemas/20251121/linkml/modules/. - Identify the 8-12 semantic hubs that cover most engineering concepts without collapsing important distinctions.
- Define inclusion criteria for parsimonious classes and slots.
- Define exclusion criteria for engineering-only details.
Phase 1 - Parsimonious conceptual design
- Fix the class budget at roughly 10 classes.
- Fix the datatype slot budget at roughly 30 slots.
- Fix the object slot budget at roughly 50 slots.
- Decide which PiCo-style distinctions become explicit classes: observation, reconstruction, source, activity, agent, type, relation, identifier, name, place, time.
- Decide which distinctions remain engineering-only refinements.
Phase 2 - LinkML package structure
- Create
schemas/20251121/linkml/parsimony/as a separate LinkML package. - Create
modules/classes/,modules/slots/,modules/enums/, andmodules/mappings/under the parsimony package. - Add a parsimonious root schema that imports the small module set.
- Keep slots centralized; do not define inline slots in class files.
- Keep imports relative to the engineering
modules/directory where cross-package mappings are needed.
Phase 3 - Mapping to the engineering ontology
- Create dedicated mapping files under
schemas/20251121/linkml/parsimony/modules/mappings/. - For each parsimonious class, identify the engineering classes, enums, and slots it subsumes.
- For each mapping, document whether the engineering term is exact, broader, narrower, close, or related.
- Use verified ontology references from
data/ontology/where external mappings are asserted. - Document how hypernym concepts become database-like engineering structures.
- Use relative imports from parsimonious modules to engineering modules via
../../../modules/....
Phase 4 - Rules and governance
- Review
.opencode/rules/linkml/for assumptions that are engineering-only. - Propose amendments for parsimonious modeling where current rules are too narrow.
- Preserve core rules: verified mappings, class/property distinction, centralized slots, no inline slots, generic slots over bespoke predicates.
- Add or update rule text for cross-layer mapping between parsimonious hypernyms and engineering refinements.
- Add governance notes for when semantic simplicity is preferred over engineering completeness.
Phase 5 - Dashboard and UX
- Add
bronhouder.nl/parsimonyroute. - Reuse the LinkML viewer page, layout, and UML viewer behavior.
- Point the route at
/schemas/20251121/linkml/parsimony. - Generate a separate manifest for the parsimonious schema package.
- Verify that the dashboard behaves correctly even while the package is still sparsely populated.
Phase 6 - Validation and delivery
- Validate parsimonious YAML structure.
- Validate manifests and frontend loading.
- Validate mapping paths and import paths.
- Review the plan against the LinkML rules and document planned rule edits.
- Convert the plan into implementation tickets.