Install Folio

bin/console folio:pull --dataset smith/nmaahc

Link Types

Forward Reverse Links
coll contains obj
contains
obj belongs_to coll
belongs_to
65,724
per created obj
created
obj created_by per
created_by
61,364

Observed Schema

Name Core Type Rows
dto_audio obj audio 16
dto_book obj book 121
dto_coll_collection coll collection 1,229
dto_correspondence obj correspondence 31
dto_document obj document 162
dto_drawing obj drawing 192
dto_ephemera obj ephemera 6
dto_manuscript obj manuscript 7
dto_map obj map 5
dto_negative obj negative 4,298
dto_newspaper obj newspaper 60
dto_object obj object 14,728
dto_painting obj painting 220
dto_per_org per org 6,567
dto_per_person per person 7,611
dto_periodical obj periodical 18
dto_photograph obj photograph 4,513
dto_postcard obj postcard 233
dto_poster obj poster 277
dto_print obj print 1,161
dto_sculpture obj sculpture 47
dto_slide obj slide 66
dto_stereograph obj stereograph 78

Archive Docs

Folio Metadata json
{
    "folio": {
        "code": "smith/nmaahc",
        "label": "National Museum of African American History and Culture",
        "dataset_key": "smith/nmaahc",
        "row_count": 41646
    },
    "cores": [
        {
            "code": "coll",
            "label": null,
            "row_count": 1229
        },
        {
            "code": "obj",
            "label": null,
            "row_count": 26239
        },
        {
            "code": "per",
            "label": null,
            "row_count": 14178
        }
    ],
    "dtoTables": [
        {
            "id": "smith/nmaahc:dto_audio",
            "name": "dto_audio",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "audio",
            "label": "Audio",
            "description": "Sound recordings: oral histories, music, radio broadcasts, and field recordings.",
            "row_count": 16
        },
        {
            "id": "smith/nmaahc:dto_book",
            "name": "dto_book",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "book",
            "label": "Book",
            "description": "Bound volumes: monographs, pamphlets, albums, and catalogues.",
            "row_count": 121
        },
        {
            "id": "smith/nmaahc:dto_coll_collection",
            "name": "dto_coll_collection",
            "kind": "dto",
            "core_code": "coll",
            "dto_type": "collection",
            "label": "Collection",
            "description": "A collection / series \u2014 an aggregation of items rather than a single object.\nTwo producers: the \"folio of folios\" (each row is a whole folio) and aggregators like the\nSmithsonian that expose collections and series alongside objects. Unlike a generic item, a\ncollection is browsed by its dataset-level descriptors \u2014 provider, country, language, size \u2014\nso those are promoted to facets here. `subjects` (a parent facet) carries the dtoType mix.\n/",
            "row_count": 1229
        },
        {
            "id": "smith/nmaahc:dto_correspondence",
            "name": "dto_correspondence",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "correspondence",
            "label": "Correspondence",
            "description": "Letters, telegrams, memos, and other written communications between identified parties.",
            "row_count": 31
        },
        {
            "id": "smith/nmaahc:dto_document",
            "name": "dto_document",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "document",
            "label": "Document",
            "description": "Generic text-primary item: broadsides, lists, clippings, forms, and any textual work that does not fit a more specific type.",
            "row_count": 162
        },
        {
            "id": "smith/nmaahc:dto_drawing",
            "name": "dto_drawing",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "drawing",
            "label": "Drawing",
            "description": "DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.\nCovers any work where drawing is the primary medium.\nSubclass for more specific drawn types (CartoonDto, SketchDto, etc.)\n/",
            "row_count": 192
        },
        {
            "id": "smith/nmaahc:dto_ephemera",
            "name": "dto_ephemera",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "ephemera",
            "label": "Ephemera",
            "description": "Printed or manufactured ephemera: tickets, labels, trade cards, broadsides, programmes, menus, and handbills.",
            "row_count": 6
        },
        {
            "id": "smith/nmaahc:dto_manuscript",
            "name": "dto_manuscript",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "manuscript",
            "label": "Manuscript",
            "description": "Handwritten or typed manuscripts: diaries, journals, ledgers, legal documents, and field notes.",
            "row_count": 7
        },
        {
            "id": "smith/nmaahc:dto_map",
            "name": "dto_map",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "map",
            "label": "Map",
            "description": null,
            "row_count": 5
        },
        {
            "id": "smith/nmaahc:dto_negative",
            "name": "dto_negative",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "negative",
            "label": "Negative",
            "description": null,
            "row_count": 4298
        },
        {
            "id": "smith/nmaahc:dto_newspaper",
            "name": "dto_newspaper",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "newspaper",
            "label": "Newspaper",
            "description": null,
            "row_count": 60
        },
        {
            "id": "smith/nmaahc:dto_object",
            "name": "dto_object",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "object",
            "label": "Artifact",
            "description": "Three-dimensional physical objects and artifacts that do not fit a more specific type: tools, vessels, garments, specimens, etc.",
            "row_count": 14728
        },
        {
            "id": "smith/nmaahc:dto_painting",
            "name": "dto_painting",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "painting",
            "label": "Painting",
            "description": "A painting \u2014 oil, tempera, acrylic, watercolour, fresco, etc., where paint is the primary medium.\nAn ArtworkDto (style/movement) over PhysicalObjectDto's material/dimensions/weight.\n/",
            "row_count": 220
        },
        {
            "id": "smith/nmaahc:dto_per_org",
            "name": "dto_per_org",
            "kind": "dto",
            "core_code": "per",
            "dto_type": "org",
            "label": "Org",
            "description": "Concrete BaseItemDto for subjects whose content type is unknown or mixed.\nUse when no domain-specific DTO subclass applies.\n/",
            "row_count": 6567
        },
        {
            "id": "smith/nmaahc:dto_per_person",
            "name": "dto_per_person",
            "kind": "dto",
            "core_code": "per",
            "dto_type": "person",
            "label": "Person",
            "description": "People associated with collection records: creators, contributors, subjects, interviewees, performers, and other named agents.",
            "row_count": 7611
        },
        {
            "id": "smith/nmaahc:dto_periodical",
            "name": "dto_periodical",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "periodical",
            "label": "Periodical",
            "description": null,
            "row_count": 18
        },
        {
            "id": "smith/nmaahc:dto_photograph",
            "name": "dto_photograph",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "photograph",
            "label": "Photograph",
            "description": null,
            "row_count": 4513
        },
        {
            "id": "smith/nmaahc:dto_postcard",
            "name": "dto_postcard",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "postcard",
            "label": "Postcard",
            "description": null,
            "row_count": 233
        },
        {
            "id": "smith/nmaahc:dto_poster",
            "name": "dto_poster",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "poster",
            "label": "Poster",
            "description": "DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.\nCovers any work where drawing is the primary medium.\nSubclass for more specific drawn types (CartoonDto, SketchDto, etc.)\n/",
            "row_count": 277
        },
        {
            "id": "smith/nmaahc:dto_print",
            "name": "dto_print",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "print",
            "label": "Print",
            "description": "DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.\nCovers any work where drawing is the primary medium.\nSubclass for more specific drawn types (CartoonDto, SketchDto, etc.)\n/",
            "row_count": 1161
        },
        {
            "id": "smith/nmaahc:dto_sculpture",
            "name": "dto_sculpture",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "sculpture",
            "label": "Sculpture",
            "description": "A sculpture \u2014 a three-dimensional physical artwork (statue, bust, relief, statuette, \u2026).\nAn artwork (style/movement via ArtworkDto) with the structured material / dimensions / weight\nrecords from PhysicalObjectDto. Promoted from generic ArtifactDto so sculptures are categorized\nand facetable; sculpture-specific fields (cast/edition, foundry, patina) can be added as needed.\n/",
            "row_count": 47
        },
        {
            "id": "smith/nmaahc:dto_slide",
            "name": "dto_slide",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "slide",
            "label": "Slide",
            "description": null,
            "row_count": 66
        },
        {
            "id": "smith/nmaahc:dto_stereograph",
            "name": "dto_stereograph",
            "kind": "dto",
            "core_code": "obj",
            "dto_type": "stereograph",
            "label": "Stereograph",
            "description": null,
            "row_count": 78
        }
    ],
    "views": [
        "dto_audio",
        "dto_book",
        "dto_coll_collection",
        "dto_correspondence",
        "dto_document",
        "dto_drawing",
        "dto_ephemera",
        "dto_manuscript",
        "dto_map",
        "dto_negative",
        "dto_newspaper",
        "dto_object",
        "dto_painting",
        "dto_per_org",
        "dto_per_person",
        "dto_periodical",
        "dto_photograph",
        "dto_postcard",
        "dto_poster",
        "dto_print",
        "dto_sculpture",
        "dto_slide",
        "dto_stereograph"
    ],
    "generatedAt": "2026-06-29T18:04:25+00:00",
    "metadata": {
        "archivePreparedAt": "2026-06-29T18:04:22+00:00",
        "schema": {
            "tables": 26,
            "properties": 364
        },
        "views": {
            "views": 23
        }
    }
}
Overview md
# Folio smith/nmaahc

