Install Folio
bin/console folio:pull --dataset dc/bg25c2022
Link Types
| Forward | Reverse | Links |
|---|---|---|
|
coll
contains
obj
contains
|
obj
belongs_to
coll
belongs_to
|
5,924 |
Observed Schema
| Name | Core | Type | Rows |
|---|---|---|---|
| dto_coll_collection | coll | collection | 1 |
| dto_document | obj | document | 5,924 |
Archive Docs
Folio Metadata
json
{
"folio": {
"code": "dc/bg25c2022",
"label": "more",
"dataset_key": "dc/bg25c2022",
"row_count": 5925
},
"cores": [
{
"code": "coll",
"label": null,
"row_count": 1
},
{
"code": "obj",
"label": null,
"row_count": 5924
}
],
"dtoTables": [
{
"id": "dc/bg25c2022: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": 1
},
{
"id": "dc/bg25c2022: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": 5924
}
],
"views": [
"dto_coll_collection",
"dto_document"
],
"generatedAt": "2026-06-29T18:40:56+00:00",
"metadata": {
"archivePreparedAt": "2026-06-29T18:40:55+00:00",
"schema": {
"tables": 4,
"properties": 38
},
"views": {
"views": 2
}
}
}
Overview
md
# Folio dc/bg25c2022 more - Dataset key: `dc/bg25c2022` - Rows: 5,925 - Cores: 2 - Observed DTO tables: 2 ## Cores | Core | Label | Rows | | --- | --- | ---: | | `coll` | coll | 1 | | `obj` | obj | 5,924 |
Observed Schema
md
# Observed Schema
## `dto_coll_collection`
- Core: `coll`
- DTO type: `collection`
- Rows: 1
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_document`
- Core: `obj`
- DTO type: `document`
- Rows: 5,924
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 |
| `date` | `?string` | | dcterms:date — display string, may be fuzzy ("ca. 1920") |
| `year` | `?int` | filterable, facet, sortable | Coverage/production year. |
| `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 |
| `rightsUri` | `?string` | | dcterms:license URI (rightsstatements.org) |
| `reuseAllowed` | `?string` | | dcterms:accessRights — e.g. "no restrictions", "creative commons" |
| `language` | `?string` | | dcterms:language |
| `identifierLocal` | `?string` | | dcterms:identifier — local accession number |
| `institution` | `?string` | | Holding institution |
| `collections` | `?array` | | Collection name(s) |
| `subjectsGeographic` | `?array` | filterable, facet | dcterms:spatial — geographic subjects |
| `genreBasic` | `?array` | filterable, facet | Broad genre/form terms (MODS genre @basic) — e.g. ["Photographs"]. A sidebar facet. |
| `typeOfResource` | `?array` | filterable, facet | MODS typeOfResource — coarse resource class, e.g. ["Still image"], ["Text"]. A facet. |
| `country` | `?string` | filterable, facet | |
| `state` | `?string` | | |
| `county` | `?string` | | |
| `city` | `?string` | filterable, facet | |
| `iiifBase` | `?string` | | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `thumbnailUrl` | `?string` | | |
| `largeImageUrl` | `?string` | | |
| `pdfUrl` | `?string` | | Downloadable PDF of the document (e.g. DC document_access.pdf). When set, folio shows the pdf.js viewer instead of the image viewer; it is also the source for the split/OCR pipeline. |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `pdfBytes` | `?int` | sortable | Byte size of the source PDF. |
| `source` | `string` | | Source of this data: import \| ai \| ocr \| human |
| `extent` | `?string` | | |
| `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_document limit 20; ```