Skip to content

Commit 4a35657

Browse files
rdhyeeclaude
andauthored
Add schema orientation section to generated docs (v0.1) (#205)
The autogen metadata page currently jumps from the one-paragraph schema description directly into an alphabetical class table, which makes MaterialSampleRecord look like an equal sibling to supporting types like IdentifiedConcept or Agent. Adds a hand-written "How this schema is organized" section to the index template, grouping the 8 core classes into: the centerpiece (MaterialSampleRecord), the act of sampling (SamplingEvent / SamplingSite / GeospatialCoordLocation), post-collection life (MaterialSampleCuration, SampleRelation), and supporting types (Agent, IdentifiedConcept). Concludes with a one-sentence "putting it together" walk-through for a typical record. The autogen reference tables remain below as the complete source of truth — this only adds narrative scaffolding above them. Addresses #204 Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 82c8ddf commit 4a35657

1 file changed

Lines changed: 68 additions & 0 deletions

File tree

tools/docgen/index.qmd.jinja2

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,74 @@ date-modified: {{ gen.timestamp }}
99
URI: {{ schema.id }}
1010
Name: {{ schema.name }}
1111

12+
## How this schema is organized
13+
14+
The autogenerated reference below lists every class, slot, enumeration, and type
15+
alphabetically. For newcomers, that flat list can obscure the fact that the
16+
schema has a clear conceptual center and that most other classes exist to
17+
describe the context around it. This section is a hand-written orientation to
18+
help you find your way in.
19+
20+
### The centerpiece: the sample record
21+
22+
[**MaterialSampleRecord**](./MaterialSampleRecord.html) is the schema's core
23+
class. It is the digital record *about* a physical material sample — a rock
24+
core, a sherd of pottery, a biological specimen, a sediment grab. Every other
25+
class in the schema exists to describe *something about* a MaterialSampleRecord:
26+
how it was collected, where, by whom, what it is, and what has happened to it
27+
since.
28+
29+
### The act of sampling
30+
31+
A sample doesn't exist in isolation — it was produced by some act of sampling
32+
at some place and time. Three classes capture this:
33+
34+
- [**SamplingEvent**](./SamplingEvent.html) — the event that produced the
35+
sample (who did it, when, under what authorization, following which protocol).
36+
- [**SamplingSite**](./SamplingSite.html) — documentation of the place the
37+
sample was collected from, including place name(s) and the broader context it
38+
is part of.
39+
- [**GeospatialCoordLocation**](./GeospatialCoordLocation.html) — decimal
40+
latitude/longitude and elevation, used both for the sample's precise
41+
coordinates and for the centroid of a sampling site.
42+
43+
### After collection: curation and relationships
44+
45+
Once a sample leaves its original context, it has an ongoing life in
46+
collections, analyses, and derived artifacts:
47+
48+
- [**MaterialSampleCuration**](./MaterialSampleCuration.html) — where the
49+
sample is currently kept, how it can be accessed, and the history of its
50+
handling.
51+
- [**SampleRelation**](./SampleRelation.html) — semantic links between
52+
samples (e.g. a derived subsample) or between a sample and a related
53+
resource.
54+
55+
### Supporting types used across the model
56+
57+
Two classes appear throughout the model rather than being specific to any one
58+
part:
59+
60+
- [**Agent**](./Agent.html) — a person (or organization) playing a role such
61+
as collector, curator, or registrant.
62+
- [**IdentifiedConcept**](./IdentifiedConcept.html) — a vocabulary term with
63+
an identifier and label, used for things like material category, context
64+
category, object type, and relationship kinds.
65+
66+
### Putting it together
67+
68+
A complete record typically looks like:
69+
*a* [MaterialSampleRecord](./MaterialSampleRecord.html)
70+
— produced by a [SamplingEvent](./SamplingEvent.html) at a
71+
[SamplingSite](./SamplingSite.html) with a
72+
[GeospatialCoordLocation](./GeospatialCoordLocation.html),
73+
described using [IdentifiedConcept](./IdentifiedConcept.html) vocabulary terms
74+
for its material and context categories,
75+
with [Agent](./Agent.html)s named as registrant and responsible parties,
76+
curated per a [MaterialSampleCuration](./MaterialSampleCuration.html),
77+
and optionally linked to other samples via
78+
[SampleRelation](./SampleRelation.html).
79+
1280
{% include "class_overview_diagram.qmd.jinja2" %}
1381

1482
## Classes

0 commit comments

Comments
 (0)