National Museum of African American History and Culture

- Dataset key: `smith/nmaahc`
- Rows: 41,646
- Cores: 3
- Observed DTO tables: 23

## Cores

| Core | Label | Rows |
| --- | --- | ---: |
| `coll` | coll | 1,229 |
| `obj` | obj | 26,239 |
| `per` | per | 14,178 |
Observed Schema md
# Observed Schema

## `dto_audio`

- Core: `obj`
- DTO type: `audio`
- Rows: 16

Sound recordings: oral histories, music, radio broadcasts, and field recordings.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  |  |
| `year` | `?int` | filterable, facet, sortable | Coverage/production year. |

## `dto_book`

- Core: `obj`
- DTO type: `book`
- Rows: 121

Bound volumes: monographs, pamphlets, albums, and catalogues.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` | filterable, facet |  |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_coll_collection`

- Core: `coll`
- DTO type: `collection`
- Rows: 1,229

A collection / series — an aggregation of items rather than a single object.
Two producers: the "folio of folios" (each row is a whole folio) and aggregators like the
Smithsonian that expose collections and series alongside objects. Unlike a generic item, a
collection is browsed by its dataset-level descriptors — provider, country, language, size —
so those are promoted to facets here. `subjects` (a parent facet) carries the dtoType mix.
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |

