Resolve a Download URL via CKAN package_search
Source:R/lib_data_loader.R
resolve_via_ckan_search.RdFallback for resolve_via_ckan() when
the dataset slug has changed. Derives the CKAN portal base URL from the
provenance's package_show endpoint, runs a package_search
query (from resource$search_query, or derived from the name-match
pattern), and returns the URL of the first matching resource, preferring
CSV format when specified.
Arguments
- provenance
A provenance list as returned by
load_provenance(). Usesresource$search_query,resource$name_match_pattern,resource$format, anddataset$ckan_api_endpoint.
Value
The matched resource URL as a character string, or NULL
if no query or base URL can be derived, the request fails, or nothing
matches.
Examples
# Missing fields return NULL rather than erroring:
resolve_via_ckan_search(list())
#> NULL
# \donttest{
prov <- list(
dataset = list(ckan_api_endpoint = paste0(
"https://data.ontario.ca/api/3/action/package_show",
"?id=ontario-public-library-statistics")),
resource = list(name_match_pattern = "2014",
search_query = "public library statistics")
)
resolve_via_ckan_search(prov)
#> [1] "https://files.ontario.ca/ontario_public_library_statistics_2014_open_data_csv_february_17_2016.csv"
# }