Skip to main content

Bounded request examples

Documentation source: collector/examples/README.md at revision d127243ba072cb8572df536d40a31be3935e0106.

Every file is non-secret, validates offline, creates a new download when collected, and leaves raw and processed outputs under .download/ until a maintainer approves promotion. Live record contents can change; the expected result below describes boundary and evidence, not fixed titles or counts beyond the declared maximum.

RequestPrerequisites and scopeExpected result and caveat
openalex-author.jsonOPENALEX_API_KEY; one OpenAlex author IDAt most one author record under the new run directory; algorithmic identity and changing affiliations are limitations.
openalex-work.jsonOPENALEX_API_KEY; one OpenAlex work IDAt most one source-native work record; available abstract/citation fields remain OpenAlex assertions.
dblp-person.jsonNo credential; one stable DBLP PIDOne person/profile assertion with linked publication keys; DBLP's CS-centered coverage is explicit.
dblp-publication.jsonNo credential; bounded query, maximum fiveZero through five publication results with a completion summary; DBLP supplies no abstracts.
orcid-record.jsonORCID_CLIENT_ID and ORCID_CLIENT_SECRET; one ORCID iDPublic record fields only; absence may reflect visibility and the release defaults to metadata-only.
arxiv-preprint.jsonNo credential; one arXiv IDAt most one preprint with ordered author assertions; no researcher profile, PDF, or source archive.
arxiv-category-cs-ai.jsonNo credential; complete cs.AI OAI-PMH setAll metadata records exposed in the category when the set is exhausted; the null record limit is allowed only for arXiv OAI-PMH, and collection remains sequential and resumable.

Validate all examples without credentials or network access:

for request_file in examples/requests/*.json; do
uv run --locked scope-collect validate-request "$request_file"
done

For fixture-backed expected behavior, run uv run --locked pytest -m "not live" -q. A live download writes raw pages, checkpoints, and an input-bundle seal to .download/downloads/<download-id>/. A separately selected recipe writes a reviewable candidate to .download/processing/<processing-id>/candidate/. Status 0 is complete, 3 is safely resumable, and other exit meanings are documented in the package README. No example processes, promotes, stages, or commits data automatically.

DBLP examples cover stable person PID lookup (dblp-person.json), bounded person discovery (dblp-person-search.json), and bounded publication discovery (dblp-publication.json). ORCID examples cover public records (orcid-record.json) and public work assertions (orcid-work.json).