## `dto_correspondence`

- Core: `obj`
- DTO type: `correspondence`
- Rows: 31

Letters, telegrams, memos, and other written communications between identified parties.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  |  |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_document`

- Core: `obj`
- DTO type: `document`
- Rows: 162

Generic text-primary item: broadsides, lists, clippings, forms, and any textual work that does not fit a more specific type.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  |  |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_drawing`

- Core: `obj`
- DTO type: `drawing`
- Rows: 192

DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.
Covers any work where drawing is the primary medium.
Subclass for more specific drawn types (CartoonDto, SketchDto, etc.)
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_ephemera`

- Core: `obj`
- DTO type: `ephemera`
- Rows: 6

Printed or manufactured ephemera: tickets, labels, trade cards, broadsides, programmes, menus, and handbills.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_manuscript`

- Core: `obj`
- DTO type: `manuscript`
- Rows: 7

Handwritten or typed manuscripts: diaries, journals, ledgers, legal documents, and field notes.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  |  |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_map`

- Core: `obj`
- DTO type: `map`
- Rows: 5

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |

## `dto_negative`

- Core: `obj`
- DTO type: `negative`
- Rows: 4,298

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Genre specific terms (TGM) e.g. "Portrait photographs", "Architectural photographs". A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_newspaper`

- Core: `obj`
- DTO type: `newspaper`
- Rows: 60

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  | Has searchable full-text pages |

## `dto_object`

- Core: `obj`
- DTO type: `object`
- Rows: 14,728

Three-dimensional physical objects and artifacts that do not fit a more specific type: tools, vessels, garments, specimens, etc.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |
| `sourceUrl` | `?string` |  |  |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `year` | `?int` | filterable, facet, sortable | Coverage/production year. |

## `dto_painting`

- Core: `obj`
- DTO type: `painting`
- Rows: 220

A painting — oil, tempera, acrylic, watercolour, fresco, etc., where paint is the primary medium.
An ArtworkDto (style/movement) over PhysicalObjectDto's material/dimensions/weight.
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |

## `dto_per_org`

- Core: `per`
- DTO type: `org`
- Rows: 6,567

Concrete BaseItemDto for subjects whose content type is unknown or mixed.
Use when no domain-specific DTO subclass applies.
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |

## `dto_per_person`

- Core: `per`
- DTO type: `person`
- Rows: 7,611

People associated with collection records: creators, contributors, subjects, interviewees, performers, and other named agents.

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` | searchable, sortable |  |
| `contentType` | `?string` | filterable, facet |  |
| `name` | `?string` | searchable, sortable |  |
| `source` | `string` |  |  |
| `confidence` | `?float` |  |  |

## `dto_periodical`

- Core: `obj`
- DTO type: `periodical`
- Rows: 18

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `hasTranscription` | `bool` |  | Has searchable full-text pages |

## `dto_photograph`

- Core: `obj`
- DTO type: `photograph`
- Rows: 4,513

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Genre specific terms (TGM) e.g. "Portrait photographs", "Architectural photographs". A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_postcard`

