{"id":"providers/moma-open-data","relativePath":"providers/moma-open-data.md","title":"MoMA Open Data Snapshot","markdown":"# MoMA Open Data Snapshot\n\nMeta Museum treats the Museum of Modern Art collection repository as a local\nopen-data snapshot provider, not as a live public API.\n\n## Integration\n\n- Local mirror: `data/source-repos/moma-collection`\n- Direct routes: `/api/moma/profile`, `/api/moma/search`, `/api/moma/import`\n- Facade routes: `/api/providers/moma/profile`, `/api/providers/moma/search`, `/api/providers/moma/import`\n- Stable object source URL: `https://www.moma.org/collection/works/{ObjectID}`\n- Stable artist source URL: `https://www.moma.org/collection/artists/{ConstituentID}`\n\nThe adapter maps `ObjectID` to the public work URL, maps artists by\n`ConstituentID`, and preserves artist `Wiki QID` and `ULAN` values in\n`equivalent[]` on the Linked Art production actor reference.\n\n## Source Policy\n\nMoMA publishes the metadata under CC0 and requests attribution. The adapter\nkeeps that metadata-license context in `_source` and source notes, while keeping\nobject/media rights conservative because the upstream README says images are\nnot included in the dataset.\n\nRows marked `Cataloged != Y` are imported with an explicit data-quality note and\n`_source.curatorApproval.cataloged = false`, so not-curator-approved records can\nbe filtered or reviewed before publication.\n\n## Tombstone Boundary\n\nMoMA rows are excluded from live upstream `404`/`410` tombstone scans. If we need\ndeletion evidence for MoMA, use a separate dataset-diff workflow between\nversioned MoMA snapshots rather than treating the public work page as an\nActivityStreams `Delete` source.\n\nRun the snapshot-diff workflow with an explicit prior export and the current\nlocal mirror:\n\n```bash\npnpm moma:dataset:diff -- --previous=path/to/previous/Artworks.json --current=data/source-repos/moma-collection/Artworks.json\n```\n\nThe command writes `artifacts/provider-coverage/moma-dataset-diff-latest.json`\nand a timestamped run artifact. Removed rows are emitted with\n`evidenceStatus: \"review-required\"`, `publicEvidenceReady: false`, and\n`activityStreamsDeleteReady: false` until an operator reviews the MoMA snapshot\nor release context. This keeps MoMA open-data removal monitoring useful without\nweakening the strict ActivityStreams `Delete` rule.\n","sections":[{"level":2,"heading":"Integration","anchor":"integration"},{"level":2,"heading":"Source Policy","anchor":"source-policy"},{"level":2,"heading":"Tombstone Boundary","anchor":"tombstone-boundary"}],"html":"<h1 id=\"moma-open-data-snapshot\">MoMA Open Data Snapshot</h1>\n<p>Meta Museum treats the Museum of Modern Art collection repository as a local</p>\n<p>open-data snapshot provider, not as a live public API.</p>\n<h2 id=\"integration\">Integration</h2>\n<ul><li>Local mirror: `data/source-repos/moma-collection`</li><li>Direct routes: `/api/moma/profile`, `/api/moma/search`, `/api/moma/import`</li><li>Facade routes: `/api/providers/moma/profile`, `/api/providers/moma/search`, `/api/providers/moma/import`</li><li>Stable object source URL: `https://www.moma.org/collection/works/{ObjectID}`</li><li>Stable artist source URL: `https://www.moma.org/collection/artists/{ConstituentID}`</li></ul>\n<p>The adapter maps `ObjectID` to the public work URL, maps artists by</p>\n<p>`ConstituentID`, and preserves artist `Wiki QID` and `ULAN` values in</p>\n<p>`equivalent[]` on the Linked Art production actor reference.</p>\n<h2 id=\"source-policy\">Source Policy</h2>\n<p>MoMA publishes the metadata under CC0 and requests attribution. The adapter</p>\n<p>keeps that metadata-license context in `_source` and source notes, while keeping</p>\n<p>object/media rights conservative because the upstream README says images are</p>\n<p>not included in the dataset.</p>\n<p>Rows marked `Cataloged != Y` are imported with an explicit data-quality note and</p>\n<p>`_source.curatorApproval.cataloged = false`, so not-curator-approved records can</p>\n<p>be filtered or reviewed before publication.</p>\n<h2 id=\"tombstone-boundary\">Tombstone Boundary</h2>\n<p>MoMA rows are excluded from live upstream `404`/`410` tombstone scans. If we need</p>\n<p>deletion evidence for MoMA, use a separate dataset-diff workflow between</p>\n<p>versioned MoMA snapshots rather than treating the public work page as an</p>\n<p>ActivityStreams `Delete` source.</p>\n<p>Run the snapshot-diff workflow with an explicit prior export and the current</p>\n<p>local mirror:</p>\n<pre><code>\npnpm moma:dataset:diff -- --previous=path/to/previous/Artworks.json --current=data/source-repos/moma-collection/Artworks.json\n</code></pre>\n<p>The command writes `artifacts/provider-coverage/moma-dataset-diff-latest.json`</p>\n<p>and a timestamped run artifact. Removed rows are emitted with</p>\n<p>`evidenceStatus: &quot;review-required&quot;`, `publicEvidenceReady: false`, and</p>\n<p>`activityStreamsDeleteReady: false` until an operator reviews the MoMA snapshot</p>\n<p>or release context. This keeps MoMA open-data removal monitoring useful without</p>\n<p>weakening the strict ActivityStreams `Delete` rule.</p>","updatedAt":"2018-10-20T01:46:40.000Z","checksum":"bcdd2d8a3e6bd5f2be12054046e5bec46f88e245564b25d964f00d51a1b19da5","checksumPrefix":"bcdd2d8a3e6b","anchorCount":3,"lineCount":49,"rawUrl":"/api/docs/content?path=providers%2Fmoma-open-data.md","htmlUrl":"/docs?doc=providers%2Fmoma-open-data.md","apiUrl":"/api/docs/content?path=providers%2Fmoma-open-data.md"}