Problem
The REST API creates Subjects one at a time. Importing a set of Subjects that reference each other via relations
therefore requires every target's ID to exist before the referencing Subject can be written — forcing a Wikibase-style
two-pass import (create all Subjects, then add the cross-references in a second pass).
Wanted
A batch-create operation that mints IDs at import time, so interlinked Subjects import in one operation. Either:
- client-declared placeholder IDs resolved server-side within the batch, or
- the server returning minted IDs for the whole batch before statements are attached.
Validation applies per relation as in #1082.
Interactions
Driver
Bulk import as a first-class capability for cultural-heritage datasets (ECHOLOT import/export work package).
AI-authored — Claude Code, Opus 4.8 (max); detailed spec from @JeroenDeDauw via an orchestrating agent; not yet human-reviewed; code/doc citations and cross-referenced issues/PRs verified against origin/master and the GitHub API.
Problem
The REST API creates Subjects one at a time. Importing a set of Subjects that reference each other via relations
therefore requires every target's ID to exist before the referencing Subject can be written — forcing a Wikibase-style
two-pass import (create all Subjects, then add the cross-references in a second pass).
Wanted
A batch-create operation that mints IDs at import time, so interlinked Subjects import in one operation. Either:
Validation applies per relation as in #1082.
Interactions
(source, localId)identity: Implement the Subject Sources foundation (ADR 23) #993.Driver
Bulk import as a first-class capability for cultural-heritage datasets (ECHOLOT import/export work package).