Agent guide: querying the registry
Platform-neutral workflow for looking up catalogs by geography, software, and type. Works with Cursor, Claude Code, Copilot, Codex, and any agent with file access.
Before querying
- Read llms.txt for layout, join keys, and DuckDB LIST/STRUCT nested fields.
- Use exports — do not walk
data/entities/**/*.yamlunless authoring. - Full contract: ai-consumers.md.
- Recipes: query-examples.md.
- If the user wants catalogs that are not in the registry yet, switch to discover.md (client setup: discovery-agent-tools.md).
- If the user wants datasets inside a catalog, switch to harvest.md.
Access paths
| Method | Path |
|---|---|
| DuckDB | data/datasets/datasets.duckdb table catalogs |
| Parquet | data/datasets/full.parquet |
| JSONL | data/datasets/catalogs.jsonl.zst |
| Software | DuckDB table software or data/datasets/software.jsonl |
Join keys
- Catalog:
uid(stable) orid(filename) - Software:
software.id - Country:
coverage[].location.country.id - External:
identifiers[].idiswikidata/re3data
Scope
In: catalog identity, owner, coverage, software, endpoints, identifiers.
Out: dataset records inside a portal; production search API/MCP in this repo (dateno-api). To crawl those datasets, switch to harvest.md.
Canonical queries
See query-examples.md. Minimal check that exports exist:
SELECT count(*) FROM catalogs;
SELECT count(*) FROM software;
Gotchas
- Nested fields are
STRUCT/LISTin DuckDB/Parquet (software.id,owner.type,unnest(endpoints)). idis not a URL. Reconstruct nothing fromid; uselink.statusis curated. Liveness is a separate report (dataquality/liveness_report.jsonl).- Geographic coverage is biased toward the United States — do not treat counts as a complete global census.
software.idmay becustomwhen the platform is unknown.- If
datasets.duckdbraises a lock error (another session writing), querydata/datasets/full.parquetinstead. Do not walk YAML.
After answering
Cite uid or id + link. If the user wants to edit a record, switch to contribute.md. If they want catalogs that are missing from the registry, switch to discover.md. If they want datasets inside a catalog, switch to harvest.md (agent checklist: agents/harvest.md).