Skip to main content

Vocabularies

Controlled values for catalog YAML. Source files live under data/reference/. Catalog types: catalog-types.md. Software IDs: software-taxonomy.md. Owner types: data-model.md.

Geographic levels​

coverage[].location.level and owner.location.level are numeric. Higher numbers are more local. New records should use 20 (national) or 30 (first-level subnational) unless a finer level is clearly justified.

LevelMeaningTypical path
0Unknown / unspecifiedAvoid on new records
10Supranational, global, or multi-countryWorld/, EU/, Africa/
20National{CC}/Federal/
30First-level subnational (state, region, province){CC}/{CC-XX}/
40County / districtStill under the first-level ISO folder
50CitySame
60Commune / local authoritySame

Regional and local government owners must have owner.location.level of 30 or higher and a matching subregion directory (US-CA/, GB-SCT/, …), not Federal/. Other level numbers are COVERAGE_LEVEL_NONSTANDARD. Central and federal owners with no level are OWNER_LEVEL_MISSING.

Country folders use ISO 3166-1 alpha-2. Special roots (World, EU, Africa, ASEAN, …) are listed in PATH_COUNTRY_ALLOWLIST in scripts/constants.py. Subregion ids use ISO 3166-2 style. Macroregion ids are UN M49 numeric codes stored as quoted strings ('021' Northern America, '155' Western Europe). Quote country code 'NO' (Norway); unquoted NO is a YAML 1.1 boolean.

Identifiers​

identifiers[] is a list of {id, value, url}. Prefer these id values on new records:

idRegistryExample value
wikidataWikidataQ5227102
re3datare3data.orgr3d100010078
fairsharingFAIRsharingFAIRsharing.6069e1
opendoarOpenDOARnumeric / slug as published
roarROARas published
dataciteDataCiteas published
rorRORhttps://ror.org/… or ROR id
doiDOI10.…

Also present in historical records (do not add for new catalogs unless there is no better key): dataportals.org, url, domain, github, esri, arcgis. Each entry needs both id and value (INCOMPLETE_IDENTIFIER otherwise).

Endpoint types​

endpoints[].type names the protocol or API family. Prefer types already used for the same software.id. Common values:

TypeTypical software
ckan, ckan:package-search, ckan:package-list, ckan:status-showCKAN
dcatus11, dcatap201, dcatap21, dcat, dcat:xml, dcat:ttl, dcat:jsonldDCAT dumps
socrata:viewsSocrata (prefer over unused socrata:opendata)
opendatasoftapi (prefer over opendatasoft)OpenDataSoft
datafairapiData Fair
ouropendata:packagesOur Open Data (not CKAN)
cbioportal:studiescBioPortal
huggingface:apiHugging Face Hub
omero:projects, omero:webclientOMERO
scicat:datasetsSciCat (prefer over customapi on /api/v3/datasets)
kadi4mat:records, kadi4mat:collectionsKadi4Mat
intermine:versionInterMine
xnat:projectsXNAT project list
pxwebapiPxWeb table tree
csw202, csw300GeoNetwork / pycsw / CSW (prefer over unused geonetwork:csw)
oaipmh20OAI-PMH (prefer over unused bare oaipmh)
stacserverapi, stac:collectionSTAC (prefer over unused bare stac)
sparqlSPARQL
opensearchOpenSearch description documents
sensorthingsFROST-Server / OGC SensorThings
ogcrecordsapi, ogc:featuresOGC API Records / Features (prefer ogc:features over pygeoapi:collections)
tap:capabilities, tap:tablesIVOA TAP
odataOData (Copernicus DHuS and similar)
arcgis:rest:services, arcgis:rest:infoArcGIS Server / Hub
dataverseapiDataverse
wms130, wfs200, wcs201, wmts100OGC OWS
ogc:edrOGC API EDR collections
ga4gh:drsGen3 / GA4GH DRS service info
fdsnws:station, wfcatalog:queryFDSN station and EIDA WFCatalog
piveau:search, omekas:items, hajk:configPiveau hub search, Omeka S items, Hajk config
dataone:mn, dataone:queryDataONE member node and Solr query

Harvestable catalog dumps (/data.json, /catalog.xml, /catalog.rdf) are endpoints[] entries, not catalog_export. The observed inventory is data/reference/endpoint_types.yaml (generated from YAML, not a closed allow-list). Retired aliases (customapi, custom_api, bare api, opendatasoft, geonetwork, geonetwork:csw, stac, csw, oaipmh, socrata:opendata) are ENDPOINT_TYPE_ALIAS.

Content types​

content_types[] values come from data/reference/content_types.yaml: dataset, map_layer, indicator, publication, microdata, document. Other strings are CONTENT_TYPE_NONCANONICAL.

Topics​

topics[] entries are {type, id, name}.

typeVocabularySource
EU data themeAGRI, ECON, EDUC, ENER, ENVI, GOVE, HEAL, INTR, JUST, REGI, SOCI, TECH, TRANdata/reference/data_themes.yaml
ISO 19115Biota, Boundaries, Elevation, Oceans, …data/reference/iso19115.yaml

Open-data portals usually use EU data themes. Geoportals may use ISO 19115. Incomplete {type,id,name} triples are TOPIC_INCOMPLETE. Any other type is TOPIC_TYPE_NONCANONICAL.

Languages​

langs[] is {id, name} with ISO 639-1 style codes (EN / English). Codes and names must match data/reference/langs.csv (LANGUAGE_CODE_UNKNOWN, LANGUAGE_NAME_NONCANONICAL). Chinese is ZH, not CN.

Other reference files​

FileUsed for
catalog_types.yamlcatalog_type
software_ids.yamlsoftware.id (generated from data/software/ by python scripts/builder.py sync-software-maps)
status.yamlstatus
access_modes.yamlaccess_mode (prefer open / restricted; other allowed values are ACCESS_MODE_NONPREFERRED)
content_types.yamlcanonical content_types
owner_types.yamlcanonical owner.type plus synonym map
countries.csvcountry id/name
macroregion_countries.csvUN M49 membership