Install Folio
bin/console folio:pull --dataset nara/coll_bho-whpo
Link Types
| Forward | Reverse | Links |
|---|---|---|
|
per
created
doc
created
|
doc
created_by
per
created_by
|
128,475 |
|
coll
contains
doc
contains
|
doc
belongs_to
coll
belongs_to
|
271,550 |
Observed Schema
| Name | Core | Type | Rows |
|---|---|---|---|
| dto_coll_collection | coll | collection | 2 |
| dto_doc_photograph | doc | photograph | 135,775 |
| dto_per_org | per | org | 8 |
| dto_per_person | per | person | 7 |
| dto_series_document | series | document | 1 |
Archive Docs
Folio Metadata
json
{
"folio": {
"code": "nara/coll_bho-whpo",
"label": "NARA Collection bho-whpo \u2014 Collection bho-whpo",
"dataset_key": "nara/coll_bho-whpo",
"row_count": 135793
},
"cores": [
{
"code": "coll",
"label": null,
"row_count": 2
},
{
"code": "doc",
"label": null,
"row_count": 135775
},
{
"code": "per",
"label": null,
"row_count": 15
},
{
"code": "series",
"label": null,
"row_count": 1
}
],
"dtoTables": [
{
"id": "nara/coll_bho-whpo: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": 2
},
{
"id": "nara/coll_bho-whpo:dto_doc_photograph",
"name": "dto_doc_photograph",
"kind": "dto",
"core_code": "doc",
"dto_type": "photograph",
"label": "Photograph",
"description": null,
"row_count": 135775
},
{
"id": "nara/coll_bho-whpo: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": 8
},
{
"id": "nara/coll_bho-whpo: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": 7
},
{
"id": "nara/coll_bho-whpo:dto_series_document",
"name": "dto_series_document",
"kind": "dto",
"core_code": "series",
"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": 1
}
],
"views": [
"dto_coll_collection",
"dto_doc_photograph",
"dto_per_org",
"dto_per_person",
"dto_series_document"
],
"generatedAt": "2026-06-25T17:54:15+00:00",
"metadata": {
"archivePreparedAt": "2026-06-25T17:54:13+00:00",
"schema": {
"tables": 9,
"properties": 32
},
"views": {
"views": 5
}
}
}
Overview
md
# Folio nara/coll_bho-whpo NARA Collection bho-whpo — Collection bho-whpo - Dataset key: `nara/coll_bho-whpo` - Rows: 135,793 - Cores: 4 - Observed DTO tables: 5 ## Cores | Core | Label | Rows | | --- | --- | ---: | | `coll` | coll | 2 | | `doc` | doc | 135,775 | | `per` | per | 15 | | `series` | series | 1 |
Observed Schema
md
# Observed Schema ## `dto_coll_collection` - Core: `coll` - DTO type: `collection` - Rows: 2 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` | | | | `title` | `?string` | | dcterms:title | | `source` | `string` | | Source of this data: import \| ai \| ocr \| human | ## `dto_doc_photograph` - Core: `doc` - DTO type: `photograph` - Rows: 135,775 | Field | Type | Flags | Description | | --- | --- | --- | --- | | `id` | `?string` | | | | `sourceUrl` | `?string` | | | | `contentType` | `?string` | | | | `title` | `?string` | | dcterms:title | | `description` | `?string` | | dcterms:description — short curatorial text from the source institution | | `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. | | `creators` | `?array` | | dcterms:creator — array of names | | `collections` | `?array` | | Collection name(s) | | `iiifBase` | `?string` | | IIIF Image API base URL — use for AI vision and imgProxy resizing | | `thumbnailUrl` | `?string` | | | | `largeImageUrl` | `?string` | | | | `imageCount` | `?int` | filterable, facet, sortable | Number of images associated with the item. | | `hasImages` | `?bool` | filterable, facet | Whether the item has at least one image; facet for filtering out image-less objects. | | `source` | `string` | | Source of this data: import \| ai \| ocr \| human | ## `dto_per_org` - Core: `per` - DTO type: `org` - Rows: 8 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` | | | | `title` | `?string` | | dcterms:title | | `source` | `string` | | Source of this data: import \| ai \| ocr \| human | ## `dto_per_person` - Core: `per` - DTO type: `person` - Rows: 7 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_series_document` - Core: `series` - DTO type: `document` - Rows: 1 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` | | | | `contentType` | `?string` | | | | `title` | `?string` | | dcterms:title | | `source` | `string` | | Source of this data: import \| ai \| ocr \| human | | `hasTranscription` | `bool` | | |
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_coll_collection limit 20; ``` ```sql select * from dto_doc_photograph limit 20; ``` ```sql select * from dto_per_org limit 20; ``` ```sql select * from dto_per_person limit 20; ``` ```sql select * from dto_series_document limit 20; ```