- Core: `obj`
- DTO type: `postcard`
- Rows: 233

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Genre specific terms (TGM) e.g. "Portrait photographs", "Architectural photographs". A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_poster`

- Core: `obj`
- DTO type: `poster`
- Rows: 277

DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.
Covers any work where drawing is the primary medium.
Subclass for more specific drawn types (CartoonDto, SketchDto, etc.)
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |

## `dto_print`

- Core: `obj`
- DTO type: `print`
- Rows: 1,161

DTO for drawn works: pencil, ink, charcoal, watercolour, pastel, etc.
Covers any work where drawing is the primary medium.
Subclass for more specific drawn types (CartoonDto, SketchDto, etc.)
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |

## `dto_sculpture`

- Core: `obj`
- DTO type: `sculpture`
- Rows: 47

A sculpture — a three-dimensional physical artwork (statue, bust, relief, statuette, …).
An artwork (style/movement via ArtworkDto) with the structured material / dimensions / weight
records from PhysicalObjectDto. Promoted from generic ArtifactDto so sculptures are categorized
and facetable; sculpture-specific fields (cast/edition, foundry, patina) can be added as needed.
/

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Specific genre/form terms (MODS genre @specific) — e.g. ["Albumen prints"]. A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `dimensionsRaw` | `?string` |  | Original free-text dimensions string from the source, kept as a fallback when the normalizer cannot fully parse it (e.g. fractional inches, museum-specific shorthand). Templates may render this verbatim when `$dimensions` is empty. / |
| `accession` | `?string` |  | MuseumVocab::ACCESSION — local accession / catalog number |
| `dimensions` | `?array` |  | MuseumVocab::DIMENSIONS — structured dimension records. Each entry: {height?, width?, length?, depth?, radius?, units, name?} where height/width/length/depth/radius are numeric values in `units` (e.g. "cm", "in", "mm"). `name` is an optional label like "framed", "sight", "with mount", etc. Producers should emit only the keys present on the source record. / |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_slide`

- Core: `obj`
- DTO type: `slide`
- Rows: 66

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Genre specific terms (TGM) e.g. "Portrait photographs", "Architectural photographs". A facet. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |

## `dto_stereograph`

- Core: `obj`
- DTO type: `stereograph`
- Rows: 78

| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` |  |  |
| `sourceUrl` | `?string` |  |  |
| `contentType` | `?string` |  |  |
| `stage` | `?string` | filterable, facet | Pipeline processing stage (raw / normalized / enriched). A facet so you can filter to enriched items; later this can be made dev-only. |
| `title` | `?string` |  | dcterms:title |
| `description` | `?string` |  | dcterms:description — short curatorial text from the source institution |
| `credit` | `?string` |  | Credit line / acknowledgment, e.g. "Gift of the Brooklyn Museum of Art, Paul F. Walter Collection". |
| `citationUrl` | `?string` |  | ItemField::CITATION_URL — deep link back to the source record (e.g. the NARA catalog page). Rendered as the "Original" link on the folio item page. |
| `rights` | `?string` |  | dcterms:rights |
| `creators` | `?array` |  | dcterms:creator — array of names |
| `genreSpecific` | `?array` | filterable, facet | Genre specific terms (TGM) e.g. "Portrait photographs", "Architectural photographs". A facet. |
| `iiifBase` | `?string` |  | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` |  |  |
| `largeImageUrl` | `?string` |  |  |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` |  | Source of this data: import \| ai \| ocr \| human |
Query Guide md
# Query Guide

This folio stores canonical rows in `item` and observed field metadata in `schema_table` / `schema_property`.

```sql
select * from schema_table where kind = 'dto';
select * from schema_property where table_id = ? order by position;
select local_id, label, dto_type, dto_data, extras from item limit 20;
```

Convenience views are generated from observed DTO fields:

```sql
select * from dto_audio limit 20;
```

```sql
select * from dto_book limit 20;
```

```sql
select * from dto_coll_collection limit 20;
```

```sql
select * from dto_correspondence limit 20;
```

```sql
select * from dto_document limit 20;
```

```sql
select * from dto_drawing limit 20;
```

```sql
select * from dto_ephemera limit 20;
```

```sql
select * from dto_manuscript limit 20;
```

```sql
select * from dto_map limit 20;
```

```sql
select * from dto_negative limit 20;
```

```sql
select * from dto_newspaper limit 20;
```

```sql
select * from dto_object limit 20;
```

```sql
select * from dto_painting limit 20;
```

```sql
select * from dto_per_org limit 20;
```

```sql
select * from dto_per_person limit 20;
```

```sql
select * from dto_periodical limit 20;
```

```sql
select * from dto_photograph limit 20;
```

```sql
select * from dto_postcard limit 20;
```

```sql
select * from dto_poster limit 20;
```

```sql
select * from dto_print limit 20;
```

```sql
select * from dto_sculpture limit 20;
```

```sql
select * from dto_slide limit 20;
```

```sql
select * from dto_stereograph limit 20;
```