glam/docs/plan/semantic_ontology/00-master-checklist.md
kempersc ab5ad23699 Add parsimonious LinkML package and metadata
- 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.
2026-03-13 16:48:32 +01:00

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/, and modules/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/parsimony route.
  • 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.