# Schema: Green Hill Cemetery records

Dataset `green-hill-cemetery`, version 1.0.0, published 2026-09-17. One row per record; the CSV and the "Records" sheet of the XLSX carry the same columns in the same order.

| Column | Type | Description |
| --- | --- | --- |
| `record_id` | string | Stable Our Clarke identifier. Does not change between versions. |
| `last_name` | string | Last name as printed in the compilation. |
| `first_name` | string | First name as printed in the compilation. |
| `birth_date` | string | Birth date text exactly as printed, including the compilers' typos and question marks. |
| `birth_year` | integer | Year read from birth_date. Empty when the date could not be read. Never corrected. |
| `death_date` | string | Death date text exactly as printed. |
| `death_year` | integer | Year read from death_date. Empty when the date could not be read. Never corrected. |
| `burial_date` | string | Burial date text exactly as printed, from the caretaker's journals where recorded. |
| `area_lot` | string | Area and lot as printed, for example S201. |
| `section` | string | The area letter, the first character of area_lot. |
| `record_kind` | string | marker (read from a tombstone), burial_no_marker (a burial recorded without a readable stone) or commemorative (a stone that does not by itself establish a burial). |
| `death_recorded` | string | yes or no. "no" means the compilation records no death; it is not evidence of one. |
| `source_note` | string | The compilers' note, verbatim. Relationship abbreviations (w/, s/, d/) are theirs; no relationship is derived from them. |
| `source_page` | integer | Page of the 184-page compilation the record is printed on. |
| `flags` | string | Space-separated conditions noticed in the source, printed as found: death_year_before_birth_year, burial_year_before_death_year, death_after_source_cutoff, date_not_parsed, date_marked_uncertain_in_source, no_area_lot_recorded. |
| `record_url` | url | The record on the Our Clarke directory page. |
| `birth_date_state` | string | recorded, partial (year read, rest not), unreadable, unparsed or not_recorded. Only a recorded or partial date has a year. |
| `death_date_state` | string | State of death_date, with the same values as birth_date_state. |
| `burial_date_state` | string | State of burial_date, with the same values as birth_date_state. |

An empty cell means the value is not recorded in the source, or could not be read from it. It never means zero.
