Skip to content

Schema documentation page needs conceptual orientation #204

@rdhyee

Description

@rdhyee

Problem

The generated schema documentation at https://isamples.org/metadata/ is overwhelming for newcomers. After the one-paragraph schema description, the page jumps immediately into a flat, alphabetical Classes table where `MaterialSampleRecord` (the centerpiece) sits as an equal sibling to supporting concepts like `IdentifiedConcept` and `Agent`.

There is no narrative explaining how the classes relate — specifically:

  • that `MaterialSampleRecord` is the core record,
  • that `SamplingEvent` / `SamplingSite` / `GeospatialCoordLocation` describe the act of sampling that produced it,
  • that `MaterialSampleCuration` and `SampleRelation` describe what happens to it after sampling,
  • that `Agent` and `IdentifiedConcept` are supporting types used across the model.

Proposal (v0.1, low-risk)

Add a hand-written "How this schema is organized" section to `tools/docgen/index.qmd.jinja2` between `{{ schema.description }}` and the autogenerated `## Classes` table. A few short paragraphs grouping the 8 classes semantically, with inline links to each class page. The autogen tables stay below as the complete reference.

Tradeoff: the narrative lives in the template and won't auto-update when new classes are added to the LinkML schema — someone needs to revise it. Acceptable for a schema that changes infrequently.

Future work

  • Consider a visual class-relationship diagram (the `class_overview_diagram.qmd.jinja2` include already exists but is minimal).
  • Eventually: LinkML-level tags/subsets that let the generator group classes automatically.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions