Install Folio
bin/console folio:pull --dataset mus/fortepan
Link Types
| Forward | Reverse | Links |
|---|---|---|
| No link types loaded. | ||
Observed Schema
| Name | Core | Type | Rows |
|---|---|---|---|
| dto_photograph | obj | photograph | 208,050 |
Archive Docs
Folio Metadata
json
{
"folio": {
"code": "mus/fortepan",
"label": "Fortepan",
"dataset_key": "mus/fortepan",
"row_count": 208050
},
"cores": [
{
"code": "obj",
"label": null,
"row_count": 208050
}
],
"dtoTables": [
{
"id": "mus/fortepan:dto_photograph",
"name": "dto_photograph",
"kind": "dto",
"core_code": "obj",
"dto_type": "photograph",
"label": "Photograph",
"description": null,
"row_count": 208050
}
],
"views": [
"dto_photograph"
],
"generatedAt": "2026-06-28T14:11:26+00:00",
"metadata": {
"builtAt": "2026-06-28T14:11:24+00:00",
"schema": {
"tables": 2,
"properties": 26
},
"views": {
"views": 1
}
}
}
Overview
md
# Folio mus/fortepan Fortepan - Dataset key: `mus/fortepan` - Rows: 208,050 - Cores: 1 - Observed DTO tables: 1 ## Cores | Core | Label | Rows | | --- | --- | ---: | | `obj` | obj | 208,050 |
Observed Schema
md
# Observed Schema
## `dto_photograph`
- Core: `obj`
- DTO type: `photograph`
- Rows: 208,050
| Field | Type | Flags | Description |
| --- | --- | --- | --- |
| `id` | `?string` | | |
| `sourceUrl` | `?string` | | |
| `contentType` | `?string` | | |
| `aggregator` | `?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 |
| `denseSummary` | `?string` | | ai:denseSummary — ≤ 400 char retrieval-optimised summary. Entity-rich, factual, no filler. Used by Meilisearch /chat, RAG, chatbots. / |
| `observationProse` | `?string` | | ai:observationProse — detailed AI visual observation (markdown). Rendered with the \|markdown filter. |
| `caption` | `?string` | | ai:caption — short AI-generated caption (also seeds the title when the source has none). |
| `searchSummary` | `?string` | | search_summary - deterministic BM25-friendly text assembled from normalized fields. Distinct from ai:denseSummary, which is an AI-generated retrieval summary. / |
| `date` | `?string` | | dcterms:date — display string, may be fuzzy ("ca. 1920") |
| `year` | `?int` | filterable, facet, sortable | Coverage/production year. |
| `citation` | `?string` | | ItemField::CITATION — canonical URL or attribution string for the record |
| `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. |
| `rightsUri` | `?string` | | dcterms:license URI (rightsstatements.org) |
| `subjects` | `?array` | filterable, facet | dcterms:subject — keyword/topical subjects (incl. AI keywords). A sidebar facet. |
| `country` | `?string` | filterable, facet | |
| `city` | `?string` | filterable, facet | |
| `iiifBase` | `?string` | | IIIF Image API base URL — use for AI vision and imgProxy resizing |
| `largeImageUrl` | `?string` | | |
| `pageCount` | `?int` | sortable | Number of pages in the document. |
| `source` | `string` | | Source of this data: import \| ai \| ocr \| human |
| `donor` | `?string` | filterable, facet | Who contributed the photo to the archive (e.g. the Fortepan donor). A sidebar facet. |
| `aiTasks` | `?array` | filterable, facet | Distinct AI tasks applied to this item or any of its images — e.g. observe, analyze, ocr_mistral, enrich_from_hires, info. Derived from the item's claim sources during the folio build (normalized, 'ai:' prefix stripped). A multi-value facet, so you can filter to "items that had analysis" etc. Finer-grained than {@see $stage}: 'enriched' alone can't distinguish observe-only from observe+analyze. / |
| `creators` | `?array` | | dcterms:creator — array of names |
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_photograph limit 20; ```