From 11bd2d561be74cc1d529f915a6c780ac51e5ab25 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Sat, 23 Jan 2021 19:47:52 +0100 Subject: [PATCH 01/12] add readme --- README.Rmd | 110 +++++++++++++++++++++++++++ README.md | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 323 insertions(+) create mode 100644 README.Rmd create mode 100644 README.md diff --git a/README.Rmd b/README.Rmd new file mode 100644 index 0000000..bb39cc9 --- /dev/null +++ b/README.Rmd @@ -0,0 +1,110 @@ +--- +output: github_document +--- + + + +```{r, include = FALSE} +knitr::opts_chunk$set( + collapse = TRUE, + comment = "#>", + fig.path = "man/figures/README-", + out.width = "100%" +) +``` + +# istacr + + + + +The goal of `istacr` is to provide a wrapper to the [ISTAC api catalog](https://www3.gobiernodecanarias.org/aplicaciones/appsistac/api), allowing the user to obtain the open data from R. + +## Installation + +You can install the released version of istacr from [CRAN](https://CRAN.R-project.org) with: + +``` r +install.packages("istacr") +``` + +And the development version from [GitHub](https://github.com/) with: + +``` r +# install.packages("remotes") +remotes::install_github("eDatos/istacr") +``` +## How to use this package + +The package offers different functions depending on the resource you want to access. There're three main resources: + +- Indicators +- Statistical resources (cubes) +- Structural resources + + +## Examples + +### Indicators + +Get a list of all indicators: + +```{r example1} +library(istacr) +tst <- get_indicators() +str(tst, max.level = 1) +``` + +Get information of a specific indicator: + +```{r example2} +tst <- get_indicators_code("TURISTAS") +str(tst, max.level = 1) +``` + +Or about geographical granularities: + +```{r example3} +# Get granularities +tst <- get_indicators_geographic_granularities() +tst$items + +# Get information about a specific granularity +get_indicators_geographical_values('ISLANDS') +``` + + +### Statistical resources + +Get all available cubes: + +```{r example4} +tst <- get_datasets() +str(tst, max.level = 1) +``` + +Only those from a specific maintainer: + +```{r example5} +tst <- get_datasets_agency('ISTAC') +str(tst, max.level = 1) +``` + + +### Structural resources + +```{r example6} +tst <- istacr::get_structuralresources_codelists() +tst$codelist$id +``` + + +```{r example7} +tst <- get_structuralresources_codelists_agency_resource('ISTAC', 'CL_ABANDONO_CULTIVO') +tst$codelist +``` + + +## Further information + +Please find the latest documentation on [CRAN](https://cran.r-project.org/web/packages/istacr/istacr.pdf). In case you want to report a bug, please open an [issue](https://github.com/eDatos/istacr/issues). diff --git a/README.md b/README.md new file mode 100644 index 0000000..41c2f23 --- /dev/null +++ b/README.md @@ -0,0 +1,213 @@ + + + +# istacr + + + + + +The goal of `istacr` is to provide a wrapper to the [ISTAC api +catalog](https://www3.gobiernodecanarias.org/aplicaciones/appsistac/api), +allowing the user to obtain the open data from R. + +## Installation + +You can install the released version of istacr from +[CRAN](https://CRAN.R-project.org) with: + +``` r +install.packages("istacr") +``` + +And the development version from [GitHub](https://github.com/) with: + +``` r +# install.packages("remotes") +remotes::install_github("eDatos/istacr") +``` + +## How to use this package + +The package offers different functions depending on the resource you +want to access. There’re three main resources: + + - Indicators + - Statistical resources (cubes) + - Structural resources + +## Examples + +### Indicators + +Get a list of all indicators: + +``` r +library(istacr) +tst <- get_indicators() +str(tst, max.level = 1) +#> List of 8 +#> $ kind : chr "indicators#indicators" +#> $ limit : int 25 +#> $ offset : int 0 +#> $ total : int 207 +#> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=0" +#> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=25" +#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=200" +#> $ items :'data.frame': 25 obs. of 12 variables: +``` + +Get information of a specific indicator: + +``` r +tst <- get_indicators_code("TURISTAS") +str(tst, max.level = 1) +#> List of 17 +#> $ id : chr "TURISTAS" +#> $ kind : chr "indicators#indicator" +#> $ selfLink : chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators/TURISTAS" +#> $ parentLink :List of 2 +#> $ code : chr "TURISTAS" +#> $ version : chr "1.32" +#> $ title :List of 3 +#> $ acronym :List of 3 +#> $ subjectCode : chr "082" +#> $ systemSurveyLinks :'data.frame': 1 obs. of 2 variables: +#> $ conceptDescription:List of 3 +#> $ notes :List of 3 +#> $ dimension :List of 3 +#> $ attribute :List of 1 +#> $ childLink :List of 2 +#> $ subjectTitle :List of 2 +#> $ decimalPlaces : int 0 +``` + +Or about geographical granularities: + +``` r +# Get granularities +tst <- get_indicators_geographic_granularities() +tst$items +#> code title.en title.es title.__default__ +#> 1 COUNTRIES Countries Países Países +#> 2 REGIONS Regions Comunidades autónomas Comunidades autónomas +#> 3 PROVINCES Provinces Provincias Provincias +#> 4 MUNICIPALITIES Municipalities Municipios Municipios +#> 5 ISLANDS Islands Islas Islas +#> 6 COUNTIES Counties Comarcas Comarcas + +# Get information about a specific granularity +get_indicators_geographical_values('ISLANDS') +#> $kind +#> [1] "indicators#geographicalValues" +#> +#> $total +#> [1] 7 +#> +#> $selfLink +#> [1] "https://datos.canarias.es/api/estadisticas/indicators/v1.0/geographicalValues?geographicalGranularityCode=ISLANDS" +#> +#> $items +#> code title.es title.en title.__default__ granularityCode latitude +#> 1 ES708 Lanzarote Lanzarote Lanzarote ISLANDS 28.95802 +#> 2 ES704 Fuerteventura Fuerteventura Fuerteventura ISLANDS 28.49863 +#> 3 ES705 Gran Canaria Gran Canaria Gran Canaria ISLANDS 28.10786 +#> 4 ES709 Tenerife Tenerife Tenerife ISLANDS 28.46613 +#> 5 ES706 La Gomera La Gomera La Gomera ISLANDS 28.09131 +#> 6 ES707 La Palma La Palma La Palma ISLANDS 28.68142 +#> 7 ES703 El Hierro El Hierro El Hierro ISLANDS 27.80738 +#> longitude +#> 1 -13.56318 +#> 2 -13.86055 +#> 3 -15.41998 +#> 4 -16.24707 +#> 5 -17.11233 +#> 6 -17.76565 +#> 7 -17.91557 +``` + +### Statistical resources + +Get all available cubes: + +``` r +tst <- get_datasets() +str(tst, max.level = 1) +#> List of 8 +#> $ dataset :'data.frame': 25 obs. of 5 variables: +#> $ kind : chr "statisticalResources#datasets" +#> $ total : int 347 +#> $ limit : int 25 +#> $ offset : int 0 +#> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=0" +#> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=25" +#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=325" +``` + +Only those from a specific maintainer: + +``` r +tst <- get_datasets_agency('ISTAC') +str(tst, max.level = 1) +#> List of 8 +#> $ dataset :'data.frame': 25 obs. of 5 variables: +#> $ kind : chr "statisticalResources#datasets" +#> $ total : int 347 +#> $ limit : int 25 +#> $ offset : int 0 +#> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=0" +#> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=25" +#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=325" +``` + +### Structural resources + +``` r +tst <- istacr::get_structuralresources_codelists() +tst$codelist$id +#> [1] "CL_ABANDONO_CULTIVO" "CL_ABANDONO_CULTIVO" +#> [3] "CL_ABANDONO_CULTIVO" "CL_AEROPUERTOS" +#> [5] "CL_AEROPUERTOS" "CL_AEROPUERTOS" +#> [7] "CL_AEROPUERTOS" "CL_AGE" +#> [9] "CL_AGE" "CL_AGE" +#> [11] "CL_AGE" "CL_AGE" +#> [13] "CL_AGRIPROD" "CL_AGRIPROD" +#> [15] "CL_ANTIGUEDAD" "CL_AREA_ES" +#> [17] "CL_AREA_ES" "CL_AREA_ES" +#> [19] "CL_AREA_ES" "CL_AREA_ES" +#> [21] "CL_AREA_ES70_COMARCAS" "CL_AREA_ES70_DS_19870610" +#> [23] "CL_AREA_ES70_DS_19910526" "CL_AREA_ES70_DS_19930606" +#> [25] "CL_AREA_ES70_DS_19940612" +``` + +``` r +tst <- get_structuralresources_codelists_agency_resource('ISTAC', 'CL_ABANDONO_CULTIVO') +tst$codelist +#> id +#> 1 CL_ABANDONO_CULTIVO +#> 2 CL_ABANDONO_CULTIVO +#> 3 CL_ABANDONO_CULTIVO +#> urn +#> 1 urn:sdmx:org.sdmx.infomodel.codelist.Codelist=ISTAC:CL_ABANDONO_CULTIVO(01.000) +#> 2 urn:sdmx:org.sdmx.infomodel.codelist.Codelist=ISTAC:CL_ABANDONO_CULTIVO(01.002) +#> 3 urn:sdmx:org.sdmx.infomodel.codelist.Codelist=ISTAC:CL_ABANDONO_CULTIVO(01.001) +#> selfLink.kind +#> 1 structuralResources#codelist +#> 2 structuralResources#codelist +#> 3 structuralResources#codelist +#> selfLink.href +#> 1 https://datos.canarias.es/api/estadisticas/structural-resources/v1.0/codelists/ISTAC/CL_ABANDONO_CULTIVO/01.000 +#> 2 https://datos.canarias.es/api/estadisticas/structural-resources/v1.0/codelists/ISTAC/CL_ABANDONO_CULTIVO/01.002 +#> 3 https://datos.canarias.es/api/estadisticas/structural-resources/v1.0/codelists/ISTAC/CL_ABANDONO_CULTIVO/01.001 +#> text kind +#> 1 Clasificación de Abandono de Cultivo, es structuralResources#codelist +#> 2 Clasificación de Abandono de Cultivo, es structuralResources#codelist +#> 3 Clasificación de Abandono de Cultivo, es structuralResources#codelist +``` + +## Documentation + +Please find the latest documentation on +[CRAN](https://cran.r-project.org/web/packages/istacr/istacr.pdf). In +case you want to report a bug, please open an +[issue](https://github.com/eDatos/istacr/issues). From ea4d71de61a69ad25bfbac6a9a3118c23464a063 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Sat, 23 Jan 2021 19:48:28 +0100 Subject: [PATCH 02/12] update gitignore in order to effectively ignore .Rproj --- .gitignore | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ffa6d7a..f4f606b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ -.Rproj.user -.Rhistory -.RData -.Ruserdata -.Rproj \ No newline at end of file +.Rproj.user +.Rhistory +.RData +.Ruserdata +*.Rproj From 34d7088515a76e7428f01e0d6c674e5906141430 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Sat, 23 Jan 2021 19:50:36 +0100 Subject: [PATCH 03/12] add reamde in Rbuilignore --- .Rbuildignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.Rbuildignore b/.Rbuildignore index 13e458c..7ae042c 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,2 +1,3 @@ ^.*\.Rproj$ ^\.Rproj\.user$ +^README\.Rmd$ From 0d4780f5fde945f0c9ba9d90e4c1b377d9cf4f81 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Sat, 23 Jan 2021 19:51:14 +0100 Subject: [PATCH 04/12] reformatting the R Files according to styler package --- R/resources.R | 114 ++-- R/statistical_resources_cubes.R | 316 ++++++----- R/structural_resources_category.R | 659 ++++++++++++----------- R/structural_resources_classifications.R | 524 +++++++++--------- R/structural_resources_concepts.R | 440 +++++++-------- R/structural_resources_datastructures.R | 578 ++++++++++---------- R/structural_resources_variables.R | 496 +++++++++-------- 7 files changed, 1556 insertions(+), 1571 deletions(-) diff --git a/R/resources.R b/R/resources.R index 4a44f80..d0dbcd9 100644 --- a/R/resources.R +++ b/R/resources.R @@ -1,59 +1,55 @@ -# Instituto Canario de Estadística (ISTAC) - -# Build API URL -get_url <- function(api, path, resource = NULL) { - - url_root <- paste0("https://datos.canarias.es/api/estadisticas/", api, "/v1.0/") - - if (is.null(resource)) { - url <- paste0(url_root, path) - } else { - url <- paste0(url_root, path, "/", resource) - } - - return(url) -} - -# Get content from URL -get_content <- function(url) { - - content <- NULL - - tryCatch( - # Try to get content JSON from ISTAC api - expr = { - content <- fromJSON(url) - }, - # Catch errors - error = function(e){ - message('Oops! An error occurred while accessing the ISTAC api') - content <- NULL - print(e) - }, - # Catch warnings - warning = function(w){ - message('Oops! Some warnings ocurred') - content <- NULL - print(w) - } - - ) - - return(content) - -} - -# Example: parse_param("GEOGRAPHICAL[MUNICIPALITIES]") -parse_param <- function(param) { - param <- trimws(param) # Remove white spaces - param <- gsub("[[]", "%5B", param) # Replace [ for %5B - param <- gsub("[]]", "%5D", param) # Replace ] for %5D - param <- gsub("[,]", "%2C", param) # Replace , for %2C - param <- gsub("[|]", "%7C", param) # Replace | for %7C - param <- gsub("[+]", "%2B", param) # Replace + for %2B - param <- gsub("\"", "%22", param) # Replace \" for %22 - param <- gsub(" ", "%20", param) # Replace space for %20 - param <- gsub("[:]", "%3A", param) # Replace : for %3A - - return(param) -} +# Instituto Canario de Estadística (ISTAC) + +# Build API URL +get_url <- function(api, path, resource = NULL) { + url_root <- paste0("https://datos.canarias.es/api/estadisticas/", api, "/v1.0/") + + if (is.null(resource)) { + url <- paste0(url_root, path) + } else { + url <- paste0(url_root, path, "/", resource) + } + + return(url) +} + +# Get content from URL +get_content <- function(url) { + content <- NULL + + tryCatch( + # Try to get content JSON from ISTAC api + expr = { + content <- fromJSON(url) + }, + # Catch errors + error = function(e) { + message("Oops! An error occurred while accessing the ISTAC api") + content <- NULL + print(e) + }, + # Catch warnings + warning = function(w) { + message("Oops! Some warnings ocurred") + content <- NULL + print(w) + } + ) + + return(content) +} + +# Example: parse_param("GEOGRAPHICAL[MUNICIPALITIES]") +parse_param <- function(param) { + param <- trimws(param) # Remove white spaces + param <- gsub("[[]", "%5B", param) # Replace [ for %5B + param <- gsub("[]]", "%5D", param) # Replace ] for %5D + param <- gsub("[,]", "%2C", param) # Replace , for %2C + param <- gsub("[|]", "%7C", param) # Replace | for %7C + param <- gsub("[+]", "%2B", param) # Replace + for %2B + param <- gsub("\"", "%22", param) # Replace \" for %22 + param <- gsub(" ", "%20", param) # Replace space for %20 + param <- gsub("[:]", "%3A", param) # Replace : for %3A + + return(param) +} diff --git a/R/statistical_resources_cubes.R b/R/statistical_resources_cubes.R index e52f510..7838084 100644 --- a/R/statistical_resources_cubes.R +++ b/R/statistical_resources_cubes.R @@ -1,160 +1,156 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get datasets -#' @description This function allows consulting all existing statistical data cubes. -#' @param lang (string) Language in which you want to get the answer. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, -#' @param query (string) Metadata query on which the searches can be built. -#' @examples -#' get_datasets() -#' @export -get_datasets <- function(lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { - - # URL params - api <- "statistical-resources" - path <- "datasets" - - # Parse order - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Build URL - params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get datasets (agencyID) -#' @description This function allows to consult all the data sets maintained by a certain organization. -#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. -#' @param lang (string) Language in which you want to get the answer. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, -#' @param query (string) Metadata query on which the searches can be built. -#' @examples -#' get_datasets_agency(agencyID = "ISTAC") -#' @export -get_datasets_agency <- function(agencyID, lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { - - # URL params - api <- "statistical-resources" - path <- "datasets" - - # Parse order - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Build URL - params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(agencyID, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get datasets (agencyID / resourceID) -#' @description This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. -#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. -#' @param resourceID (string) Resource identifier. A possible value is \code{C00010A_000002}. -#' @param lang (string) Language in which you want to get the answer. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, -#' @param query (string) Metadata query on which the searches can be built. -#' @examples -#' get_datasets_agency_resource(agencyID = "ISTAC", resourceID = "C00010A_000002") -#' @export -get_datasets_agency_resource <- function(agencyID, resourceID, lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { - - # URL params - api <- "statistical-resources" - path <- "datasets" - - # Parse order - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Build URL - params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(agencyID, "/", resourceID, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get datasets (agencyID / resourceID / version) -#' @description This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. -#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. -#' @param resourceID (string) Resource identifier. A possible value is \code{C00010A_000002}. -#' @param version (string) Resource version. A possible value is \code{001.000}. -#' @param dim (string) Allows filtering the data obtained in the response. A example is \code{TIME_PERIOD:2009|2010}. -#' @param fields (string) Allows you to customize the response by excluding fields from it. The possible values are \code{-metadata} and \code{-data}. -#' @param lang (string) Language in which you want to get the answer. -#' @examples -#' get_datasets_agency_resource_version( -#' agencyID = "ISTAC", resourceID = "C00010A_000002", version = "001.000", -#' fields = "-data,-metadata" -#' ) -#' @export -get_datasets_agency_resource_version <- function(agencyID, resourceID, version, dim = NULL, fields = NULL, lang = "es") { - - # URL params - api <- "statistical-resources" - path <- "datasets" - - # Parse dim - if (!is.null(dim)) { - dim <- parse_param(dim) - } - - # Parse fields - if (!is.null(fields)) { - fields <- parse_param(fields) - } - - # Build URL - params <- paste0("?dim=", dim, "&fields=", fields, "&lang=", lang) - resource <- paste0(agencyID, "/", resourceID, "/", version, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get datasets +#' @description This function allows consulting all existing statistical data cubes. +#' @param lang (string) Language in which you want to get the answer. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, +#' @param query (string) Metadata query on which the searches can be built. +#' @examples +#' get_datasets() +#' @export +get_datasets <- function(lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { + + # URL params + api <- "statistical-resources" + path <- "datasets" + + # Parse order + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Build URL + params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get datasets (agencyID) +#' @description This function allows to consult all the data sets maintained by a certain organization. +#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. +#' @param lang (string) Language in which you want to get the answer. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, +#' @param query (string) Metadata query on which the searches can be built. +#' @examples +#' get_datasets_agency(agencyID = "ISTAC") +#' @export +get_datasets_agency <- function(agencyID, lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { + + # URL params + api <- "statistical-resources" + path <- "datasets" + + # Parse order + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Build URL + params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(agencyID, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get datasets (agencyID / resourceID) +#' @description This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. +#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. +#' @param resourceID (string) Resource identifier. A possible value is \code{C00010A_000002}. +#' @param lang (string) Language in which you want to get the answer. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param orderBy (string) Order. Possible values are \code{ID ASC} or \code{ID DESC}, +#' @param query (string) Metadata query on which the searches can be built. +#' @examples +#' get_datasets_agency_resource(agencyID = "ISTAC", resourceID = "C00010A_000002") +#' @export +get_datasets_agency_resource <- function(agencyID, resourceID, lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) { + + # URL params + api <- "statistical-resources" + path <- "datasets" + + # Parse order + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Build URL + params <- paste0("?lang=", lang, "&limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(agencyID, "/", resourceID, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get datasets (agencyID / resourceID / version) +#' @description This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. +#' @param agencyID (string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}. +#' @param resourceID (string) Resource identifier. A possible value is \code{C00010A_000002}. +#' @param version (string) Resource version. A possible value is \code{001.000}. +#' @param dim (string) Allows filtering the data obtained in the response. A example is \code{TIME_PERIOD:2009|2010}. +#' @param fields (string) Allows you to customize the response by excluding fields from it. The possible values are \code{-metadata} and \code{-data}. +#' @param lang (string) Language in which you want to get the answer. +#' @examples +#' get_datasets_agency_resource_version( +#' agencyID = "ISTAC", resourceID = "C00010A_000002", version = "001.000", +#' fields = "-data,-metadata" +#' ) +#' @export +get_datasets_agency_resource_version <- function(agencyID, resourceID, version, dim = NULL, fields = NULL, lang = "es") { + + # URL params + api <- "statistical-resources" + path <- "datasets" + + # Parse dim + if (!is.null(dim)) { + dim <- parse_param(dim) + } + + # Parse fields + if (!is.null(fields)) { + fields <- parse_param(fields) + } + + # Build URL + params <- paste0("?dim=", dim, "&fields=", fields, "&lang=", lang) + resource <- paste0(agencyID, "/", resourceID, "/", version, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} diff --git a/R/structural_resources_category.R b/R/structural_resources_category.R index e9c8e17..d6b2431 100644 --- a/R/structural_resources_category.R +++ b/R/structural_resources_category.R @@ -1,329 +1,330 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get categorisations -#' @description This function returns the content from /v1.0/categorisations -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_categorisations() -#' get_structuralresources_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_categorisations <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categorisations" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get categorisations agency -#' @description This function returns the content from /v1.0/categorisations/{agencyID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_categorisations_agency("ISTAC") -#' @export -get_structuralresources_categorisations_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categorisations" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get categorisations agency resource -#' @description This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") -#' @export -get_structuralresources_categorisations_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categorisations" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get categorisations agency resource version -#' @description This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID}/{version} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") -#' @export -get_structuralresources_categorisations_agency_resource_version <- function(agencyID, resourceID, version) { - - # Build URL - api <- "structural-resources" - path <- "categorisations" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes -#' @description This function returns the content from /v1.0/categoryschemes -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_category_schemes() -#' get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_category_schemes <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes agency -#' @description This function returns the content from /v1.0/categoryschemes/{agencyID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_category_schemes_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes agency resource -#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") -#' @export -get_structuralresources_category_schemes_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes agency resource version -#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_category_schemes_agency_resource_version( -#' "ISTAC", "TEMAS_CANARIAS", "01.000" -#' ) -#' @export -get_structuralresources_category_schemes_agency_resource_version <- function(agencyID, resourceID, version) { - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes agency resource version categories -#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_category_schemes_agency_resource_version_categories( -#' "ISTAC", "TEMAS_CANARIAS", "01.000", limit = 10 -#' ) -#' @export -get_structuralresources_category_schemes_agency_resource_version_categories <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/categories") - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get category schemes agency resource version categories (id) -#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories/{categoryID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @param categoryID (string) -#' @examples -#' get_structuralresources_category_schemes_agency_resource_version_categories_id( -#' "ISTAC", "TEMAS_CANARIAS", "01.000", "060" -#' ) -#' get_structuralresources_category_schemes_agency_resource_version_categories_id( -#' "ISTAC", "TEMAS_CANARIAS", "01.000", "060.060_010.060_010_010" -#' ) -#' @export -get_structuralresources_category_schemes_agency_resource_version_categories_id <- function(agencyID, resourceID, version, categoryID) { - - # Build URL - api <- "structural-resources" - path <- "categoryschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/categories/", categoryID) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get categorisations +#' @description This function returns the content from /v1.0/categorisations +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_categorisations() +#' get_structuralresources_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_categorisations <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categorisations" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get categorisations agency +#' @description This function returns the content from /v1.0/categorisations/{agencyID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_categorisations_agency("ISTAC") +#' @export +get_structuralresources_categorisations_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categorisations" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get categorisations agency resource +#' @description This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") +#' @export +get_structuralresources_categorisations_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categorisations" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get categorisations agency resource version +#' @description This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID}/{version} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") +#' @export +get_structuralresources_categorisations_agency_resource_version <- function(agencyID, resourceID, version) { + + # Build URL + api <- "structural-resources" + path <- "categorisations" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes +#' @description This function returns the content from /v1.0/categoryschemes +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_category_schemes() +#' get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_category_schemes <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes agency +#' @description This function returns the content from /v1.0/categoryschemes/{agencyID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_category_schemes_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes agency resource +#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") +#' @export +get_structuralresources_category_schemes_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes agency resource version +#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_category_schemes_agency_resource_version( +#' "ISTAC", "TEMAS_CANARIAS", "01.000" +#' ) +#' @export +get_structuralresources_category_schemes_agency_resource_version <- function(agencyID, resourceID, version) { + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes agency resource version categories +#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_category_schemes_agency_resource_version_categories( +#' "ISTAC", "TEMAS_CANARIAS", "01.000", +#' limit = 10 +#' ) +#' @export +get_structuralresources_category_schemes_agency_resource_version_categories <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/categories") + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get category schemes agency resource version categories (id) +#' @description This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories/{categoryID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @param categoryID (string) +#' @examples +#' get_structuralresources_category_schemes_agency_resource_version_categories_id( +#' "ISTAC", "TEMAS_CANARIAS", "01.000", "060" +#' ) +#' get_structuralresources_category_schemes_agency_resource_version_categories_id( +#' "ISTAC", "TEMAS_CANARIAS", "01.000", "060.060_010.060_010_010" +#' ) +#' @export +get_structuralresources_category_schemes_agency_resource_version_categories_id <- function(agencyID, resourceID, version, categoryID) { + + # Build URL + api <- "structural-resources" + path <- "categoryschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/categories/", categoryID) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} diff --git a/R/structural_resources_classifications.R b/R/structural_resources_classifications.R index 7c1f8ae..1b89704 100644 --- a/R/structural_resources_classifications.R +++ b/R/structural_resources_classifications.R @@ -1,262 +1,262 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get codelist families -#' @description This function returns the list of families of classifications -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param orderBy (string) Field by which to sort the results. -#' @param query (string) Query to filter the results. -#' @examples -#' get_structuralresources_codelist_families() -#' @export -get_structuralresources_codelist_families <- function(limit = 25, offset = 0, orderBy = NULL, query = NULL) { - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Build URL - api <- "structural-resources" - path <- "codelistfamilies" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelist families -#' @description This function allows to obtain a family of classifications in particular. -#' @param id (string) codelist family identificator -#' @examples -#' get_structuralresources_codelist_families_id() -#' @export -get_structuralresources_codelist_families_id <- function(id = NULL) { - - # Build URL - api <- "structural-resources" - path <- "codelistfamilies" - resource <- id - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists -#' @description This function allows to obtain the list of classifications. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_codelists() -#' @export -get_structuralresources_codelists <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "codelists" - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists agency -#' @description This function allows obtaining the list of all the classifications -#' maintained by a certain organization. -#' @param agencyID (string) Agency identificator. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_codelists_agency("ISTAC") -#' get_structuralresources_codelists_agency("ESTAT") -#' @export -get_structuralresources_codelists_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "codelists" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists agency resource -#' @description This function allows to obtain all the versions of a -#' classification with a certain identifier and that is also kept by a -#' certain organization. -#' @param agencyID (string) Agency identificator. -#' @param resourceID (string) Resource identificator. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") -#' @export -get_structuralresources_codelists_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "codelists" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get Content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists agency resource version -#' @description This function allows you to consult a particular version of a classification. -#' @param agencyID (string) Agency identificator. -#' @param resourceID (string) Resource identificator. -#' @param version (string) Specific resource version. -#' @examples -#' get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") -#' @export -get_structuralresources_codelists_agency_resource_version <- function(agencyID, resourceID, version) { - - # Build URL - api <- "structural-resources" - path <- "codelists" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists agency resource version codes -#' @description This function allows to consult the codes of a version of a -#' classification. Note that if wildcards are used as \code{~all} or one of the -#' \code{limit}, \code{offset}, \code{query} or \code{orderBy} parameters, -#' the list will be automatically paginated. -#' @param agencyID (string) Agency identificator. -#' @param resourceID (string) Resource identificator. -#' @param version (string) Specific resource version. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @param openness (string) Opening established for viewing. -#' @param order (string) Order established for visualization. -#' @param fields (string) Additional fields that you want to show in the answer. -#' @examples -#' get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") -#' @export -get_structuralresources_codelists_agency_resource_version_codes <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL, openness = NULL, order = NULL, fields = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Parse fields - if (!is.null(fields)) { - fields <- parse_param(fields) - } - - # Build URL - api <- "structural-resources" - path <- "codelists" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/codes") - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy, "&openness=", openness, "&order=", order, "&fields=", fields) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get codelists agency resource version codes (codeID) -#' @description This function allows to consult a specific code of a version of a classification. -#' @param agencyID (string) Agency identificator. -#' @param resourceID (string) Resource identificator. -#' @param version (string) Specific resource version. -#' @param codeID (string) Code identificator. -#' @examples -#' get_structuralresources_codelists_agency_resource_version_codes_codeid( -#' "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" -#' ) -#' @export -get_structuralresources_codelists_agency_resource_version_codes_codeid <- function(agencyID, resourceID, version, codeID) { - - # Build URL - api <- "structural-resources" - path <- "codelists" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/codes/", codeID) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get codelist families +#' @description This function returns the list of families of classifications +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param orderBy (string) Field by which to sort the results. +#' @param query (string) Query to filter the results. +#' @examples +#' get_structuralresources_codelist_families() +#' @export +get_structuralresources_codelist_families <- function(limit = 25, offset = 0, orderBy = NULL, query = NULL) { + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Build URL + api <- "structural-resources" + path <- "codelistfamilies" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelist families +#' @description This function allows to obtain a family of classifications in particular. +#' @param id (string) codelist family identificator +#' @examples +#' get_structuralresources_codelist_families_id() +#' @export +get_structuralresources_codelist_families_id <- function(id = NULL) { + + # Build URL + api <- "structural-resources" + path <- "codelistfamilies" + resource <- id + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists +#' @description This function allows to obtain the list of classifications. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_codelists() +#' @export +get_structuralresources_codelists <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "codelists" + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists agency +#' @description This function allows obtaining the list of all the classifications +#' maintained by a certain organization. +#' @param agencyID (string) Agency identificator. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_codelists_agency("ISTAC") +#' get_structuralresources_codelists_agency("ESTAT") +#' @export +get_structuralresources_codelists_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "codelists" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists agency resource +#' @description This function allows to obtain all the versions of a +#' classification with a certain identifier and that is also kept by a +#' certain organization. +#' @param agencyID (string) Agency identificator. +#' @param resourceID (string) Resource identificator. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") +#' @export +get_structuralresources_codelists_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "codelists" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get Content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists agency resource version +#' @description This function allows you to consult a particular version of a classification. +#' @param agencyID (string) Agency identificator. +#' @param resourceID (string) Resource identificator. +#' @param version (string) Specific resource version. +#' @examples +#' get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") +#' @export +get_structuralresources_codelists_agency_resource_version <- function(agencyID, resourceID, version) { + + # Build URL + api <- "structural-resources" + path <- "codelists" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists agency resource version codes +#' @description This function allows to consult the codes of a version of a +#' classification. Note that if wildcards are used as \code{~all} or one of the +#' \code{limit}, \code{offset}, \code{query} or \code{orderBy} parameters, +#' the list will be automatically paginated. +#' @param agencyID (string) Agency identificator. +#' @param resourceID (string) Resource identificator. +#' @param version (string) Specific resource version. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @param openness (string) Opening established for viewing. +#' @param order (string) Order established for visualization. +#' @param fields (string) Additional fields that you want to show in the answer. +#' @examples +#' get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") +#' @export +get_structuralresources_codelists_agency_resource_version_codes <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL, openness = NULL, order = NULL, fields = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Parse fields + if (!is.null(fields)) { + fields <- parse_param(fields) + } + + # Build URL + api <- "structural-resources" + path <- "codelists" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/codes") + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy, "&openness=", openness, "&order=", order, "&fields=", fields) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get codelists agency resource version codes (codeID) +#' @description This function allows to consult a specific code of a version of a classification. +#' @param agencyID (string) Agency identificator. +#' @param resourceID (string) Resource identificator. +#' @param version (string) Specific resource version. +#' @param codeID (string) Code identificator. +#' @examples +#' get_structuralresources_codelists_agency_resource_version_codes_codeid( +#' "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" +#' ) +#' @export +get_structuralresources_codelists_agency_resource_version_codes_codeid <- function(agencyID, resourceID, version, codeID) { + + # Build URL + api <- "structural-resources" + path <- "codelists" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/codes/", codeID) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} diff --git a/R/structural_resources_concepts.R b/R/structural_resources_concepts.R index 9ab4216..8d3067f 100644 --- a/R/structural_resources_concepts.R +++ b/R/structural_resources_concepts.R @@ -1,220 +1,220 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get concept types -#' @description This function returns the content from /v1.0/conceptTypes -#' @examples -#' get_structuralresources_concept_types() -#' @export -get_structuralresources_concept_types <- function() { - - # Build URL - api <- "structural-resources" - path <- "conceptTypes" - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get concept schemes -#' @description This function returns the content from /v1.0/conceptschemes -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_concept_schemes() -#' get_structuralresources_concept_schemes(query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_concept_schemes <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get concept schemes agency -#' @description This function returns the content from /v1.0/conceptschemes/{agencyID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_concept_schemes_agency("ISTAC") -#' get_structuralresources_concept_schemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_concept_schemes_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get concept schemes agency resource -#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_concept_schemes_agency_resource( -#' agencyID = "ISTAC", resourceID = "CL_AREA_ES" -#' ) -#' @export -get_structuralresources_concept_schemes_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get concept schemes agency resource version -#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_concept_schemes_agency_resource_version( -#' agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000" -#' ) -#' @export -get_structuralresources_concept_schemes_agency_resource_version <- function(agencyID, resourceID, version) { - - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} - -#' @title Get concept schemes agency resource version concepts -#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_concept_schemes_agency_resource_version_concepts( -#' agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000" -#' ) -#' @export -get_structuralresources_concept_schemes_agency_resource_version_concepts <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/concepts") - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} - -#' @title Get concept schemes agency resource version concepts (id) -#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts/{conceptID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @param conceptID (string) Concept identifier. -#' @examples -#' get_structuralresources_concept_schemes_agency_resource_version_concepts_id( -#' agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0 -#' ) -#' @export -get_structuralresources_concept_schemes_agency_resource_version_concepts_id <- function(agencyID, resourceID, version, conceptID) { - - # Build URL - api <- "structural-resources" - path <- "conceptschemes" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/concepts/", conceptID) - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get concept types +#' @description This function returns the content from /v1.0/conceptTypes +#' @examples +#' get_structuralresources_concept_types() +#' @export +get_structuralresources_concept_types <- function() { + + # Build URL + api <- "structural-resources" + path <- "conceptTypes" + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get concept schemes +#' @description This function returns the content from /v1.0/conceptschemes +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_concept_schemes() +#' get_structuralresources_concept_schemes(query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_concept_schemes <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get concept schemes agency +#' @description This function returns the content from /v1.0/conceptschemes/{agencyID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_concept_schemes_agency("ISTAC") +#' get_structuralresources_concept_schemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_concept_schemes_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get concept schemes agency resource +#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_concept_schemes_agency_resource( +#' agencyID = "ISTAC", resourceID = "CL_AREA_ES" +#' ) +#' @export +get_structuralresources_concept_schemes_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get concept schemes agency resource version +#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_concept_schemes_agency_resource_version( +#' agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000" +#' ) +#' @export +get_structuralresources_concept_schemes_agency_resource_version <- function(agencyID, resourceID, version) { + + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} + +#' @title Get concept schemes agency resource version concepts +#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_concept_schemes_agency_resource_version_concepts( +#' agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000" +#' ) +#' @export +get_structuralresources_concept_schemes_agency_resource_version_concepts <- function(agencyID, resourceID, version, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/concepts") + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} + +#' @title Get concept schemes agency resource version concepts (id) +#' @description This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts/{conceptID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @param conceptID (string) Concept identifier. +#' @examples +#' get_structuralresources_concept_schemes_agency_resource_version_concepts_id( +#' agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0 +#' ) +#' @export +get_structuralresources_concept_schemes_agency_resource_version_concepts_id <- function(agencyID, resourceID, version, conceptID) { + + # Build URL + api <- "structural-resources" + path <- "conceptschemes" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/concepts/", conceptID) + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} diff --git a/R/structural_resources_datastructures.R b/R/structural_resources_datastructures.R index 3c3456b..239513b 100644 --- a/R/structural_resources_datastructures.R +++ b/R/structural_resources_datastructures.R @@ -1,289 +1,289 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get content constraints -#' @description This function returns the content from /v1.0/contentConstraints -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_content_constraints() -#' get_structuralresources_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_content_constraints <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "contentConstraints" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get content constraints agency -#' @description This function returns the content from /v1.0/contentConstraints/{agencyID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_content_constraints_agency("ISTAC") -#' @export -get_structuralresources_content_constraints_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "contentConstraints" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get content constraints agency resource -#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") -#' @export -get_structuralresources_content_constraints_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "contentConstraints" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get content constraints agency resource version -#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") -#' @export -get_structuralresources_content_constraints_agency_resource_version <- function(agencyID, resourceID, version) { - - - # Build URL - api <- "structural-resources" - path <- "contentConstraints" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} - -#' @title Get content constraints agency resource version regions -#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version}/regions/{regionCode} -#' @param regionCode (string) Region code. -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_content_constraints_agency_resource_version_regions( -#' "0001", "ISTAC", "CL_AREA", "01.000" -#' ) -#' @export -get_structuralresources_content_constraints_agency_resource_version_regions <- function(regionCode, agencyID, resourceID, version) { - - - # Build URL - api <- "structural-resources" - path <- "contentConstraints" - resource <- paste0(agencyID, "/", resourceID, "/", version, "/regions/", regionCode) - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} - -#' @title Get data structures -#' @description This function returns the content from /v1.0/datastructures -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_data_structures() -#' get_structuralresources_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") -#' @export -get_structuralresources_data_structures <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "datastructures" - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get data structures agency -#' @description This function returns the content from /v1.0/datastructures/{agencyID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_data_structures_agency("ISTAC") -#' @export -get_structuralresources_data_structures_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "datastructures" - resource <- agencyID - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - - -#' @title Get data structures agency resource -#' @description This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") -#' @export -get_structuralresources_data_structures_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "datastructures" - resource <- paste0(agencyID, "/", resourceID) - params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) -} - -#' @title Get data structures agency resource version -#' @description This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID}/{version} -#' @param agencyID (string) Identifier of the agency that publishes. -#' @param resourceID (string) Resource identifier. -#' @param version (string) Specific version of the resource. -#' @examples -#' get_structuralresources_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") -#' @export -get_structuralresources_data_structures_agency_resource_version <- function(agencyID, resourceID, version) { - - # Build URL - api <- "structural-resources" - path <- "datastructures" - resource <- paste0(agencyID, "/", resourceID, "/", version) - url <- get_url(api, path, resource) - - # Get content - # content <- get_content(url) - - return(url) -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get content constraints +#' @description This function returns the content from /v1.0/contentConstraints +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_content_constraints() +#' get_structuralresources_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_content_constraints <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "contentConstraints" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get content constraints agency +#' @description This function returns the content from /v1.0/contentConstraints/{agencyID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_content_constraints_agency("ISTAC") +#' @export +get_structuralresources_content_constraints_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "contentConstraints" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get content constraints agency resource +#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") +#' @export +get_structuralresources_content_constraints_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "contentConstraints" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get content constraints agency resource version +#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") +#' @export +get_structuralresources_content_constraints_agency_resource_version <- function(agencyID, resourceID, version) { + + + # Build URL + api <- "structural-resources" + path <- "contentConstraints" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} + +#' @title Get content constraints agency resource version regions +#' @description This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version}/regions/{regionCode} +#' @param regionCode (string) Region code. +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_content_constraints_agency_resource_version_regions( +#' "0001", "ISTAC", "CL_AREA", "01.000" +#' ) +#' @export +get_structuralresources_content_constraints_agency_resource_version_regions <- function(regionCode, agencyID, resourceID, version) { + + + # Build URL + api <- "structural-resources" + path <- "contentConstraints" + resource <- paste0(agencyID, "/", resourceID, "/", version, "/regions/", regionCode) + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} + +#' @title Get data structures +#' @description This function returns the content from /v1.0/datastructures +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_data_structures() +#' get_structuralresources_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") +#' @export +get_structuralresources_data_structures <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "datastructures" + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get data structures agency +#' @description This function returns the content from /v1.0/datastructures/{agencyID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_data_structures_agency("ISTAC") +#' @export +get_structuralresources_data_structures_agency <- function(agencyID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "datastructures" + resource <- agencyID + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + + +#' @title Get data structures agency resource +#' @description This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") +#' @export +get_structuralresources_data_structures_agency_resource <- function(agencyID, resourceID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "datastructures" + resource <- paste0(agencyID, "/", resourceID) + params <- paste0("?limit=", limit, "&offset=", offset, "&orderBy=", orderBy, "&query=", query) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get data structures agency resource version +#' @description This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID}/{version} +#' @param agencyID (string) Identifier of the agency that publishes. +#' @param resourceID (string) Resource identifier. +#' @param version (string) Specific version of the resource. +#' @examples +#' get_structuralresources_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") +#' @export +get_structuralresources_data_structures_agency_resource_version <- function(agencyID, resourceID, version) { + + # Build URL + api <- "structural-resources" + path <- "datastructures" + resource <- paste0(agencyID, "/", resourceID, "/", version) + url <- get_url(api, path, resource) + + # Get content + # content <- get_content(url) + + return(url) +} diff --git a/R/structural_resources_variables.R b/R/structural_resources_variables.R index 19f7874..bc27b1c 100644 --- a/R/structural_resources_variables.R +++ b/R/structural_resources_variables.R @@ -1,252 +1,244 @@ -# Instituto Canario de Estadística (ISTAC) - -#' @title Get variable families -#' @description This function returns data from /v1.0/variablefamilies -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_variable_families() -#' @export -get_structuralresources_variable_families <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "variablefamilies" - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - path <- paste0(path, params) - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variable families (id) -#' @description This function returns data from /v1.0/variablefamilies/{id} -#' @param id (string) Variable family identificator. -#' @examples -#' get_structuralresources_variable_families_id("VRF_DEMOGRAFICAS") -#' @export -get_structuralresources_variable_families_id <- function(id) { - - # Build URL - api <- "structural-resources" - path <- "variablefamilies" - resource <- id - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variable families (id) variables -#' @description This function returns data from /v1.0/variablefamilies/{id}/variables -#' @param id (string) Variable family identificator. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_variable_families_id_variables("VRF_DEMOGRAFICAS") -#' @export -get_structuralresources_variable_families_id_variables <- function(id, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "variablefamilies" - resource <- paste0(id, "/variables") - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variables -#' @description This function returns data from /v1.0/variables -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_variables() -#' @export -get_structuralresources_variables <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "variables" - url <- get_url(api, path) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variables (id) -#' @description This function returns data from /v1.0/variables/{id} -#' @param id (string) Variable identificator. -#' @examples -#' get_structuralresources_variables_id("VR_SEXO") -#' @export -get_structuralresources_variables_id <- function(id) { - - # Build URL - api <- "structural-resources" - path <- "variables" - resource <- id - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variableelements -#' @description This function returns data from /v1.0/variables/{variableID}/variableelements -#' @param variableID (string) Variable identificator. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' get_structuralresources_variableelements("VR_SEXO") -#' @export -get_structuralresources_variableelements <- function(variableID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "variables" - resource <- paste0(variableID, "/variableelements") - params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get variableelements resource -#' @description This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID} -#' @param resourceID (string) Resource identificator. -#' @param variableID (string) Variable identificator. -#' @examples -#' get_structuralresources_variableelements_resource("VR_SEXO", "FEMALE") -#' get_structuralresources_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") -#' @export -get_structuralresources_variableelements_resource <- function(variableID, resourceID) { - - # Build URL - api <- "structural-resources" - path <- "variables" - resource <- paste0(variableID, "/variableelements/", resourceID) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} - -#' @title Get geoinfo -#' @description This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID}/geoinfo -#' @param variableID (string) Variable identificator. -#' @param resourceID (string) Resource identificator. -#' @param fields (string) Additional fields that you want to show in the answer. -#' @param limit (int) Results limit. By default \code{limit = 25}. -#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. -#' @param query (string) Query to filter the results. -#' @param orderBy (string) Field by which to sort the results. -#' @examples -#' geoinfo <- get_structuralresources_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") -#' @export -get_structuralresources_geoinfo <- function(variableID, resourceID, fields = NULL, limit = 25, offset = 0, query = NULL, orderBy = NULL) { - - # Parse fields - if (!is.null(fields)) { - fields <- parse_param(fields) - } - - # Parse query - if (!is.null(query)) { - query <- parse_param(query) - } - - # Parse orderBy - if (!is.null(orderBy)) { - orderBy <- parse_param(orderBy) - } - - # Build URL - api <- "structural-resources" - path <- "variables" - resource <- paste0(variableID, "/variableelements/", resourceID, "/geoinfo") - params <- paste0("?fields=", fields, "&limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) - resource <- paste0(resource, params) - url <- get_url(api, path, resource) - - # Get content - content <- get_content(url) - - return(content) - -} +# Instituto Canario de Estadística (ISTAC) + +#' @title Get variable families +#' @description This function returns data from /v1.0/variablefamilies +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_variable_families() +#' @export +get_structuralresources_variable_families <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "variablefamilies" + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + path <- paste0(path, params) + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variable families (id) +#' @description This function returns data from /v1.0/variablefamilies/{id} +#' @param id (string) Variable family identificator. +#' @examples +#' get_structuralresources_variable_families_id("VRF_DEMOGRAFICAS") +#' @export +get_structuralresources_variable_families_id <- function(id) { + + # Build URL + api <- "structural-resources" + path <- "variablefamilies" + resource <- id + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variable families (id) variables +#' @description This function returns data from /v1.0/variablefamilies/{id}/variables +#' @param id (string) Variable family identificator. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_variable_families_id_variables("VRF_DEMOGRAFICAS") +#' @export +get_structuralresources_variable_families_id_variables <- function(id, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "variablefamilies" + resource <- paste0(id, "/variables") + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variables +#' @description This function returns data from /v1.0/variables +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_variables() +#' @export +get_structuralresources_variables <- function(limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "variables" + url <- get_url(api, path) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variables (id) +#' @description This function returns data from /v1.0/variables/{id} +#' @param id (string) Variable identificator. +#' @examples +#' get_structuralresources_variables_id("VR_SEXO") +#' @export +get_structuralresources_variables_id <- function(id) { + + # Build URL + api <- "structural-resources" + path <- "variables" + resource <- id + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variableelements +#' @description This function returns data from /v1.0/variables/{variableID}/variableelements +#' @param variableID (string) Variable identificator. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' get_structuralresources_variableelements("VR_SEXO") +#' @export +get_structuralresources_variableelements <- function(variableID, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "variables" + resource <- paste0(variableID, "/variableelements") + params <- paste0("?limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get variableelements resource +#' @description This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID} +#' @param resourceID (string) Resource identificator. +#' @param variableID (string) Variable identificator. +#' @examples +#' get_structuralresources_variableelements_resource("VR_SEXO", "FEMALE") +#' get_structuralresources_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") +#' @export +get_structuralresources_variableelements_resource <- function(variableID, resourceID) { + + # Build URL + api <- "structural-resources" + path <- "variables" + resource <- paste0(variableID, "/variableelements/", resourceID) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} + +#' @title Get geoinfo +#' @description This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID}/geoinfo +#' @param variableID (string) Variable identificator. +#' @param resourceID (string) Resource identificator. +#' @param fields (string) Additional fields that you want to show in the answer. +#' @param limit (int) Results limit. By default \code{limit = 25}. +#' @param offset (int) Displacement. Result from which it is returned. By default \code{offset = 0}. +#' @param query (string) Query to filter the results. +#' @param orderBy (string) Field by which to sort the results. +#' @examples +#' geoinfo <- get_structuralresources_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") +#' @export +get_structuralresources_geoinfo <- function(variableID, resourceID, fields = NULL, limit = 25, offset = 0, query = NULL, orderBy = NULL) { + + # Parse fields + if (!is.null(fields)) { + fields <- parse_param(fields) + } + + # Parse query + if (!is.null(query)) { + query <- parse_param(query) + } + + # Parse orderBy + if (!is.null(orderBy)) { + orderBy <- parse_param(orderBy) + } + + # Build URL + api <- "structural-resources" + path <- "variables" + resource <- paste0(variableID, "/variableelements/", resourceID, "/geoinfo") + params <- paste0("?fields=", fields, "&limit=", limit, "&offset=", offset, "&query=", query, "&orderBy=", orderBy) + resource <- paste0(resource, params) + url <- get_url(api, path, resource) + + # Get content + content <- get_content(url) + + return(content) +} From 9a9730200660f2d2ef4ab18e19865c4ab7b10dbe Mon Sep 17 00:00:00 2001 From: jlopezper Date: Sat, 23 Jan 2021 19:51:33 +0100 Subject: [PATCH 05/12] init tests --- tests/testthat.R | 4 ++++ .../test-indicators_auxiliary_value_tables.R | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 tests/testthat.R create mode 100644 tests/testthat/test-indicators_auxiliary_value_tables.R diff --git a/tests/testthat.R b/tests/testthat.R new file mode 100644 index 0000000..d13ec65 --- /dev/null +++ b/tests/testthat.R @@ -0,0 +1,4 @@ +library(testthat) +library(istacr) + +test_check("istacr") diff --git a/tests/testthat/test-indicators_auxiliary_value_tables.R b/tests/testthat/test-indicators_auxiliary_value_tables.R new file mode 100644 index 0000000..0b4d821 --- /dev/null +++ b/tests/testthat/test-indicators_auxiliary_value_tables.R @@ -0,0 +1,16 @@ +test_that("get_indicators_geographic_granularities() returns a list", { + ind <- get_indicators_geographic_granularities() + expect_is(ind, "list") +}) + + +test_that("get_indicators_geographic_granularities() items slot returns a data.frame", { + ind <- get_indicators_geographic_granularities() + expect_is(ind$items, "data.frame") +}) + + +test_that("get_indicators_geographic_granularities() has more than one language", { + ind <- get_indicators_geographic_granularities() + expect_gte(length(names(ind$items$title)[!names(ind$items$title) %in% "__default__"]), 2) +}) From a97aa41530fe062b0c12e73d8d16e18ebaf08b0e Mon Sep 17 00:00:00 2001 From: jlopezper Date: Mon, 25 Jan 2021 23:53:23 +0100 Subject: [PATCH 06/12] add new tests --- .../test-indicators_auxiliary_value_tables.R | 63 ++++++++++++++ tests/testthat/test-indicators_indicators.R | 82 +++++++++++++++++++ .../test-indicators_indicators_systems.R | 58 +++++++++++++ .../test-statistical_resources_cubes.R | 43 ++++++++++ .../test-structural_resources_category.R | 62 ++++++++++++++ ...est-structural_resources_classifications.R | 41 ++++++++++ .../test-structural_resources_concepts.R | 30 +++++++ ...test-structural_resources_datastructures.R | 28 +++++++ 8 files changed, 407 insertions(+) create mode 100644 tests/testthat/test-indicators_indicators.R create mode 100644 tests/testthat/test-indicators_indicators_systems.R create mode 100644 tests/testthat/test-statistical_resources_cubes.R create mode 100644 tests/testthat/test-structural_resources_category.R create mode 100644 tests/testthat/test-structural_resources_classifications.R create mode 100644 tests/testthat/test-structural_resources_concepts.R create mode 100644 tests/testthat/test-structural_resources_datastructures.R diff --git a/tests/testthat/test-indicators_auxiliary_value_tables.R b/tests/testthat/test-indicators_auxiliary_value_tables.R index 0b4d821..d11e445 100644 --- a/tests/testthat/test-indicators_auxiliary_value_tables.R +++ b/tests/testthat/test-indicators_auxiliary_value_tables.R @@ -1,3 +1,4 @@ +## get_indicators_geographic_granularities test_that("get_indicators_geographic_granularities() returns a list", { ind <- get_indicators_geographic_granularities() expect_is(ind, "list") @@ -14,3 +15,65 @@ test_that("get_indicators_geographic_granularities() has more than one language" ind <- get_indicators_geographic_granularities() expect_gte(length(names(ind$items$title)[!names(ind$items$title) %in% "__default__"]), 2) }) + + + +## get_indicators_geographical_values() +test_that("Find error when no geographicalGranularityCode is provided", { + expect_error(get_indicators_geographical_values()) +}) + +test_that("Ensure there're at least 17 regions", { + ind <- get_indicators_geographical_values(geographicalGranularityCode = "REGIONS") + expect_gte(nrow(ind$items), 17) +}) + + +test_that("Ensure Canarias is among the regions", { + ind <- get_indicators_geographical_values(geographicalGranularityCode = "REGIONS") + testthat::expect_true(any(ind$items$title$es == "Canarias")) +}) + + +test_that("Ensure Canarias is among the regions", { + ind <- get_indicators_geographical_values("REGIONS", subjectCode = "051", systemCode = "C00067A") + testthat::expect_true(any(ind$items$title$es == "Canarias")) +}) + + +## get_indicators_subjects() +test_that("get_indicators_subjects() returns a list", { + ind <- get_indicators_subjects() + expect_is(ind, "list") +}) + + +test_that("get_indicators_subjects() items slot returns a data.frame", { + ind <- get_indicators_subjects() + expect_is(ind$items, "data.frame") +}) + +## get_indicators_time_granularities() +test_that("get_indicators_time_granularities() returns a list", { + ind <- get_indicators_time_granularities() + expect_is(ind, "list") +}) + + +test_that("get_indicators_time_granularities() items slot returns a data.frame", { + ind <- get_indicators_time_granularities() + expect_is(ind$items, "data.frame") +}) + + +test_that("get_indicators_time_granularities() id contains all the time frequencies", { + ind <- get_indicators_time_granularities() + expect_equal(ind$items$code, c("YEARLY", "BIYEARLY", "QUARTERLY", "FOUR_MONTHLY", "MONTHLY", + "WEEKLY", "DAILY", "HOURLY")) +}) + + +test_that("get_indicators_time_granularities() has more than one language", { + ind <- get_indicators_time_granularities() + expect_gte(length(names(ind$items$title)[!names(ind$items$title) %in% "__default__"]), 2) +}) diff --git a/tests/testthat/test-indicators_indicators.R b/tests/testthat/test-indicators_indicators.R new file mode 100644 index 0000000..bc001f9 --- /dev/null +++ b/tests/testthat/test-indicators_indicators.R @@ -0,0 +1,82 @@ +## get_indicators() +test_that("get_indicators() returns a list", { + ind <- get_indicators() + expect_is(ind, "list") +}) + + +test_that("get_indicators() items slot returns a data.frame", { + ind <- get_indicators() + expect_is(ind$items, "data.frame") +}) + +test_that("get_indicators() has more than one language", { + ind <- get_indicators() + expect_gte(length(names(ind$items$title)[!names(ind$items$title) %in% "__default__"]), 2) +}) + + + +test_that("get_indicators() has kind indicator", { + ind <- get_indicators( + q = 'id IN ("AFILIACIONES", "EMPLEO_REGISTRADO_AGRICULTURA")', + order = "id ASC", fields = "+data", representation = + "GEOGRAPHICAL[35003|35005],MEASURE[ABSOLUTE]" + ) + expect_true(all(ind$kind == "indicators#indicators")) +}) + + +test_that("get_indicators() offset is correctly set", { + ind <- get_indicators( + q = 'id IN ("AFILIACIONES", "EMPLEO_REGISTRADO_AGRICULTURA")', + order = "id ASC", + fields = "+data", + representation = "GEOGRAPHICAL[35003|35005],MEASURE[ABSOLUTE]" + ) + expect_equal(grep("offset=0", x = ind$selfLink), 1) + + + ind <- get_indicators( + q = 'id IN ("AFILIACIONES", "EMPLEO_REGISTRADO_AGRICULTURA")', + order = "id ASC", + fields = "+data", + representation = + "GEOGRAPHICAL[35003|35005],MEASURE[ABSOLUTE]", + offset = 25 + ) + expect_equal(grep("offset=25", x = ind$selfLink), 1) +}) + + +## get_indicators_code() +test_that("get_indicators_code() needs arguments to work", { + expect_error(get_indicators_code()) +}) + + +test_that("get_indicators_code() needs existing codes", { + expect_equal(length(get_indicators_code('TURISTA')), 0) +}) + + +test_that("get_indicators_code() returns a list", { + ind <- get_indicators_code('TURISTAS') + expect_is(ind, "list") +}) + + +## get_indicators_code_data() +test_that("get_indicators_code_data() needs arguments to work", { + expect_error(get_indicators_code_data()) +}) + +test_that("get_indicators_code_data() needs existing codes", { + expect_equal(length(get_indicators_code_data('TURISTA')), 0) +}) + + +test_that("get_indicators_code_data() returns a list", { + ind <- get_indicators_code_data('TURISTAS') + expect_is(ind, "list") +}) diff --git a/tests/testthat/test-indicators_indicators_systems.R b/tests/testthat/test-indicators_indicators_systems.R new file mode 100644 index 0000000..34b049f --- /dev/null +++ b/tests/testthat/test-indicators_indicators_systems.R @@ -0,0 +1,58 @@ +## get_indicators_systems +test_that("get_indicators_systems() returns a list", { + ind <- get_indicators_systems() + expect_is(ind, "list") +}) + +test_that("get_indicators_systems() items slot returns a data.frame", { + ind <- get_indicators_systems() + expect_is(ind$items, "data.frame") +}) + + +test_that("get_indicators_systems() has more than one language", { + ind <- get_indicators_systems() + expect_gte(length(names(ind$items$title)[!names(ind$items$title) %in% "__default__"]), 2) +}) + +test_that("get_indicators_systems() limit is 25", { + ind <- get_indicators_systems() + expect_equal(ind$limit, 25) +}) + + + +## get_indicators_systems_code() +test_that("Find error when no indicators systems code is provided", { + expect_error(get_indicators_systems_code()) +}) + + +test_that("get_indicators_systems_code() elements slot returns a data.frame", { + ind <- get_indicators_systems_code("C00075H") + expect_is(ind$elements, "data.frame") +}) + + +## get_indicators_systems_code_instances() +test_that("get_indicators_systems_code_instances fails when no indicators systems code is provided", { + expect_error(get_indicators_systems_code_instances()) +}) + + +## get_indicators_systems_code_instances_code() +test_that("get_indicators_systems_code_instances_code fails when no indicators systems code is provided", { + expect_error(get_indicators_systems_code_instances_code()) +}) + + +## get_indicators_systems_code_instances_code_data() +test_that("get_indicators_systems_code_instances_code_data fails when no indicators systems code is provided", { + expect_error(get_indicators_systems_code_instances_code_data()) +}) + + +test_that("get_indicators_systems_code_instances_code_data() attribute slot returns a data.frame", { + ind <- get_indicators_systems_code_instances_code_data("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") + expect_is(ind$attribute, "data.frame") +}) diff --git a/tests/testthat/test-statistical_resources_cubes.R b/tests/testthat/test-statistical_resources_cubes.R new file mode 100644 index 0000000..68484e5 --- /dev/null +++ b/tests/testthat/test-statistical_resources_cubes.R @@ -0,0 +1,43 @@ +## get_datasets_agency() +test_that("get_datasets_agency(agencyID = 'ISTAC') returns a list", { + ind <- get_datasets_agency(agencyID = "ISTAC") + expect_is(ind, "list") +}) + +test_that("get_datasets_agency(agencyID = 'ISTAC') items slot returns a data.frame", { + ind <- get_datasets_agency(agencyID = 'ISTAC') + expect_is(ind$dataset, "data.frame") +}) + + +test_that("get_datasets_agency() returns an error", { + expect_error(get_datasets_agency()) +}) + + +test_that("get_datasets_agency(agencyID = 'ISTAC') are 25", { + ind <- get_datasets_agency(agencyID = 'ISTAC') + expect_gte(nrow(ind$dataset), 25) +}) + + +## get_datasets_agency_resource() +test_that("get_datasets_agency_resource() returns an error", { + expect_error(get_datasets_agency_resource()) +}) + +test_that("get_datasets_agency_resource(agencyID = 'ISTAC', resourceID = 'C00010A_000002') returns a list", { + ind <- get_datasets_agency_resource(agencyID = 'ISTAC', resourceID = 'C00010A_000002') + expect_is(ind, "list") +}) + +test_that("get_datasets_agency_resource(agencyID = 'ISTAC', resourceID = 'C00010A_000002') items slot returns a data.frame", { + ind <- get_datasets_agency_resource(agencyID = 'ISTAC', resourceID = 'C00010A_000002') + expect_is(ind$dataset, "data.frame") +}) + + +## get_datasets_agency_resource_version() +test_that("get_datasets_agency_resource_version() returns an error", { + expect_error(get_datasets_agency_resource_version()) +}) diff --git a/tests/testthat/test-structural_resources_category.R b/tests/testthat/test-structural_resources_category.R new file mode 100644 index 0000000..1d153c9 --- /dev/null +++ b/tests/testthat/test-structural_resources_category.R @@ -0,0 +1,62 @@ +## get_structuralresources_categorisations() +test_that("Structural resources returns a list", { + ind <- get_structuralresources_categorisations() + expect_is(ind, "list") + + ind <- get_structuralresources_categorisations_agency("ISTAC") + expect_is(ind, "list") + + ind <- get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") + expect_is(ind, "list") + + ind <- get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") + expect_is(ind, "list") + + ind <- get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes_agency_resource_version( + "ISTAC", "TEMAS_CANARIAS", "01.000") + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes_agency_resource_version_categories( + "ISTAC", "TEMAS_CANARIAS", "01.000", + limit = 10) + expect_is(ind, "list") + + ind <- get_structuralresources_category_schemes_agency_resource_version_categories_id( + "ISTAC", "TEMAS_CANARIAS", "01.000", "060") + expect_is(ind, "list") + +}) + + +test_that("Structural resources - check df", { + ind <- get_structuralresources_categorisations() + expect_is(ind$categorisation, "data.frame") + + ind <- get_structuralresources_categorisations_agency('ISTAC') + expect_is(ind$categorisation, "data.frame") + + ind <-get_structuralresources_categorisations_agency_resource('ISTAC', 'cat2') + expect_is(ind$categorisation, "data.frame") + + ind <- get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") + expect_is(ind$categoryScheme, "data.frame") + + ind <- get_structuralresources_category_schemes_agency_resource_version_categories( + "ISTAC", "TEMAS_CANARIAS", "01.000", + limit = 10) + expect_is(ind$category, "data.frame") +}) + + diff --git a/tests/testthat/test-structural_resources_classifications.R b/tests/testthat/test-structural_resources_classifications.R new file mode 100644 index 0000000..4b0cbc3 --- /dev/null +++ b/tests/testthat/test-structural_resources_classifications.R @@ -0,0 +1,41 @@ +## get_structuralresources_categorisations() +test_that("Structural resources classification returns a list", { + ind <- get_structuralresources_codelist_families() + expect_is(ind, "list") + + ind <- get_structuralresources_codelist_families_id() + expect_is(ind, "list") + + ind <- get_structuralresources_codelists() + expect_is(ind, "list") + + ind <- get_structuralresources_codelists_agency("ISTAC") + expect_is(ind, "list") + + ind <- get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") + expect_is(ind, "list") + + ind <- get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") + expect_is(ind, "list") + + ind <- get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") + expect_is(ind, "list") + + ind <- get_structuralresources_codelists_agency_resource_version_codes_codeid( + "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" ) + expect_is(ind, "list") +}) + + +test_that("Structural resources classification - check df", { + ind <- get_structuralresources_codelists() + expect_is(ind$codelist, "data.frame") + + ind <- get_structuralresources_codelists_agency("ISTAC") + expect_is(ind$codelist, "data.frame") + + ind <- get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") + expect_is(ind$code, "data.frame") +}) + + diff --git a/tests/testthat/test-structural_resources_concepts.R b/tests/testthat/test-structural_resources_concepts.R new file mode 100644 index 0000000..dfb1484 --- /dev/null +++ b/tests/testthat/test-structural_resources_concepts.R @@ -0,0 +1,30 @@ +## get_structuralresources_categorisations() +test_that("Structural resources concet returns a list", { + ind <- get_structuralresources_concept_types() + expect_is(ind, "list") + + ind <- get_structuralresources_concept_schemes() + expect_is(ind, "list") + + ind <- get_structuralresources_concept_schemes_agency("ISTAC") + expect_is(ind, "list") + + ind <- get_structuralresources_concept_schemes_agency_resource( + agencyID = "ISTAC", resourceID = "CL_AREA_ES") + expect_is(ind, "list") + +}) + + +test_that("Structural resources classification - check df", { + ind <- get_structuralresources_concept_types() + expect_is(ind$conceptType, "data.frame") + + ind <- get_structuralresources_concept_schemes() + expect_is(ind$conceptScheme, "data.frame") + + ind <- get_structuralresources_concept_schemes_agency("ISTAC") + expect_is(ind$conceptScheme, "data.frame") +}) + + diff --git a/tests/testthat/test-structural_resources_datastructures.R b/tests/testthat/test-structural_resources_datastructures.R new file mode 100644 index 0000000..01c404e --- /dev/null +++ b/tests/testthat/test-structural_resources_datastructures.R @@ -0,0 +1,28 @@ +test_that("Structural resources content returns a list", { + ind <- get_structuralresources_content_constraints() + expect_is(ind, "list") + + ind <- get_structuralresources_content_constraints_agency("ISTAC") + expect_is(ind, "list") + + ind <- get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") + expect_is(ind, "list") + + ind <- get_structuralresources_data_structures() + expect_is(ind, "list") + + ind <- get_structuralresources_data_structures_agency("ISTAC") + expect_is(ind, "list") + + ind <- get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") + expect_is(ind, "list") + +}) + +test_that("Structural resources content returns a list", { + ind <- get_structuralresources_data_structures() + expect_is(ind$dataStructure, "data.frame") + + ind <- get_structuralresources_data_structures_agency("ISTAC") + expect_is(ind$dataStructure, "data.frame") +}) From 2afa5080cde3a1b96042667a8294cb7c0b9d8372 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Mon, 25 Jan 2021 23:53:36 +0100 Subject: [PATCH 07/12] update documentation --- man/get_datasets.Rd | 48 ++++----- man/get_datasets_agency.Rd | 66 ++++++------- man/get_datasets_agency_resource.Rd | 72 +++++++------- man/get_datasets_agency_resource_version.Rd | 72 +++++++------- man/get_indicators.Rd | 90 ++++++++--------- man/get_indicators_code.Rd | 40 ++++---- man/get_indicators_code_data.Rd | 62 ++++++------ ...get_indicators_geographic_granularities.Rd | 30 +++--- man/get_indicators_geographical_values.Rd | 52 +++++----- man/get_indicators_subjects.Rd | 28 +++--- man/get_indicators_systems.Rd | 50 +++++----- man/get_indicators_systems_code.Rd | 40 ++++---- man/get_indicators_systems_code_instances.Rd | 98 +++++++++---------- ..._indicators_systems_code_instances_code.Rd | 48 ++++----- ...cators_systems_code_instances_code_data.Rd | 66 ++++++------- man/get_indicators_time_granularities.Rd | 30 +++--- ...get_structuralresources_categorisations.Rd | 56 +++++------ ...ucturalresources_categorisations_agency.Rd | 60 ++++++------ ...sources_categorisations_agency_resource.Rd | 66 ++++++------- ...categorisations_agency_resource_version.Rd | 48 ++++----- ...et_structuralresources_category_schemes.Rd | 56 +++++------ ...cturalresources_category_schemes_agency.Rd | 60 ++++++------ ...ources_category_schemes_agency_resource.Rd | 66 ++++++------- ...ategory_schemes_agency_resource_version.Rd | 52 +++++----- ...emes_agency_resource_version_categories.Rd | 77 ++++++++------- ...s_agency_resource_version_categories_id.Rd | 64 ++++++------ ...t_structuralresources_codelist_families.Rd | 54 +++++----- ...tructuralresources_codelist_families_id.Rd | 32 +++--- man/get_structuralresources_codelists.Rd | 54 +++++----- ...et_structuralresources_codelists_agency.Rd | 64 ++++++------ ...uralresources_codelists_agency_resource.Rd | 70 ++++++------- ...urces_codelists_agency_resource_version.Rd | 48 ++++----- ...codelists_agency_resource_version_codes.Rd | 96 +++++++++--------- ...ts_agency_resource_version_codes_codeid.Rd | 58 +++++------ ...get_structuralresources_concept_schemes.Rd | 56 +++++------ ...ucturalresources_concept_schemes_agency.Rd | 62 ++++++------ ...sources_concept_schemes_agency_resource.Rd | 70 ++++++------- ...concept_schemes_agency_resource_version.Rd | 52 +++++----- ...chemes_agency_resource_version_concepts.Rd | 76 +++++++------- ...mes_agency_resource_version_concepts_id.Rd | 58 +++++------ man/get_structuralresources_concept_types.Rd | 26 ++--- ...structuralresources_content_constraints.Rd | 56 +++++------ ...ralresources_content_constraints_agency.Rd | 60 ++++++------ ...ces_content_constraints_agency_resource.Rd | 66 ++++++------- ...ent_constraints_agency_resource_version.Rd | 48 ++++----- ...traints_agency_resource_version_regions.Rd | 58 +++++------ ...get_structuralresources_data_structures.Rd | 56 +++++------ ...ucturalresources_data_structures_agency.Rd | 60 ++++++------ ...sources_data_structures_agency_resource.Rd | 66 ++++++------- ...data_structures_agency_resource_version.Rd | 48 ++++----- man/get_structuralresources_geoinfo.Rd | 72 +++++++------- ...t_structuralresources_variable_families.Rd | 54 +++++----- ...tructuralresources_variable_families_id.Rd | 32 +++--- ...esources_variable_families_id_variables.Rd | 60 ++++++------ ...et_structuralresources_variableelements.Rd | 60 ++++++------ ...uralresources_variableelements_resource.Rd | 38 +++---- man/get_structuralresources_variables.Rd | 54 +++++----- man/get_structuralresources_variables_id.Rd | 32 +++--- 58 files changed, 1647 insertions(+), 1646 deletions(-) diff --git a/man/get_datasets.Rd b/man/get_datasets.Rd index b3a8a8b..b2c22ad 100644 --- a/man/get_datasets.Rd +++ b/man/get_datasets.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/statistical_resources_cubes.R -\name{get_datasets} -\alias{get_datasets} -\title{Get datasets} -\usage{ -get_datasets(lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) -} -\arguments{ -\item{lang}{(string) Language in which you want to get the answer.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} - -\item{query}{(string) Metadata query on which the searches can be built.} -} -\description{ -This function allows consulting all existing statistical data cubes. -} -\examples{ -get_datasets() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/statistical_resources_cubes.R +\name{get_datasets} +\alias{get_datasets} +\title{Get datasets} +\usage{ +get_datasets(lang = "es", limit = 25, offset = 0, orderBy = NULL, query = NULL) +} +\arguments{ +\item{lang}{(string) Language in which you want to get the answer.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} + +\item{query}{(string) Metadata query on which the searches can be built.} +} +\description{ +This function allows consulting all existing statistical data cubes. +} +\examples{ +get_datasets() } diff --git a/man/get_datasets_agency.Rd b/man/get_datasets_agency.Rd index 6d7a525..553e129 100644 --- a/man/get_datasets_agency.Rd +++ b/man/get_datasets_agency.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/statistical_resources_cubes.R -\name{get_datasets_agency} -\alias{get_datasets_agency} -\title{Get datasets (agencyID)} -\usage{ -get_datasets_agency( - agencyID, - lang = "es", - limit = 25, - offset = 0, - orderBy = NULL, - query = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} - -\item{lang}{(string) Language in which you want to get the answer.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} - -\item{query}{(string) Metadata query on which the searches can be built.} -} -\description{ -This function allows to consult all the data sets maintained by a certain organization. -} -\examples{ -get_datasets_agency(agencyID = "ISTAC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/statistical_resources_cubes.R +\name{get_datasets_agency} +\alias{get_datasets_agency} +\title{Get datasets (agencyID)} +\usage{ +get_datasets_agency( + agencyID, + lang = "es", + limit = 25, + offset = 0, + orderBy = NULL, + query = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} + +\item{lang}{(string) Language in which you want to get the answer.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} + +\item{query}{(string) Metadata query on which the searches can be built.} +} +\description{ +This function allows to consult all the data sets maintained by a certain organization. +} +\examples{ +get_datasets_agency(agencyID = "ISTAC") } diff --git a/man/get_datasets_agency_resource.Rd b/man/get_datasets_agency_resource.Rd index 991725a..40c3d80 100644 --- a/man/get_datasets_agency_resource.Rd +++ b/man/get_datasets_agency_resource.Rd @@ -1,37 +1,37 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/statistical_resources_cubes.R -\name{get_datasets_agency_resource} -\alias{get_datasets_agency_resource} -\title{Get datasets (agencyID / resourceID)} -\usage{ -get_datasets_agency_resource( - agencyID, - resourceID, - lang = "es", - limit = 25, - offset = 0, - orderBy = NULL, - query = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} - -\item{resourceID}{(string) Resource identifier. A possible value is \code{C00010A_000002}.} - -\item{lang}{(string) Language in which you want to get the answer.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} - -\item{query}{(string) Metadata query on which the searches can be built.} -} -\description{ -This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. -} -\examples{ -get_datasets_agency_resource(agencyID = "ISTAC", resourceID = "C00010A_000002") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/statistical_resources_cubes.R +\name{get_datasets_agency_resource} +\alias{get_datasets_agency_resource} +\title{Get datasets (agencyID / resourceID)} +\usage{ +get_datasets_agency_resource( + agencyID, + resourceID, + lang = "es", + limit = 25, + offset = 0, + orderBy = NULL, + query = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} + +\item{resourceID}{(string) Resource identifier. A possible value is \code{C00010A_000002}.} + +\item{lang}{(string) Language in which you want to get the answer.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{orderBy}{(string) Order. Possible values are \code{ID ASC} or \code{ID DESC},} + +\item{query}{(string) Metadata query on which the searches can be built.} +} +\description{ +This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. +} +\examples{ +get_datasets_agency_resource(agencyID = "ISTAC", resourceID = "C00010A_000002") } diff --git a/man/get_datasets_agency_resource_version.Rd b/man/get_datasets_agency_resource_version.Rd index cb952d6..eaa52e2 100644 --- a/man/get_datasets_agency_resource_version.Rd +++ b/man/get_datasets_agency_resource_version.Rd @@ -1,37 +1,37 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/statistical_resources_cubes.R -\name{get_datasets_agency_resource_version} -\alias{get_datasets_agency_resource_version} -\title{Get datasets (agencyID / resourceID / version)} -\usage{ -get_datasets_agency_resource_version( - agencyID, - resourceID, - version, - dim = NULL, - fields = NULL, - lang = "es" -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} - -\item{resourceID}{(string) Resource identifier. A possible value is \code{C00010A_000002}.} - -\item{version}{(string) Resource version. A possible value is \code{001.000}.} - -\item{dim}{(string) Allows filtering the data obtained in the response. A example is \code{TIME_PERIOD:2009|2010}.} - -\item{fields}{(string) Allows you to customize the response by excluding fields from it. The possible values are \code{-metadata} and \code{-data}.} - -\item{lang}{(string) Language in which you want to get the answer.} -} -\description{ -This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. -} -\examples{ -get_datasets_agency_resource_version( - agencyID = "ISTAC", resourceID = "C00010A_000002", version = "001.000", - fields = "-data,-metadata" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/statistical_resources_cubes.R +\name{get_datasets_agency_resource_version} +\alias{get_datasets_agency_resource_version} +\title{Get datasets (agencyID / resourceID / version)} +\usage{ +get_datasets_agency_resource_version( + agencyID, + resourceID, + version, + dim = NULL, + fields = NULL, + lang = "es" +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the maintainer organization of the resource. A possible value is \code{ISTAC}.} + +\item{resourceID}{(string) Resource identifier. A possible value is \code{C00010A_000002}.} + +\item{version}{(string) Resource version. A possible value is \code{001.000}.} + +\item{dim}{(string) Allows filtering the data obtained in the response. A example is \code{TIME_PERIOD:2009|2010}.} + +\item{fields}{(string) Allows you to customize the response by excluding fields from it. The possible values are \code{-metadata} and \code{-data}.} + +\item{lang}{(string) Language in which you want to get the answer.} +} +\description{ +This function allows to obtain all the versions of a statistical cube with a certain identifier and that also maintains a certain organization. +} +\examples{ +get_datasets_agency_resource_version( + agencyID = "ISTAC", resourceID = "C00010A_000002", version = "001.000", + fields = "-data,-metadata" +) } diff --git a/man/get_indicators.Rd b/man/get_indicators.Rd index 9c585ca..3e066d0 100644 --- a/man/get_indicators.Rd +++ b/man/get_indicators.Rd @@ -1,45 +1,45 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators.R -\name{get_indicators} -\alias{get_indicators} -\title{Get indicators} -\usage{ -get_indicators( - q = NULL, - order = NULL, - limit = 25, - offset = 0, - fields = NULL, - representation = NULL -) -} -\arguments{ -\item{q}{(string) Metadata query on which the searches can be built using: -\code{id}, \code{subjectCode} or \code{geographicValue}.} - -\item{order}{(string) Order. Possible values are: \code{update} and -\code{id} and order criteria are \code{ASC} and \code{DESC}.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{fields}{(string) Use of the answer by adding new fields. -Possible values are: \code{+metadata}, \code{+data} and \code{+observationsMetadata}.} - -\item{representation}{(string) Allows filtering the observations by their value. -Its use only makes sense when \code{+data} and/or \code{+observationsMetadata} has been included.} -} -\description{ -This function returns a list of indicators published in the - ISTAC-indicators database. An indicator is a measure used to know the - intensity of a phenomenon in spacetime. This measure can refer to - different spatial or temporal granularities. -} -\examples{ -indicators <- get_indicators( - q = 'id IN ("AFILIACIONES", "EMPLEO_REGISTRADO_AGRICULTURA")', - order = "id ASC", fields = "+data", representation = - "GEOGRAPHICAL[35003|35005],MEASURE[ABSOLUTE]" -) -} +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators.R +\name{get_indicators} +\alias{get_indicators} +\title{Get indicators} +\usage{ +get_indicators( + q = NULL, + order = NULL, + limit = 25, + offset = 0, + fields = NULL, + representation = NULL +) +} +\arguments{ +\item{q}{(string) Metadata query on which the searches can be built using: +\code{id}, \code{subjectCode} or \code{geographicValue}.} + +\item{order}{(string) Order. Possible values are: \code{update} and +\code{id} and order criteria are \code{ASC} and \code{DESC}.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{fields}{(string) Use of the answer by adding new fields. +Possible values are: \code{+metadata}, \code{+data} and \code{+observationsMetadata}.} + +\item{representation}{(string) Allows filtering the observations by their value. +Its use only makes sense when \code{+data} and/or \code{+observationsMetadata} has been included.} +} +\description{ +This function returns a list of indicators published in the + ISTAC-indicators database. An indicator is a measure used to know the + intensity of a phenomenon in spacetime. This measure can refer to + different spatial or temporal granularities. +} +\examples{ +indicators <- get_indicators( + q = 'id IN ("AFILIACIONES", "EMPLEO_REGISTRADO_AGRICULTURA")', + order = "id ASC", fields = "+data", representation = + "GEOGRAPHICAL[35003|35005],MEASURE[ABSOLUTE]" +) +} diff --git a/man/get_indicators_code.Rd b/man/get_indicators_code.Rd index d70ab2b..71d9e0c 100644 --- a/man/get_indicators_code.Rd +++ b/man/get_indicators_code.Rd @@ -1,21 +1,21 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators.R -\name{get_indicators_code} -\alias{get_indicators_code} -\title{Get indicators code} -\usage{ -get_indicators_code(indicatorCode) -} -\arguments{ -\item{indicatorCode}{(string) an indicator code} -} -\description{ -This function returns the metadata that describe the characteristics - of a specific indicator, allowing the compression of the measured fact; - also through the data request the complete data (for all spacetime) of the - indicator is provided. -} -\examples{ -get_indicators_code("AFILIACIONES") -get_indicators_code("PARO_REGISTRADO") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators.R +\name{get_indicators_code} +\alias{get_indicators_code} +\title{Get indicators code} +\usage{ +get_indicators_code(indicatorCode) +} +\arguments{ +\item{indicatorCode}{(string) an indicator code} +} +\description{ +This function returns the metadata that describe the characteristics + of a specific indicator, allowing the compression of the measured fact; + also through the data request the complete data (for all spacetime) of the + indicator is provided. +} +\examples{ +get_indicators_code("AFILIACIONES") +get_indicators_code("PARO_REGISTRADO") } diff --git a/man/get_indicators_code_data.Rd b/man/get_indicators_code_data.Rd index f8cb89a..5d9449e 100644 --- a/man/get_indicators_code_data.Rd +++ b/man/get_indicators_code_data.Rd @@ -1,32 +1,32 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators.R -\name{get_indicators_code_data} -\alias{get_indicators_code_data} -\title{Get indicators code data} -\usage{ -get_indicators_code_data( - indicatorCode, - representation = NULL, - granularity = NULL, - fields = NULL -) -} -\arguments{ -\item{indicatorCode}{(string) an indicator code} - -\item{representation}{(string) Allows filtering the observations by their value.} - -\item{granularity}{(string) Allows to filter the observations through the granularities of the same.} - -\item{fields}{(string) Allows you to customize the response by excluding fields. -The possible values are: \code{-observationsMetadata}.} -} -\description{ -This function returns complete data (for all spacetime) of the indicator. - On the other hand, metadata describing the characteristics of a specific - indicator are offered through the metadata request, allowing the compression - of the measured fact. -} -\examples{ -get_indicators_code_data("AFILIACIONES", fields = "-observationsMetadata") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators.R +\name{get_indicators_code_data} +\alias{get_indicators_code_data} +\title{Get indicators code data} +\usage{ +get_indicators_code_data( + indicatorCode, + representation = NULL, + granularity = NULL, + fields = NULL +) +} +\arguments{ +\item{indicatorCode}{(string) an indicator code} + +\item{representation}{(string) Allows filtering the observations by their value.} + +\item{granularity}{(string) Allows to filter the observations through the granularities of the same.} + +\item{fields}{(string) Allows you to customize the response by excluding fields. +The possible values are: \code{-observationsMetadata}.} +} +\description{ +This function returns complete data (for all spacetime) of the indicator. + On the other hand, metadata describing the characteristics of a specific + indicator are offered through the metadata request, allowing the compression + of the measured fact. +} +\examples{ +get_indicators_code_data("AFILIACIONES", fields = "-observationsMetadata") } diff --git a/man/get_indicators_geographic_granularities.Rd b/man/get_indicators_geographic_granularities.Rd index 627e2fa..ff4f95e 100644 --- a/man/get_indicators_geographic_granularities.Rd +++ b/man/get_indicators_geographic_granularities.Rd @@ -1,16 +1,16 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_auxiliary_value_tables.R -\name{get_indicators_geographic_granularities} -\alias{get_indicators_geographic_granularities} -\title{Get geographic granularities} -\usage{ -get_indicators_geographic_granularities() -} -\description{ -This function returns a list of geographic granularities treated - in the ISTAC-indicators database. For example provincial, insular or - municipal granularity. -} -\examples{ -get_indicators_geographic_granularities() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_auxiliary_value_tables.R +\name{get_indicators_geographic_granularities} +\alias{get_indicators_geographic_granularities} +\title{Get geographic granularities} +\usage{ +get_indicators_geographic_granularities() +} +\description{ +This function returns a list of geographic granularities treated + in the ISTAC-indicators database. For example provincial, insular or + municipal granularity. +} +\examples{ +get_indicators_geographic_granularities() } diff --git a/man/get_indicators_geographical_values.Rd b/man/get_indicators_geographical_values.Rd index 22261c9..43a28f3 100644 --- a/man/get_indicators_geographical_values.Rd +++ b/man/get_indicators_geographical_values.Rd @@ -1,27 +1,27 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_auxiliary_value_tables.R -\name{get_indicators_geographical_values} -\alias{get_indicators_geographical_values} -\title{Get geographical values} -\usage{ -get_indicators_geographical_values( - geographicalGranularityCode, - subjectCode = NULL, - systemCode = NULL -) -} -\arguments{ -\item{geographicalGranularityCode}{(string) geographical granularity code} - -\item{subjectCode}{(string) subject code} - -\item{systemCode}{(string) system code} -} -\description{ -This function returns values of a geographical granularity that - in turn are part of a specific theme or system of indicators. -} -\examples{ -get_indicators_geographical_values("REGIONS") -get_indicators_geographical_values("REGIONS", subjectCode = "051", systemCode = "C00067A") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_auxiliary_value_tables.R +\name{get_indicators_geographical_values} +\alias{get_indicators_geographical_values} +\title{Get geographical values} +\usage{ +get_indicators_geographical_values( + geographicalGranularityCode, + subjectCode = NULL, + systemCode = NULL +) +} +\arguments{ +\item{geographicalGranularityCode}{(string) geographical granularity code} + +\item{subjectCode}{(string) subject code} + +\item{systemCode}{(string) system code} +} +\description{ +This function returns values of a geographical granularity that + in turn are part of a specific theme or system of indicators. +} +\examples{ +get_indicators_geographical_values("REGIONS") +get_indicators_geographical_values("REGIONS", subjectCode = "051", systemCode = "C00067A") } diff --git a/man/get_indicators_subjects.Rd b/man/get_indicators_subjects.Rd index 318fc7a..da91064 100644 --- a/man/get_indicators_subjects.Rd +++ b/man/get_indicators_subjects.Rd @@ -1,15 +1,15 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_auxiliary_value_tables.R -\name{get_indicators_subjects} -\alias{get_indicators_subjects} -\title{Get subjects} -\usage{ -get_indicators_subjects() -} -\description{ -This function returns all subjects which the ISTAC classifies - its statistical operations. -} -\examples{ -get_indicators_subjects() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_auxiliary_value_tables.R +\name{get_indicators_subjects} +\alias{get_indicators_subjects} +\title{Get subjects} +\usage{ +get_indicators_subjects() +} +\description{ +This function returns all subjects which the ISTAC classifies + its statistical operations. +} +\examples{ +get_indicators_subjects() } diff --git a/man/get_indicators_systems.Rd b/man/get_indicators_systems.Rd index db1af68..31a58c0 100644 --- a/man/get_indicators_systems.Rd +++ b/man/get_indicators_systems.Rd @@ -1,26 +1,26 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators_systems.R -\name{get_indicators_systems} -\alias{get_indicators_systems} -\title{Get indicators systems} -\usage{ -get_indicators_systems(limit = 25, offset = 0) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} -} -\description{ -This function returns a list of indicator systems published in - the ISTAC-indicators database. The indicators are simple or compound - statistics, however a single indicator can rarely provide useful - information about complex phenomena such as the economic situation, - living conditions, schooling or others. Indicator systems are generally - designed to generate more and more accurate information about the - conditions of a phenomenon; and for this they are organized in dimensions - or areas of analysis, under which the indicators are integrated. -} -\examples{ -get_indicators_systems() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators_systems.R +\name{get_indicators_systems} +\alias{get_indicators_systems} +\title{Get indicators systems} +\usage{ +get_indicators_systems(limit = 25, offset = 0) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} +} +\description{ +This function returns a list of indicator systems published in + the ISTAC-indicators database. The indicators are simple or compound + statistics, however a single indicator can rarely provide useful + information about complex phenomena such as the economic situation, + living conditions, schooling or others. Indicator systems are generally + designed to generate more and more accurate information about the + conditions of a phenomenon; and for this they are organized in dimensions + or areas of analysis, under which the indicators are integrated. +} +\examples{ +get_indicators_systems() } diff --git a/man/get_indicators_systems_code.Rd b/man/get_indicators_systems_code.Rd index fde9ec2..733e7a8 100644 --- a/man/get_indicators_systems_code.Rd +++ b/man/get_indicators_systems_code.Rd @@ -1,21 +1,21 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators_systems.R -\name{get_indicators_systems_code} -\alias{get_indicators_systems_code} -\title{Get indicators system code} -\usage{ -get_indicators_systems_code(indicatorSystemCode) -} -\arguments{ -\item{indicatorSystemCode}{(string) an indicator system code} -} -\description{ -This function returns metadata of a system of indicators - published in the ISTAC-indicators database. The indicators are simple or - compound statistics, however a single indicator can rarely provide useful - information about complex phenomena such as the economic situation, living - conditions, schooling or others. -} -\examples{ -get_indicators_systems_code("C00075H") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators_systems.R +\name{get_indicators_systems_code} +\alias{get_indicators_systems_code} +\title{Get indicators system code} +\usage{ +get_indicators_systems_code(indicatorSystemCode) +} +\arguments{ +\item{indicatorSystemCode}{(string) an indicator system code} +} +\description{ +This function returns metadata of a system of indicators + published in the ISTAC-indicators database. The indicators are simple or + compound statistics, however a single indicator can rarely provide useful + information about complex phenomena such as the economic situation, living + conditions, schooling or others. +} +\examples{ +get_indicators_systems_code("C00075H") } diff --git a/man/get_indicators_systems_code_instances.Rd b/man/get_indicators_systems_code_instances.Rd index 1fa4944..a26a1cd 100644 --- a/man/get_indicators_systems_code_instances.Rd +++ b/man/get_indicators_systems_code_instances.Rd @@ -1,50 +1,50 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators_systems.R -\name{get_indicators_systems_code_instances} -\alias{get_indicators_systems_code_instances} -\title{Get indicators system code instances} -\usage{ -get_indicators_systems_code_instances( - indicatorSystemCode, - q = NULL, - order = NULL, - limit = 25, - offset = 0, - fields = NULL, - representation = NULL, - granularity = NULL -) -} -\arguments{ -\item{indicatorSystemCode}{(string) with an indicator system code} - -\item{q}{(string) Query of metadata on which the searches can be built are: -\code{id} and \code{geographicalValue}.} - -\item{order}{(string) Order. Possible values are: \code{update} and -\code{id} and order criteria are \code{ASC} and \code{DESC}.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{fields}{(string) Use of the answer by adding new fields. -Possible values are: \code{+metadata}, \code{+data} and \code{+observationsMetadata}.} - -\item{representation}{(string) Allows filtering the observations by their value. -Its use only makes sense when \code{+data} and/or \code{+observationsMetadata} has been included.} - -\item{granularity}{(string) Allows to filter the observations through the -granularities of the same. Its use only makes sense when \code{+data} and/or -\code{+observationsMetadata} has been included.} -} -\description{ -This function returns instances of indicators associated - with a specific indicator system. An instance of an indicator is nothing - more than a spatio-temporal query of an indicator when it is incorporated - into a specific indicator system. -} -\examples{ -get_indicators_systems_code_instances("C00075H") -get_indicators_systems_code_instances("C00075H", q = 'id EQ "INDICADORES_MUNICIPALES"') +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators_systems.R +\name{get_indicators_systems_code_instances} +\alias{get_indicators_systems_code_instances} +\title{Get indicators system code instances} +\usage{ +get_indicators_systems_code_instances( + indicatorSystemCode, + q = NULL, + order = NULL, + limit = 25, + offset = 0, + fields = NULL, + representation = NULL, + granularity = NULL +) +} +\arguments{ +\item{indicatorSystemCode}{(string) with an indicator system code} + +\item{q}{(string) Query of metadata on which the searches can be built are: +\code{id} and \code{geographicalValue}.} + +\item{order}{(string) Order. Possible values are: \code{update} and +\code{id} and order criteria are \code{ASC} and \code{DESC}.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{fields}{(string) Use of the answer by adding new fields. +Possible values are: \code{+metadata}, \code{+data} and \code{+observationsMetadata}.} + +\item{representation}{(string) Allows filtering the observations by their value. +Its use only makes sense when \code{+data} and/or \code{+observationsMetadata} has been included.} + +\item{granularity}{(string) Allows to filter the observations through the +granularities of the same. Its use only makes sense when \code{+data} and/or +\code{+observationsMetadata} has been included.} +} +\description{ +This function returns instances of indicators associated + with a specific indicator system. An instance of an indicator is nothing + more than a spatio-temporal query of an indicator when it is incorporated + into a specific indicator system. +} +\examples{ +get_indicators_systems_code_instances("C00075H") +get_indicators_systems_code_instances("C00075H", q = 'id EQ "INDICADORES_MUNICIPALES"') } diff --git a/man/get_indicators_systems_code_instances_code.Rd b/man/get_indicators_systems_code_instances_code.Rd index e32e5db..8d87d48 100644 --- a/man/get_indicators_systems_code_instances_code.Rd +++ b/man/get_indicators_systems_code_instances_code.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators_systems.R -\name{get_indicators_systems_code_instances_code} -\alias{get_indicators_systems_code_instances_code} -\title{Get indicators system code instances code} -\usage{ -get_indicators_systems_code_instances_code( - indicatorSystemCode, - indicatorInstanceCode -) -} -\arguments{ -\item{indicatorSystemCode}{(string) indicator system code} - -\item{indicatorInstanceCode}{(string) indicator instance code} -} -\description{ -This function returns metadata of an indicator set associated - with a specific indicator system. An instance of an indicator is nothing - more than a spatio-temporal query of an indicator when it is incorporated - into a specific indicator system. -} -\examples{ -get_indicators_systems_code_instances_code("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators_systems.R +\name{get_indicators_systems_code_instances_code} +\alias{get_indicators_systems_code_instances_code} +\title{Get indicators system code instances code} +\usage{ +get_indicators_systems_code_instances_code( + indicatorSystemCode, + indicatorInstanceCode +) +} +\arguments{ +\item{indicatorSystemCode}{(string) indicator system code} + +\item{indicatorInstanceCode}{(string) indicator instance code} +} +\description{ +This function returns metadata of an indicator set associated + with a specific indicator system. An instance of an indicator is nothing + more than a spatio-temporal query of an indicator when it is incorporated + into a specific indicator system. +} +\examples{ +get_indicators_systems_code_instances_code("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") } diff --git a/man/get_indicators_systems_code_instances_code_data.Rd b/man/get_indicators_systems_code_instances_code_data.Rd index 86c01f4..619992a 100644 --- a/man/get_indicators_systems_code_instances_code_data.Rd +++ b/man/get_indicators_systems_code_instances_code_data.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_indicators_systems.R -\name{get_indicators_systems_code_instances_code_data} -\alias{get_indicators_systems_code_instances_code_data} -\title{Get indicators system code instances code data} -\usage{ -get_indicators_systems_code_instances_code_data( - indicatorSystemCode, - indicatorInstanceCode, - representation = NULL, - granularity = NULL, - fields = NULL -) -} -\arguments{ -\item{indicatorSystemCode}{(string) Indicator system code} - -\item{indicatorInstanceCode}{(string) Indicator instance code} - -\item{representation}{(string) Allows filtering the observations by their value.} - -\item{granularity}{(string) Allows to filter the observations through the granularities of the same.} - -\item{fields}{(string) Allows you to customize the response by excluding fields. The possible values are: \code{-observationsMetadata}.} -} -\description{ -This function returns data of an indicator unit associated with - a specific indicator system. An instance of an indicator is nothing more - than a spatio-temporal query of an indicator when it is incorporated into - a specific indicator system. -} -\examples{ -get_indicators_systems_code_instances_code_data("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_indicators_systems.R +\name{get_indicators_systems_code_instances_code_data} +\alias{get_indicators_systems_code_instances_code_data} +\title{Get indicators system code instances code data} +\usage{ +get_indicators_systems_code_instances_code_data( + indicatorSystemCode, + indicatorInstanceCode, + representation = NULL, + granularity = NULL, + fields = NULL +) +} +\arguments{ +\item{indicatorSystemCode}{(string) Indicator system code} + +\item{indicatorInstanceCode}{(string) Indicator instance code} + +\item{representation}{(string) Allows filtering the observations by their value.} + +\item{granularity}{(string) Allows to filter the observations through the granularities of the same.} + +\item{fields}{(string) Allows you to customize the response by excluding fields. The possible values are: \code{-observationsMetadata}.} +} +\description{ +This function returns data of an indicator unit associated with + a specific indicator system. An instance of an indicator is nothing more + than a spatio-temporal query of an indicator when it is incorporated into + a specific indicator system. +} +\examples{ +get_indicators_systems_code_instances_code_data("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") } diff --git a/man/get_indicators_time_granularities.Rd b/man/get_indicators_time_granularities.Rd index 4d911b6..3488b93 100644 --- a/man/get_indicators_time_granularities.Rd +++ b/man/get_indicators_time_granularities.Rd @@ -1,16 +1,16 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/indicators_auxiliary_value_tables.R -\name{get_indicators_time_granularities} -\alias{get_indicators_time_granularities} -\title{Get time granularities} -\usage{ -get_indicators_time_granularities() -} -\description{ -This function returns a list of temporary granularity treated - in the ISTAC data bank-indicators ordered from highest to lowest granularity. - For example annual, quarterly or monthly granularity. -} -\examples{ -get_indicators_time_granularities() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/indicators_auxiliary_value_tables.R +\name{get_indicators_time_granularities} +\alias{get_indicators_time_granularities} +\title{Get time granularities} +\usage{ +get_indicators_time_granularities() +} +\description{ +This function returns a list of temporary granularity treated + in the ISTAC data bank-indicators ordered from highest to lowest granularity. + For example annual, quarterly or monthly granularity. +} +\examples{ +get_indicators_time_granularities() } diff --git a/man/get_structuralresources_categorisations.Rd b/man/get_structuralresources_categorisations.Rd index 8a60c34..ca3e29d 100644 --- a/man/get_structuralresources_categorisations.Rd +++ b/man/get_structuralresources_categorisations.Rd @@ -1,29 +1,29 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_categorisations} -\alias{get_structuralresources_categorisations} -\title{Get categorisations} -\usage{ -get_structuralresources_categorisations( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations -} -\examples{ -get_structuralresources_categorisations() -get_structuralresources_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_categorisations} +\alias{get_structuralresources_categorisations} +\title{Get categorisations} +\usage{ +get_structuralresources_categorisations( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categorisations +} +\examples{ +get_structuralresources_categorisations() +get_structuralresources_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_categorisations_agency.Rd b/man/get_structuralresources_categorisations_agency.Rd index e610920..4a55606 100644 --- a/man/get_structuralresources_categorisations_agency.Rd +++ b/man/get_structuralresources_categorisations_agency.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_categorisations_agency} -\alias{get_structuralresources_categorisations_agency} -\title{Get categorisations agency} -\usage{ -get_structuralresources_categorisations_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID} -} -\examples{ -get_structuralresources_categorisations_agency("ISTAC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_categorisations_agency} +\alias{get_structuralresources_categorisations_agency} +\title{Get categorisations agency} +\usage{ +get_structuralresources_categorisations_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categorisations/{agencyID} +} +\examples{ +get_structuralresources_categorisations_agency("ISTAC") } diff --git a/man/get_structuralresources_categorisations_agency_resource.Rd b/man/get_structuralresources_categorisations_agency_resource.Rd index 895b862..65c3d1f 100644 --- a/man/get_structuralresources_categorisations_agency_resource.Rd +++ b/man/get_structuralresources_categorisations_agency_resource.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_categorisations_agency_resource} -\alias{get_structuralresources_categorisations_agency_resource} -\title{Get categorisations agency resource} -\usage{ -get_structuralresources_categorisations_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID} -} -\examples{ -get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_categorisations_agency_resource} +\alias{get_structuralresources_categorisations_agency_resource} +\title{Get categorisations agency resource} +\usage{ +get_structuralresources_categorisations_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID} +} +\examples{ +get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") } diff --git a/man/get_structuralresources_categorisations_agency_resource_version.Rd b/man/get_structuralresources_categorisations_agency_resource_version.Rd index a9685da..1a11282 100644 --- a/man/get_structuralresources_categorisations_agency_resource_version.Rd +++ b/man/get_structuralresources_categorisations_agency_resource_version.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_categorisations_agency_resource_version} -\alias{get_structuralresources_categorisations_agency_resource_version} -\title{Get categorisations agency resource version} -\usage{ -get_structuralresources_categorisations_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID}/{version} -} -\examples{ -get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_categorisations_agency_resource_version} +\alias{get_structuralresources_categorisations_agency_resource_version} +\title{Get categorisations agency resource version} +\usage{ +get_structuralresources_categorisations_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID}/{version} +} +\examples{ +get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") } diff --git a/man/get_structuralresources_category_schemes.Rd b/man/get_structuralresources_category_schemes.Rd index 1e2e3db..c516af3 100644 --- a/man/get_structuralresources_category_schemes.Rd +++ b/man/get_structuralresources_category_schemes.Rd @@ -1,29 +1,29 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes} -\alias{get_structuralresources_category_schemes} -\title{Get category schemes} -\usage{ -get_structuralresources_category_schemes( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes -} -\examples{ -get_structuralresources_category_schemes() -get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes} +\alias{get_structuralresources_category_schemes} +\title{Get category schemes} +\usage{ +get_structuralresources_category_schemes( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categoryschemes +} +\examples{ +get_structuralresources_category_schemes() +get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_category_schemes_agency.Rd b/man/get_structuralresources_category_schemes_agency.Rd index ca76243..1822d02 100644 --- a/man/get_structuralresources_category_schemes_agency.Rd +++ b/man/get_structuralresources_category_schemes_agency.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes_agency} -\alias{get_structuralresources_category_schemes_agency} -\title{Get category schemes agency} -\usage{ -get_structuralresources_category_schemes_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID} -} -\examples{ -get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes_agency} +\alias{get_structuralresources_category_schemes_agency} +\title{Get category schemes agency} +\usage{ +get_structuralresources_category_schemes_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categoryschemes/{agencyID} +} +\examples{ +get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_category_schemes_agency_resource.Rd b/man/get_structuralresources_category_schemes_agency_resource.Rd index 066abaa..70ed28b 100644 --- a/man/get_structuralresources_category_schemes_agency_resource.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes_agency_resource} -\alias{get_structuralresources_category_schemes_agency_resource} -\title{Get category schemes agency resource} -\usage{ -get_structuralresources_category_schemes_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID} -} -\examples{ -get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes_agency_resource} +\alias{get_structuralresources_category_schemes_agency_resource} +\title{Get category schemes agency resource} +\usage{ +get_structuralresources_category_schemes_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID} +} +\examples{ +get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") } diff --git a/man/get_structuralresources_category_schemes_agency_resource_version.Rd b/man/get_structuralresources_category_schemes_agency_resource_version.Rd index 1698712..255d781 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version.Rd @@ -1,27 +1,27 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes_agency_resource_version} -\alias{get_structuralresources_category_schemes_agency_resource_version} -\title{Get category schemes agency resource version} -\usage{ -get_structuralresources_category_schemes_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version} -} -\examples{ -get_structuralresources_category_schemes_agency_resource_version( - "ISTAC", "TEMAS_CANARIAS", "01.000" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes_agency_resource_version} +\alias{get_structuralresources_category_schemes_agency_resource_version} +\title{Get category schemes agency resource version} +\usage{ +get_structuralresources_category_schemes_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version} +} +\examples{ +get_structuralresources_category_schemes_agency_resource_version( + "ISTAC", "TEMAS_CANARIAS", "01.000" +) } diff --git a/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd b/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd index 383e7d8..e118901 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd @@ -1,39 +1,40 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes_agency_resource_version_categories} -\alias{get_structuralresources_category_schemes_agency_resource_version_categories} -\title{Get category schemes agency resource version categories} -\usage{ -get_structuralresources_category_schemes_agency_resource_version_categories( - agencyID, - resourceID, - version, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories -} -\examples{ -get_structuralresources_category_schemes_agency_resource_version_categories( - "ISTAC", "TEMAS_CANARIAS", "01.000", limit = 10 -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes_agency_resource_version_categories} +\alias{get_structuralresources_category_schemes_agency_resource_version_categories} +\title{Get category schemes agency resource version categories} +\usage{ +get_structuralresources_category_schemes_agency_resource_version_categories( + agencyID, + resourceID, + version, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories +} +\examples{ +get_structuralresources_category_schemes_agency_resource_version_categories( + "ISTAC", "TEMAS_CANARIAS", "01.000", + limit = 10 +) } diff --git a/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd b/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd index 53fafb5..942575b 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd @@ -1,33 +1,33 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_structuralresources_category_schemes_agency_resource_version_categories_id} -\alias{get_structuralresources_category_schemes_agency_resource_version_categories_id} -\title{Get category schemes agency resource version categories (id)} -\usage{ -get_structuralresources_category_schemes_agency_resource_version_categories_id( - agencyID, - resourceID, - version, - categoryID -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{categoryID}{(string)} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories/{categoryID} -} -\examples{ -get_structuralresources_category_schemes_agency_resource_version_categories_id( - "ISTAC", "TEMAS_CANARIAS", "01.000", "060" -) -get_structuralresources_category_schemes_agency_resource_version_categories_id( - "ISTAC", "TEMAS_CANARIAS", "01.000", "060.060_010.060_010_010" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_category.R +\name{get_structuralresources_category_schemes_agency_resource_version_categories_id} +\alias{get_structuralresources_category_schemes_agency_resource_version_categories_id} +\title{Get category schemes agency resource version categories (id)} +\usage{ +get_structuralresources_category_schemes_agency_resource_version_categories_id( + agencyID, + resourceID, + version, + categoryID +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} + +\item{categoryID}{(string)} +} +\description{ +This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories/{categoryID} +} +\examples{ +get_structuralresources_category_schemes_agency_resource_version_categories_id( + "ISTAC", "TEMAS_CANARIAS", "01.000", "060" +) +get_structuralresources_category_schemes_agency_resource_version_categories_id( + "ISTAC", "TEMAS_CANARIAS", "01.000", "060.060_010.060_010_010" +) } diff --git a/man/get_structuralresources_codelist_families.Rd b/man/get_structuralresources_codelist_families.Rd index 4216dc8..ec18cb8 100644 --- a/man/get_structuralresources_codelist_families.Rd +++ b/man/get_structuralresources_codelist_families.Rd @@ -1,28 +1,28 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelist_families} -\alias{get_structuralresources_codelist_families} -\title{Get codelist families} -\usage{ -get_structuralresources_codelist_families( - limit = 25, - offset = 0, - orderBy = NULL, - query = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{orderBy}{(string) Field by which to sort the results.} - -\item{query}{(string) Query to filter the results.} -} -\description{ -This function returns the list of families of classifications -} -\examples{ -get_structuralresources_codelist_families() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelist_families} +\alias{get_structuralresources_codelist_families} +\title{Get codelist families} +\usage{ +get_structuralresources_codelist_families( + limit = 25, + offset = 0, + orderBy = NULL, + query = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{orderBy}{(string) Field by which to sort the results.} + +\item{query}{(string) Query to filter the results.} +} +\description{ +This function returns the list of families of classifications +} +\examples{ +get_structuralresources_codelist_families() } diff --git a/man/get_structuralresources_codelist_families_id.Rd b/man/get_structuralresources_codelist_families_id.Rd index beddee2..cbcc5da 100644 --- a/man/get_structuralresources_codelist_families_id.Rd +++ b/man/get_structuralresources_codelist_families_id.Rd @@ -1,17 +1,17 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelist_families_id} -\alias{get_structuralresources_codelist_families_id} -\title{Get codelist families} -\usage{ -get_structuralresources_codelist_families_id(id = NULL) -} -\arguments{ -\item{id}{(string) codelist family identificator} -} -\description{ -This function allows to obtain a family of classifications in particular. -} -\examples{ -get_structuralresources_codelist_families_id() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelist_families_id} +\alias{get_structuralresources_codelist_families_id} +\title{Get codelist families} +\usage{ +get_structuralresources_codelist_families_id(id = NULL) +} +\arguments{ +\item{id}{(string) codelist family identificator} +} +\description{ +This function allows to obtain a family of classifications in particular. +} +\examples{ +get_structuralresources_codelist_families_id() } diff --git a/man/get_structuralresources_codelists.Rd b/man/get_structuralresources_codelists.Rd index 4235bff..89cab46 100644 --- a/man/get_structuralresources_codelists.Rd +++ b/man/get_structuralresources_codelists.Rd @@ -1,28 +1,28 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists} -\alias{get_structuralresources_codelists} -\title{Get codelists} -\usage{ -get_structuralresources_codelists( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows to obtain the list of classifications. -} -\examples{ -get_structuralresources_codelists() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists} +\alias{get_structuralresources_codelists} +\title{Get codelists} +\usage{ +get_structuralresources_codelists( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function allows to obtain the list of classifications. +} +\examples{ +get_structuralresources_codelists() } diff --git a/man/get_structuralresources_codelists_agency.Rd b/man/get_structuralresources_codelists_agency.Rd index 891ecd4..106019f 100644 --- a/man/get_structuralresources_codelists_agency.Rd +++ b/man/get_structuralresources_codelists_agency.Rd @@ -1,33 +1,33 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists_agency} -\alias{get_structuralresources_codelists_agency} -\title{Get codelists agency} -\usage{ -get_structuralresources_codelists_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows obtaining the list of all the classifications - maintained by a certain organization. -} -\examples{ -get_structuralresources_codelists_agency("ISTAC") -get_structuralresources_codelists_agency("ESTAT") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists_agency} +\alias{get_structuralresources_codelists_agency} +\title{Get codelists agency} +\usage{ +get_structuralresources_codelists_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Agency identificator.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function allows obtaining the list of all the classifications + maintained by a certain organization. +} +\examples{ +get_structuralresources_codelists_agency("ISTAC") +get_structuralresources_codelists_agency("ESTAT") } diff --git a/man/get_structuralresources_codelists_agency_resource.Rd b/man/get_structuralresources_codelists_agency_resource.Rd index 58fe6d2..a7d7723 100644 --- a/man/get_structuralresources_codelists_agency_resource.Rd +++ b/man/get_structuralresources_codelists_agency_resource.Rd @@ -1,36 +1,36 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists_agency_resource} -\alias{get_structuralresources_codelists_agency_resource} -\title{Get codelists agency resource} -\usage{ -get_structuralresources_codelists_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows to obtain all the versions of a - classification with a certain identifier and that is also kept by a - certain organization. -} -\examples{ -get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists_agency_resource} +\alias{get_structuralresources_codelists_agency_resource} +\title{Get codelists agency resource} +\usage{ +get_structuralresources_codelists_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Agency identificator.} + +\item{resourceID}{(string) Resource identificator.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function allows to obtain all the versions of a + classification with a certain identifier and that is also kept by a + certain organization. +} +\examples{ +get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") } diff --git a/man/get_structuralresources_codelists_agency_resource_version.Rd b/man/get_structuralresources_codelists_agency_resource_version.Rd index 1941b30..655ea88 100644 --- a/man/get_structuralresources_codelists_agency_resource_version.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists_agency_resource_version} -\alias{get_structuralresources_codelists_agency_resource_version} -\title{Get codelists agency resource version} -\usage{ -get_structuralresources_codelists_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} -} -\description{ -This function allows you to consult a particular version of a classification. -} -\examples{ -get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists_agency_resource_version} +\alias{get_structuralresources_codelists_agency_resource_version} +\title{Get codelists agency resource version} +\usage{ +get_structuralresources_codelists_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Agency identificator.} + +\item{resourceID}{(string) Resource identificator.} + +\item{version}{(string) Specific resource version.} +} +\description{ +This function allows you to consult a particular version of a classification. +} +\examples{ +get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") } diff --git a/man/get_structuralresources_codelists_agency_resource_version_codes.Rd b/man/get_structuralresources_codelists_agency_resource_version_codes.Rd index 0da63ca..8f571b4 100644 --- a/man/get_structuralresources_codelists_agency_resource_version_codes.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version_codes.Rd @@ -1,49 +1,49 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists_agency_resource_version_codes} -\alias{get_structuralresources_codelists_agency_resource_version_codes} -\title{Get codelists agency resource version codes} -\usage{ -get_structuralresources_codelists_agency_resource_version_codes( - agencyID, - resourceID, - version, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL, - openness = NULL, - order = NULL, - fields = NULL -) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} - -\item{openness}{(string) Opening established for viewing.} - -\item{order}{(string) Order established for visualization.} - -\item{fields}{(string) Additional fields that you want to show in the answer.} -} -\description{ -This function allows to consult the codes of a version of a - classification. Note that if wildcards are used as \code{~all} or one of the - \code{limit}, \code{offset}, \code{query} or \code{orderBy} parameters, - the list will be automatically paginated. -} -\examples{ -get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists_agency_resource_version_codes} +\alias{get_structuralresources_codelists_agency_resource_version_codes} +\title{Get codelists agency resource version codes} +\usage{ +get_structuralresources_codelists_agency_resource_version_codes( + agencyID, + resourceID, + version, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL, + openness = NULL, + order = NULL, + fields = NULL +) +} +\arguments{ +\item{agencyID}{(string) Agency identificator.} + +\item{resourceID}{(string) Resource identificator.} + +\item{version}{(string) Specific resource version.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} + +\item{openness}{(string) Opening established for viewing.} + +\item{order}{(string) Order established for visualization.} + +\item{fields}{(string) Additional fields that you want to show in the answer.} +} +\description{ +This function allows to consult the codes of a version of a + classification. Note that if wildcards are used as \code{~all} or one of the + \code{limit}, \code{offset}, \code{query} or \code{orderBy} parameters, + the list will be automatically paginated. +} +\examples{ +get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") } diff --git a/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd b/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd index 7cc920a..b1a46cf 100644 --- a/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd @@ -1,30 +1,30 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_structuralresources_codelists_agency_resource_version_codes_codeid} -\alias{get_structuralresources_codelists_agency_resource_version_codes_codeid} -\title{Get codelists agency resource version codes (codeID)} -\usage{ -get_structuralresources_codelists_agency_resource_version_codes_codeid( - agencyID, - resourceID, - version, - codeID -) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} - -\item{codeID}{(string) Code identificator.} -} -\description{ -This function allows to consult a specific code of a version of a classification. -} -\examples{ -get_structuralresources_codelists_agency_resource_version_codes_codeid( - "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_classifications.R +\name{get_structuralresources_codelists_agency_resource_version_codes_codeid} +\alias{get_structuralresources_codelists_agency_resource_version_codes_codeid} +\title{Get codelists agency resource version codes (codeID)} +\usage{ +get_structuralresources_codelists_agency_resource_version_codes_codeid( + agencyID, + resourceID, + version, + codeID +) +} +\arguments{ +\item{agencyID}{(string) Agency identificator.} + +\item{resourceID}{(string) Resource identificator.} + +\item{version}{(string) Specific resource version.} + +\item{codeID}{(string) Code identificator.} +} +\description{ +This function allows to consult a specific code of a version of a classification. +} +\examples{ +get_structuralresources_codelists_agency_resource_version_codes_codeid( + "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" +) } diff --git a/man/get_structuralresources_concept_schemes.Rd b/man/get_structuralresources_concept_schemes.Rd index b8d2408..592e9aa 100644 --- a/man/get_structuralresources_concept_schemes.Rd +++ b/man/get_structuralresources_concept_schemes.Rd @@ -1,29 +1,29 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes} -\alias{get_structuralresources_concept_schemes} -\title{Get concept schemes} -\usage{ -get_structuralresources_concept_schemes( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes -} -\examples{ -get_structuralresources_concept_schemes() -get_structuralresources_concept_schemes(query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes} +\alias{get_structuralresources_concept_schemes} +\title{Get concept schemes} +\usage{ +get_structuralresources_concept_schemes( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/conceptschemes +} +\examples{ +get_structuralresources_concept_schemes() +get_structuralresources_concept_schemes(query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_concept_schemes_agency.Rd b/man/get_structuralresources_concept_schemes_agency.Rd index 9b58c33..aef0e18 100644 --- a/man/get_structuralresources_concept_schemes_agency.Rd +++ b/man/get_structuralresources_concept_schemes_agency.Rd @@ -1,32 +1,32 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes_agency} -\alias{get_structuralresources_concept_schemes_agency} -\title{Get concept schemes agency} -\usage{ -get_structuralresources_concept_schemes_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID} -} -\examples{ -get_structuralresources_concept_schemes_agency("ISTAC") -get_structuralresources_concept_schemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes_agency} +\alias{get_structuralresources_concept_schemes_agency} +\title{Get concept schemes agency} +\usage{ +get_structuralresources_concept_schemes_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/conceptschemes/{agencyID} +} +\examples{ +get_structuralresources_concept_schemes_agency("ISTAC") +get_structuralresources_concept_schemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_concept_schemes_agency_resource.Rd b/man/get_structuralresources_concept_schemes_agency_resource.Rd index 368f9fe..71f528b 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource.Rd @@ -1,36 +1,36 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes_agency_resource} -\alias{get_structuralresources_concept_schemes_agency_resource} -\title{Get concept schemes agency resource} -\usage{ -get_structuralresources_concept_schemes_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID} -} -\examples{ -get_structuralresources_concept_schemes_agency_resource( - agencyID = "ISTAC", resourceID = "CL_AREA_ES" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes_agency_resource} +\alias{get_structuralresources_concept_schemes_agency_resource} +\title{Get concept schemes agency resource} +\usage{ +get_structuralresources_concept_schemes_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID} +} +\examples{ +get_structuralresources_concept_schemes_agency_resource( + agencyID = "ISTAC", resourceID = "CL_AREA_ES" +) } diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version.Rd index a41f1a6..5db6387 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version.Rd @@ -1,27 +1,27 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes_agency_resource_version} -\alias{get_structuralresources_concept_schemes_agency_resource_version} -\title{Get concept schemes agency resource version} -\usage{ -get_structuralresources_concept_schemes_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version} -} -\examples{ -get_structuralresources_concept_schemes_agency_resource_version( - agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes_agency_resource_version} +\alias{get_structuralresources_concept_schemes_agency_resource_version} +\title{Get concept schemes agency resource version} +\usage{ +get_structuralresources_concept_schemes_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version} +} +\examples{ +get_structuralresources_concept_schemes_agency_resource_version( + agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000" +) } diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd index 8ed15c1..8401c99 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd @@ -1,39 +1,39 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes_agency_resource_version_concepts} -\alias{get_structuralresources_concept_schemes_agency_resource_version_concepts} -\title{Get concept schemes agency resource version concepts} -\usage{ -get_structuralresources_concept_schemes_agency_resource_version_concepts( - agencyID, - resourceID, - version, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts -} -\examples{ -get_structuralresources_concept_schemes_agency_resource_version_concepts( - agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes_agency_resource_version_concepts} +\alias{get_structuralresources_concept_schemes_agency_resource_version_concepts} +\title{Get concept schemes agency resource version concepts} +\usage{ +get_structuralresources_concept_schemes_agency_resource_version_concepts( + agencyID, + resourceID, + version, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts +} +\examples{ +get_structuralresources_concept_schemes_agency_resource_version_concepts( + agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000" +) } diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd index 9b40819..5733fdd 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd @@ -1,30 +1,30 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_schemes_agency_resource_version_concepts_id} -\alias{get_structuralresources_concept_schemes_agency_resource_version_concepts_id} -\title{Get concept schemes agency resource version concepts (id)} -\usage{ -get_structuralresources_concept_schemes_agency_resource_version_concepts_id( - agencyID, - resourceID, - version, - conceptID -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{conceptID}{(string) Concept identifier.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts/{conceptID} -} -\examples{ -get_structuralresources_concept_schemes_agency_resource_version_concepts_id( - agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0 -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_schemes_agency_resource_version_concepts_id} +\alias{get_structuralresources_concept_schemes_agency_resource_version_concepts_id} +\title{Get concept schemes agency resource version concepts (id)} +\usage{ +get_structuralresources_concept_schemes_agency_resource_version_concepts_id( + agencyID, + resourceID, + version, + conceptID +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} + +\item{conceptID}{(string) Concept identifier.} +} +\description{ +This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts/{conceptID} +} +\examples{ +get_structuralresources_concept_schemes_agency_resource_version_concepts_id( + agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0 +) } diff --git a/man/get_structuralresources_concept_types.Rd b/man/get_structuralresources_concept_types.Rd index 8339264..16fb945 100644 --- a/man/get_structuralresources_concept_types.Rd +++ b/man/get_structuralresources_concept_types.Rd @@ -1,14 +1,14 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_structuralresources_concept_types} -\alias{get_structuralresources_concept_types} -\title{Get concept types} -\usage{ -get_structuralresources_concept_types() -} -\description{ -This function returns the content from /v1.0/conceptTypes -} -\examples{ -get_structuralresources_concept_types() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_concepts.R +\name{get_structuralresources_concept_types} +\alias{get_structuralresources_concept_types} +\title{Get concept types} +\usage{ +get_structuralresources_concept_types() +} +\description{ +This function returns the content from /v1.0/conceptTypes +} +\examples{ +get_structuralresources_concept_types() } diff --git a/man/get_structuralresources_content_constraints.Rd b/man/get_structuralresources_content_constraints.Rd index e5e9ec7..7f9db07 100644 --- a/man/get_structuralresources_content_constraints.Rd +++ b/man/get_structuralresources_content_constraints.Rd @@ -1,29 +1,29 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_content_constraints} -\alias{get_structuralresources_content_constraints} -\title{Get content constraints} -\usage{ -get_structuralresources_content_constraints( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints -} -\examples{ -get_structuralresources_content_constraints() -get_structuralresources_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_content_constraints} +\alias{get_structuralresources_content_constraints} +\title{Get content constraints} +\usage{ +get_structuralresources_content_constraints( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/contentConstraints +} +\examples{ +get_structuralresources_content_constraints() +get_structuralresources_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_content_constraints_agency.Rd b/man/get_structuralresources_content_constraints_agency.Rd index d00180a..0a93705 100644 --- a/man/get_structuralresources_content_constraints_agency.Rd +++ b/man/get_structuralresources_content_constraints_agency.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_content_constraints_agency} -\alias{get_structuralresources_content_constraints_agency} -\title{Get content constraints agency} -\usage{ -get_structuralresources_content_constraints_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID} -} -\examples{ -get_structuralresources_content_constraints_agency("ISTAC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_content_constraints_agency} +\alias{get_structuralresources_content_constraints_agency} +\title{Get content constraints agency} +\usage{ +get_structuralresources_content_constraints_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/contentConstraints/{agencyID} +} +\examples{ +get_structuralresources_content_constraints_agency("ISTAC") } diff --git a/man/get_structuralresources_content_constraints_agency_resource.Rd b/man/get_structuralresources_content_constraints_agency_resource.Rd index 9c5efe9..97d43a0 100644 --- a/man/get_structuralresources_content_constraints_agency_resource.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_content_constraints_agency_resource} -\alias{get_structuralresources_content_constraints_agency_resource} -\title{Get content constraints agency resource} -\usage{ -get_structuralresources_content_constraints_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID} -} -\examples{ -get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_content_constraints_agency_resource} +\alias{get_structuralresources_content_constraints_agency_resource} +\title{Get content constraints agency resource} +\usage{ +get_structuralresources_content_constraints_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID} +} +\examples{ +get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") } diff --git a/man/get_structuralresources_content_constraints_agency_resource_version.Rd b/man/get_structuralresources_content_constraints_agency_resource_version.Rd index ec7849a..fea1b87 100644 --- a/man/get_structuralresources_content_constraints_agency_resource_version.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource_version.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_content_constraints_agency_resource_version} -\alias{get_structuralresources_content_constraints_agency_resource_version} -\title{Get content constraints agency resource version} -\usage{ -get_structuralresources_content_constraints_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version} -} -\examples{ -get_structuralresources_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_content_constraints_agency_resource_version} +\alias{get_structuralresources_content_constraints_agency_resource_version} +\title{Get content constraints agency resource version} +\usage{ +get_structuralresources_content_constraints_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version} +} +\examples{ +get_structuralresources_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") } diff --git a/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd b/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd index 3c2aef0..bdd2fc8 100644 --- a/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd @@ -1,30 +1,30 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_content_constraints_agency_resource_version_regions} -\alias{get_structuralresources_content_constraints_agency_resource_version_regions} -\title{Get content constraints agency resource version regions} -\usage{ -get_structuralresources_content_constraints_agency_resource_version_regions( - regionCode, - agencyID, - resourceID, - version -) -} -\arguments{ -\item{regionCode}{(string) Region code.} - -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version}/regions/{regionCode} -} -\examples{ -get_structuralresources_content_constraints_agency_resource_version_regions( - "0001", "ISTAC", "CL_AREA", "01.000" -) +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_content_constraints_agency_resource_version_regions} +\alias{get_structuralresources_content_constraints_agency_resource_version_regions} +\title{Get content constraints agency resource version regions} +\usage{ +get_structuralresources_content_constraints_agency_resource_version_regions( + regionCode, + agencyID, + resourceID, + version +) +} +\arguments{ +\item{regionCode}{(string) Region code.} + +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version}/regions/{regionCode} +} +\examples{ +get_structuralresources_content_constraints_agency_resource_version_regions( + "0001", "ISTAC", "CL_AREA", "01.000" +) } diff --git a/man/get_structuralresources_data_structures.Rd b/man/get_structuralresources_data_structures.Rd index 436f5fc..e1104f3 100644 --- a/man/get_structuralresources_data_structures.Rd +++ b/man/get_structuralresources_data_structures.Rd @@ -1,29 +1,29 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_data_structures} -\alias{get_structuralresources_data_structures} -\title{Get data structures} -\usage{ -get_structuralresources_data_structures( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures -} -\examples{ -get_structuralresources_data_structures() -get_structuralresources_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_data_structures} +\alias{get_structuralresources_data_structures} +\title{Get data structures} +\usage{ +get_structuralresources_data_structures( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/datastructures +} +\examples{ +get_structuralresources_data_structures() +get_structuralresources_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") } diff --git a/man/get_structuralresources_data_structures_agency.Rd b/man/get_structuralresources_data_structures_agency.Rd index 4f5124c..ba3dd82 100644 --- a/man/get_structuralresources_data_structures_agency.Rd +++ b/man/get_structuralresources_data_structures_agency.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_data_structures_agency} -\alias{get_structuralresources_data_structures_agency} -\title{Get data structures agency} -\usage{ -get_structuralresources_data_structures_agency( - agencyID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID} -} -\examples{ -get_structuralresources_data_structures_agency("ISTAC") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_data_structures_agency} +\alias{get_structuralresources_data_structures_agency} +\title{Get data structures agency} +\usage{ +get_structuralresources_data_structures_agency( + agencyID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/datastructures/{agencyID} +} +\examples{ +get_structuralresources_data_structures_agency("ISTAC") } diff --git a/man/get_structuralresources_data_structures_agency_resource.Rd b/man/get_structuralresources_data_structures_agency_resource.Rd index b430ddc..dacb7e4 100644 --- a/man/get_structuralresources_data_structures_agency_resource.Rd +++ b/man/get_structuralresources_data_structures_agency_resource.Rd @@ -1,34 +1,34 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_data_structures_agency_resource} -\alias{get_structuralresources_data_structures_agency_resource} -\title{Get data structures agency resource} -\usage{ -get_structuralresources_data_structures_agency_resource( - agencyID, - resourceID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID} -} -\examples{ -get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_data_structures_agency_resource} +\alias{get_structuralresources_data_structures_agency_resource} +\title{Get data structures agency resource} +\usage{ +get_structuralresources_data_structures_agency_resource( + agencyID, + resourceID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID} +} +\examples{ +get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") } diff --git a/man/get_structuralresources_data_structures_agency_resource_version.Rd b/man/get_structuralresources_data_structures_agency_resource_version.Rd index 8639fb3..a945e86 100644 --- a/man/get_structuralresources_data_structures_agency_resource_version.Rd +++ b/man/get_structuralresources_data_structures_agency_resource_version.Rd @@ -1,25 +1,25 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_structuralresources_data_structures_agency_resource_version} -\alias{get_structuralresources_data_structures_agency_resource_version} -\title{Get data structures agency resource version} -\usage{ -get_structuralresources_data_structures_agency_resource_version( - agencyID, - resourceID, - version -) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID}/{version} -} -\examples{ -get_structuralresources_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_datastructures.R +\name{get_structuralresources_data_structures_agency_resource_version} +\alias{get_structuralresources_data_structures_agency_resource_version} +\title{Get data structures agency resource version} +\usage{ +get_structuralresources_data_structures_agency_resource_version( + agencyID, + resourceID, + version +) +} +\arguments{ +\item{agencyID}{(string) Identifier of the agency that publishes.} + +\item{resourceID}{(string) Resource identifier.} + +\item{version}{(string) Specific version of the resource.} +} +\description{ +This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID}/{version} +} +\examples{ +get_structuralresources_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") } diff --git a/man/get_structuralresources_geoinfo.Rd b/man/get_structuralresources_geoinfo.Rd index d6913c1..6ae28e8 100644 --- a/man/get_structuralresources_geoinfo.Rd +++ b/man/get_structuralresources_geoinfo.Rd @@ -1,37 +1,37 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_geoinfo} -\alias{get_structuralresources_geoinfo} -\title{Get geoinfo} -\usage{ -get_structuralresources_geoinfo( - variableID, - resourceID, - fields = NULL, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{fields}{(string) Additional fields that you want to show in the answer.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID}/geoinfo -} -\examples{ -geoinfo <- get_structuralresources_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_geoinfo} +\alias{get_structuralresources_geoinfo} +\title{Get geoinfo} +\usage{ +get_structuralresources_geoinfo( + variableID, + resourceID, + fields = NULL, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{variableID}{(string) Variable identificator.} + +\item{resourceID}{(string) Resource identificator.} + +\item{fields}{(string) Additional fields that you want to show in the answer.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID}/geoinfo +} +\examples{ +geoinfo <- get_structuralresources_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") } diff --git a/man/get_structuralresources_variable_families.Rd b/man/get_structuralresources_variable_families.Rd index 121edef..3352862 100644 --- a/man/get_structuralresources_variable_families.Rd +++ b/man/get_structuralresources_variable_families.Rd @@ -1,28 +1,28 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variable_families} -\alias{get_structuralresources_variable_families} -\title{Get variable families} -\usage{ -get_structuralresources_variable_families( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variablefamilies -} -\examples{ -get_structuralresources_variable_families() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variable_families} +\alias{get_structuralresources_variable_families} +\title{Get variable families} +\usage{ +get_structuralresources_variable_families( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns data from /v1.0/variablefamilies +} +\examples{ +get_structuralresources_variable_families() } diff --git a/man/get_structuralresources_variable_families_id.Rd b/man/get_structuralresources_variable_families_id.Rd index 0485f19..cd69235 100644 --- a/man/get_structuralresources_variable_families_id.Rd +++ b/man/get_structuralresources_variable_families_id.Rd @@ -1,17 +1,17 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variable_families_id} -\alias{get_structuralresources_variable_families_id} -\title{Get variable families (id)} -\usage{ -get_structuralresources_variable_families_id(id) -} -\arguments{ -\item{id}{(string) Variable family identificator.} -} -\description{ -This function returns data from /v1.0/variablefamilies/{id} -} -\examples{ -get_structuralresources_variable_families_id("VRF_DEMOGRAFICAS") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variable_families_id} +\alias{get_structuralresources_variable_families_id} +\title{Get variable families (id)} +\usage{ +get_structuralresources_variable_families_id(id) +} +\arguments{ +\item{id}{(string) Variable family identificator.} +} +\description{ +This function returns data from /v1.0/variablefamilies/{id} +} +\examples{ +get_structuralresources_variable_families_id("VRF_DEMOGRAFICAS") } diff --git a/man/get_structuralresources_variable_families_id_variables.Rd b/man/get_structuralresources_variable_families_id_variables.Rd index 0009986..3ebba8f 100644 --- a/man/get_structuralresources_variable_families_id_variables.Rd +++ b/man/get_structuralresources_variable_families_id_variables.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variable_families_id_variables} -\alias{get_structuralresources_variable_families_id_variables} -\title{Get variable families (id) variables} -\usage{ -get_structuralresources_variable_families_id_variables( - id, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{id}{(string) Variable family identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variablefamilies/{id}/variables -} -\examples{ -get_structuralresources_variable_families_id_variables("VRF_DEMOGRAFICAS") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variable_families_id_variables} +\alias{get_structuralresources_variable_families_id_variables} +\title{Get variable families (id) variables} +\usage{ +get_structuralresources_variable_families_id_variables( + id, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{id}{(string) Variable family identificator.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns data from /v1.0/variablefamilies/{id}/variables +} +\examples{ +get_structuralresources_variable_families_id_variables("VRF_DEMOGRAFICAS") } diff --git a/man/get_structuralresources_variableelements.Rd b/man/get_structuralresources_variableelements.Rd index 7f564b7..f7add64 100644 --- a/man/get_structuralresources_variableelements.Rd +++ b/man/get_structuralresources_variableelements.Rd @@ -1,31 +1,31 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variableelements} -\alias{get_structuralresources_variableelements} -\title{Get variableelements} -\usage{ -get_structuralresources_variableelements( - variableID, - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements -} -\examples{ -get_structuralresources_variableelements("VR_SEXO") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variableelements} +\alias{get_structuralresources_variableelements} +\title{Get variableelements} +\usage{ +get_structuralresources_variableelements( + variableID, + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{variableID}{(string) Variable identificator.} + +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns data from /v1.0/variables/{variableID}/variableelements +} +\examples{ +get_structuralresources_variableelements("VR_SEXO") } diff --git a/man/get_structuralresources_variableelements_resource.Rd b/man/get_structuralresources_variableelements_resource.Rd index 0f8f90c..8369dd7 100644 --- a/man/get_structuralresources_variableelements_resource.Rd +++ b/man/get_structuralresources_variableelements_resource.Rd @@ -1,20 +1,20 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variableelements_resource} -\alias{get_structuralresources_variableelements_resource} -\title{Get variableelements resource} -\usage{ -get_structuralresources_variableelements_resource(variableID, resourceID) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{resourceID}{(string) Resource identificator.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID} -} -\examples{ -get_structuralresources_variableelements_resource("VR_SEXO", "FEMALE") -get_structuralresources_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variableelements_resource} +\alias{get_structuralresources_variableelements_resource} +\title{Get variableelements resource} +\usage{ +get_structuralresources_variableelements_resource(variableID, resourceID) +} +\arguments{ +\item{variableID}{(string) Variable identificator.} + +\item{resourceID}{(string) Resource identificator.} +} +\description{ +This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID} +} +\examples{ +get_structuralresources_variableelements_resource("VR_SEXO", "FEMALE") +get_structuralresources_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") } diff --git a/man/get_structuralresources_variables.Rd b/man/get_structuralresources_variables.Rd index e959a3c..3b3df27 100644 --- a/man/get_structuralresources_variables.Rd +++ b/man/get_structuralresources_variables.Rd @@ -1,28 +1,28 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variables} -\alias{get_structuralresources_variables} -\title{Get variables} -\usage{ -get_structuralresources_variables( - limit = 25, - offset = 0, - query = NULL, - orderBy = NULL -) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables -} -\examples{ -get_structuralresources_variables() +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variables} +\alias{get_structuralresources_variables} +\title{Get variables} +\usage{ +get_structuralresources_variables( + limit = 25, + offset = 0, + query = NULL, + orderBy = NULL +) +} +\arguments{ +\item{limit}{(int) Results limit. By default \code{limit = 25}.} + +\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} + +\item{query}{(string) Query to filter the results.} + +\item{orderBy}{(string) Field by which to sort the results.} +} +\description{ +This function returns data from /v1.0/variables +} +\examples{ +get_structuralresources_variables() } diff --git a/man/get_structuralresources_variables_id.Rd b/man/get_structuralresources_variables_id.Rd index ded42bc..3463bf5 100644 --- a/man/get_structuralresources_variables_id.Rd +++ b/man/get_structuralresources_variables_id.Rd @@ -1,17 +1,17 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_structuralresources_variables_id} -\alias{get_structuralresources_variables_id} -\title{Get variables (id)} -\usage{ -get_structuralresources_variables_id(id) -} -\arguments{ -\item{id}{(string) Variable identificator.} -} -\description{ -This function returns data from /v1.0/variables/{id} -} -\examples{ -get_structuralresources_variables_id("VR_SEXO") +% Generated by roxygen2: do not edit by hand +% Please edit documentation in R/structural_resources_variables.R +\name{get_structuralresources_variables_id} +\alias{get_structuralresources_variables_id} +\title{Get variables (id)} +\usage{ +get_structuralresources_variables_id(id) +} +\arguments{ +\item{id}{(string) Variable identificator.} +} +\description{ +This function returns data from /v1.0/variables/{id} +} +\examples{ +get_structuralresources_variables_id("VR_SEXO") } From 5067767c5a5728b56bfc34b31ec2e6644903e38a Mon Sep 17 00:00:00 2001 From: jlopezper Date: Mon, 25 Jan 2021 23:55:50 +0100 Subject: [PATCH 08/12] update readme --- README.Rmd | 2 ++ README.md | 16 ++++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/README.Rmd b/README.Rmd index bb39cc9..deca6c8 100644 --- a/README.Rmd +++ b/README.Rmd @@ -16,6 +16,8 @@ knitr::opts_chunk$set( # istacr +[![R build status](https://github.com/jlopezper/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) +[![Codecov test coverage](https://codecov.io/gh/jlopezper/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) The goal of `istacr` is to provide a wrapper to the [ISTAC api catalog](https://www3.gobiernodecanarias.org/aplicaciones/appsistac/api), allowing the user to obtain the open data from R. diff --git a/README.md b/README.md index 41c2f23..179f3e0 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,10 @@ +[![R build +status](https://github.com/jlopezper/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) +[![Codecov test +coverage](https://codecov.io/gh/jlopezper/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) The goal of `istacr` is to provide a wrapper to the [ISTAC api @@ -50,7 +54,7 @@ str(tst, max.level = 1) #> $ kind : chr "indicators#indicators" #> $ limit : int 25 #> $ offset : int 0 -#> $ total : int 207 +#> $ total : int 211 #> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=0" #> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=25" #> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/indicators/v1.0/indicators?order&fields&representation&limit=25&offset=200" @@ -136,12 +140,12 @@ str(tst, max.level = 1) #> List of 8 #> $ dataset :'data.frame': 25 obs. of 5 variables: #> $ kind : chr "statisticalResources#datasets" -#> $ total : int 347 +#> $ total : int 357 #> $ limit : int 25 #> $ offset : int 0 #> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=0" #> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=25" -#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=325" +#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=350" ``` Only those from a specific maintainer: @@ -152,12 +156,12 @@ str(tst, max.level = 1) #> List of 8 #> $ dataset :'data.frame': 25 obs. of 5 variables: #> $ kind : chr "statisticalResources#datasets" -#> $ total : int 347 +#> $ total : int 357 #> $ limit : int 25 #> $ offset : int 0 #> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=0" #> $ nextLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=25" -#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=325" +#> $ lastLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=350" ``` ### Structural resources @@ -205,7 +209,7 @@ tst$codelist #> 3 Clasificación de Abandono de Cultivo, es structuralResources#codelist ``` -## Documentation +## Further information Please find the latest documentation on [CRAN](https://cran.r-project.org/web/packages/istacr/istacr.pdf). In From 131d3c957c4d1da9c7bd4ad1c9aa9023d47d9a87 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Mon, 25 Jan 2021 23:56:32 +0100 Subject: [PATCH 09/12] add code coverage and github actions --- .Rbuildignore | 8 +- .github/.gitignore | 1 + .github/workflows/R-CMD-check.yaml | 84 +++++++++++++++++++ DESCRIPTION | 37 ++++---- NAMESPACE | 2 +- codecov.yml | 14 ++++ istacr.Rproj | 46 +++++----- man/get_categorisations.Rd | 25 ------ man/get_categorisations_agency.Rd | 26 ------ man/get_categorisations_agency_resource.Rd | 28 ------- ...categorisations_agency_resource_version.Rd | 21 ----- man/get_category_schemes.Rd | 25 ------ man/get_codelist_families.Rd | 24 ------ man/get_codelist_families_id.Rd | 17 ---- man/get_codelists.Rd | 23 ----- man/get_codelists_agency.Rd | 28 ------- man/get_codelists_agency_resource.Rd | 30 ------- man/get_codelists_agency_resource_version.Rd | 21 ----- ...codelists_agency_resource_version_codes.Rd | 40 --------- ...ts_agency_resource_version_codes_codeid.Rd | 24 ------ man/get_concept_types.Rd | 14 ---- man/get_content_constraints.Rd | 25 ------ man/get_content_constraints_agency.Rd | 26 ------ ...get_content_constraints_agency_resource.Rd | 28 ------- ...ent_constraints_agency_resource_version.Rd | 22 ----- ...traints_agency_resource_version_regions.Rd | 24 ------ man/get_cschemes.Rd | 24 ------ man/get_cschemes_agency.Rd | 27 ------ man/get_cschemes_agency_res_ver_cn.Rd | 30 ------- man/get_cschemes_agency_resource.Rd | 28 ------- man/get_cschemes_agency_resource_ver.Rd | 21 ----- man/get_cschemes_id.Rd | 23 ----- man/get_data_structures.Rd | 25 ------ man/get_data_structures_agency.Rd | 26 ------ man/get_data_structures_agency_resource.Rd | 28 ------- ...data_structures_agency_resource_version.Rd | 21 ----- man/get_geoinfo.Rd | 30 ------- man/get_schemes_agency.Rd | 26 ------ man/get_schemes_agency_resource.Rd | 28 ------- man/get_schemes_agency_resource_version.Rd | 21 ----- ...emes_agency_resource_version_categories.Rd | 30 ------- ...s_agency_resource_version_categories_id.Rd | 24 ------ man/get_variable_families.Rd | 24 ------ man/get_variable_families_id.Rd | 17 ---- man/get_variable_families_id_variables.Rd | 26 ------ man/get_variableelements.Rd | 26 ------ man/get_variableelements_resource.Rd | 20 ----- man/get_variables.Rd | 23 ----- man/get_variables_id.Rd | 17 ---- 49 files changed, 148 insertions(+), 1080 deletions(-) create mode 100644 .github/.gitignore create mode 100644 .github/workflows/R-CMD-check.yaml create mode 100644 codecov.yml delete mode 100644 man/get_categorisations.Rd delete mode 100644 man/get_categorisations_agency.Rd delete mode 100644 man/get_categorisations_agency_resource.Rd delete mode 100644 man/get_categorisations_agency_resource_version.Rd delete mode 100644 man/get_category_schemes.Rd delete mode 100644 man/get_codelist_families.Rd delete mode 100644 man/get_codelist_families_id.Rd delete mode 100644 man/get_codelists.Rd delete mode 100644 man/get_codelists_agency.Rd delete mode 100644 man/get_codelists_agency_resource.Rd delete mode 100644 man/get_codelists_agency_resource_version.Rd delete mode 100644 man/get_codelists_agency_resource_version_codes.Rd delete mode 100644 man/get_codelists_agency_resource_version_codes_codeid.Rd delete mode 100644 man/get_concept_types.Rd delete mode 100644 man/get_content_constraints.Rd delete mode 100644 man/get_content_constraints_agency.Rd delete mode 100644 man/get_content_constraints_agency_resource.Rd delete mode 100644 man/get_content_constraints_agency_resource_version.Rd delete mode 100644 man/get_content_constraints_agency_resource_version_regions.Rd delete mode 100644 man/get_cschemes.Rd delete mode 100644 man/get_cschemes_agency.Rd delete mode 100644 man/get_cschemes_agency_res_ver_cn.Rd delete mode 100644 man/get_cschemes_agency_resource.Rd delete mode 100644 man/get_cschemes_agency_resource_ver.Rd delete mode 100644 man/get_cschemes_id.Rd delete mode 100644 man/get_data_structures.Rd delete mode 100644 man/get_data_structures_agency.Rd delete mode 100644 man/get_data_structures_agency_resource.Rd delete mode 100644 man/get_data_structures_agency_resource_version.Rd delete mode 100644 man/get_geoinfo.Rd delete mode 100644 man/get_schemes_agency.Rd delete mode 100644 man/get_schemes_agency_resource.Rd delete mode 100644 man/get_schemes_agency_resource_version.Rd delete mode 100644 man/get_schemes_agency_resource_version_categories.Rd delete mode 100644 man/get_schemes_agency_resource_version_categories_id.Rd delete mode 100644 man/get_variable_families.Rd delete mode 100644 man/get_variable_families_id.Rd delete mode 100644 man/get_variable_families_id_variables.Rd delete mode 100644 man/get_variableelements.Rd delete mode 100644 man/get_variableelements_resource.Rd delete mode 100644 man/get_variables.Rd delete mode 100644 man/get_variables_id.Rd diff --git a/.Rbuildignore b/.Rbuildignore index 7ae042c..9269c5a 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -1,3 +1,5 @@ -^.*\.Rproj$ -^\.Rproj\.user$ -^README\.Rmd$ +^.*\.Rproj$ +^\.Rproj\.user$ +^README\.Rmd$ +^\.github$ +^codecov\.yml$ diff --git a/.github/.gitignore b/.github/.gitignore new file mode 100644 index 0000000..2d19fc7 --- /dev/null +++ b/.github/.gitignore @@ -0,0 +1 @@ +*.html diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml new file mode 100644 index 0000000..e7bad16 --- /dev/null +++ b/.github/workflows/R-CMD-check.yaml @@ -0,0 +1,84 @@ +# For help debugging build failures open an issue on the RStudio community with the 'github-actions' tag. +# https://community.rstudio.com/new-topic?category=Package%20development&tags=github-actions +on: + push: + branches: + - main + - master + pull_request: + branches: + - main + - master + +name: R-CMD-check + +jobs: + R-CMD-check: + runs-on: ${{ matrix.config.os }} + + name: ${{ matrix.config.os }} (${{ matrix.config.r }}) + + strategy: + fail-fast: false + matrix: + config: + - {os: windows-latest, r: 'release'} + - {os: macOS-latest, r: 'release'} + - {os: ubuntu-20.04, r: 'release', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} + - {os: ubuntu-20.04, r: 'devel', rspm: "https://packagemanager.rstudio.com/cran/__linux__/focal/latest"} + + env: + R_REMOTES_NO_ERRORS_FROM_WARNINGS: true + RSPM: ${{ matrix.config.rspm }} + GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }} + + steps: + - uses: actions/checkout@v2 + + - uses: r-lib/actions/setup-r@v1 + with: + r-version: ${{ matrix.config.r }} + + - uses: r-lib/actions/setup-pandoc@v1 + + - name: Query dependencies + run: | + install.packages('remotes') + saveRDS(remotes::dev_package_deps(dependencies = TRUE), ".github/depends.Rds", version = 2) + writeLines(sprintf("R-%i.%i", getRversion()$major, getRversion()$minor), ".github/R-version") + shell: Rscript {0} + + - name: Cache R packages + if: runner.os != 'Windows' + uses: actions/cache@v2 + with: + path: ${{ env.R_LIBS_USER }} + key: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1-${{ hashFiles('.github/depends.Rds') }} + restore-keys: ${{ runner.os }}-${{ hashFiles('.github/R-version') }}-1- + + - name: Install system dependencies + if: runner.os == 'Linux' + run: | + while read -r cmd + do + eval sudo $cmd + done < <(Rscript -e 'writeLines(remotes::system_requirements("ubuntu", "20.04"))') + + - name: Install dependencies + run: | + remotes::install_deps(dependencies = TRUE) + remotes::install_cran("rcmdcheck") + shell: Rscript {0} + + - name: Check + env: + _R_CHECK_CRAN_INCOMING_REMOTE_: false + run: rcmdcheck::rcmdcheck(args = c("--no-manual", "--as-cran"), error_on = "warning", check_dir = "check") + shell: Rscript {0} + + - name: Upload check results + if: failure() + uses: actions/upload-artifact@main + with: + name: ${{ runner.os }}-r${{ matrix.config.r }}-results + path: check diff --git a/DESCRIPTION b/DESCRIPTION index d2174c7..1b53bed 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,17 +1,20 @@ -Package: istacr -Type: Package -Title: Obtaining Open Data from Instituto Canario De Estadistica (ISTAC) API -Version: 0.1.3 -Date: 2020-12-04 -Authors@R: c( - person("Alberto", "Gonzalez", email = "jgonyanp@gobiernodecanarias.org", role = c("aut", "cre")) - ) -Maintainer: Alberto Gonzalez -Description: You can access to open data published in Instituto Canario De Estadistica (ISTAC) APIs at . -License: GPL (>= 3) -Encoding: UTF-8 -LazyData: true -Imports: - jsonlite, - curl -RoxygenNote: 7.1.1 +Package: istacr +Type: Package +Title: Obtaining Open Data from Instituto Canario De Estadistica (ISTAC) API +Version: 0.1.3 +Date: 2020-12-04 +Authors@R: c( + person("Alberto", "Gonzalez", email = "jgonyanp@gobiernodecanarias.org", role = c("aut", "cre")) + ) +Maintainer: Alberto Gonzalez +Description: You can access to open data published in Instituto Canario De Estadistica (ISTAC) APIs at . +License: GPL (>= 3) +Encoding: UTF-8 +LazyData: true +Imports: + jsonlite, + curl +RoxygenNote: 7.1.1 +Suggests: + testthat, + covr diff --git a/NAMESPACE b/NAMESPACE index df0e578..7139cc6 100644 --- a/NAMESPACE +++ b/NAMESPACE @@ -1,4 +1,4 @@ -# Generated by roxygen2: do not edit by hand +# Generated by roxygen2: do not edit by hand export(get_datasets) export(get_datasets_agency) diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 0000000..04c5585 --- /dev/null +++ b/codecov.yml @@ -0,0 +1,14 @@ +comment: false + +coverage: + status: + project: + default: + target: auto + threshold: 1% + informational: true + patch: + default: + target: auto + threshold: 1% + informational: true diff --git a/istacr.Rproj b/istacr.Rproj index decba50..087ebeb 100644 --- a/istacr.Rproj +++ b/istacr.Rproj @@ -1,23 +1,23 @@ -Version: 1.0 - -RestoreWorkspace: Default -SaveWorkspace: Yes -AlwaysSaveHistory: Default - -EnableCodeIndexing: Yes -UseSpacesForTab: Yes -NumSpacesForTab: 2 -Encoding: UTF-8 - -RnwWeave: knitr -LaTeX: pdfLaTeX - -AutoAppendNewline: Yes -StripTrailingWhitespace: Yes - -BuildType: Package -PackageUseDevtools: Yes -PackageInstallArgs: --no-multiarch --with-keep.source -PackageCheckArgs: --as-cran -PackageRoxygenize: rd,collate,namespace,vignette -DisableExecuteRprofile: Yes +Version: 1.0 + +RestoreWorkspace: Default +SaveWorkspace: Yes +AlwaysSaveHistory: Default + +EnableCodeIndexing: Yes +UseSpacesForTab: Yes +NumSpacesForTab: 2 +Encoding: UTF-8 + +RnwWeave: knitr +LaTeX: pdfLaTeX + +AutoAppendNewline: Yes +StripTrailingWhitespace: Yes + +BuildType: Package +PackageUseDevtools: Yes +PackageInstallArgs: --no-multiarch --with-keep.source +PackageCheckArgs: --as-cran +PackageRoxygenize: rd,collate,namespace,vignette +DisableExecuteRprofile: Yes diff --git a/man/get_categorisations.Rd b/man/get_categorisations.Rd deleted file mode 100644 index 1cf14dd..0000000 --- a/man/get_categorisations.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_categorisations} -\alias{get_categorisations} -\title{Get categorisations} -\usage{ -get_categorisations(limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations -} -\examples{ -get_categorisations() -get_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_categorisations_agency.Rd b/man/get_categorisations_agency.Rd deleted file mode 100644 index 9729e8d..0000000 --- a/man/get_categorisations_agency.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_categorisations_agency} -\alias{get_categorisations_agency} -\title{Get categorisations agency} -\usage{ -get_categorisations_agency(agencyID, limit = 25, offset = 0, - query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID} -} -\examples{ -get_categorisations_agency("ISTAC") -} diff --git a/man/get_categorisations_agency_resource.Rd b/man/get_categorisations_agency_resource.Rd deleted file mode 100644 index c375bb1..0000000 --- a/man/get_categorisations_agency_resource.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_categorisations_agency_resource} -\alias{get_categorisations_agency_resource} -\title{Get categorisations agency resource} -\usage{ -get_categorisations_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID} -} -\examples{ -get_categorisations_agency_resource("ISTAC", "cat2") -} diff --git a/man/get_categorisations_agency_resource_version.Rd b/man/get_categorisations_agency_resource_version.Rd deleted file mode 100644 index 57c09a8..0000000 --- a/man/get_categorisations_agency_resource_version.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_categorisations_agency_resource_version} -\alias{get_categorisations_agency_resource_version} -\title{Get categorisations agency resource version} -\usage{ -get_categorisations_agency_resource_version(agencyID, resourceID, version) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/categorisations/{agencyID}/{resourceID}/{version} -} -\examples{ -get_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") -} diff --git a/man/get_category_schemes.Rd b/man/get_category_schemes.Rd deleted file mode 100644 index 04138ae..0000000 --- a/man/get_category_schemes.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_category_schemes} -\alias{get_category_schemes} -\title{Get category schemes} -\usage{ -get_category_schemes(limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes -} -\examples{ -get_category_schemes() -get_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_codelist_families.Rd b/man/get_codelist_families.Rd deleted file mode 100644 index dc1bfaf..0000000 --- a/man/get_codelist_families.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelist_families} -\alias{get_codelist_families} -\title{Get codelist families} -\usage{ -get_codelist_families(limit = 25, offset = 0, orderBy = NULL, - query = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{orderBy}{(string) Field by which to sort the results.} - -\item{query}{(string) Query to filter the results.} -} -\description{ -This function returns the list of families of classifications -} -\examples{ -get_codelist_families() -} diff --git a/man/get_codelist_families_id.Rd b/man/get_codelist_families_id.Rd deleted file mode 100644 index 10422a3..0000000 --- a/man/get_codelist_families_id.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelist_families_id} -\alias{get_codelist_families_id} -\title{Get codelist families} -\usage{ -get_codelist_families_id(id = NULL) -} -\arguments{ -\item{id}{(string) codelist family identificator} -} -\description{ -This function allows to obtain a family of classifications in particular. -} -\examples{ -get_codelist_families_id() -} diff --git a/man/get_codelists.Rd b/man/get_codelists.Rd deleted file mode 100644 index 10e9057..0000000 --- a/man/get_codelists.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists} -\alias{get_codelists} -\title{Get codelists} -\usage{ -get_codelists(limit = 25, offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows to obtain the list of classifications. -} -\examples{ -get_codelists() -} diff --git a/man/get_codelists_agency.Rd b/man/get_codelists_agency.Rd deleted file mode 100644 index 7be7358..0000000 --- a/man/get_codelists_agency.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists_agency} -\alias{get_codelists_agency} -\title{Get codelists agency} -\usage{ -get_codelists_agency(agencyID, limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows obtaining the list of all the classifications - maintained by a certain organization. -} -\examples{ -get_codelists_agency("ISTAC") -get_codelists_agency("ESTAT") -} diff --git a/man/get_codelists_agency_resource.Rd b/man/get_codelists_agency_resource.Rd deleted file mode 100644 index 29f6bf9..0000000 --- a/man/get_codelists_agency_resource.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists_agency_resource} -\alias{get_codelists_agency_resource} -\title{Get codelists agency resource} -\usage{ -get_codelists_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function allows to obtain all the versions of a - classification with a certain identifier and that is also kept by a - certain organization. -} -\examples{ -get_codelists_agency_resource("ISTAC", "CL_AREA_ES") -} diff --git a/man/get_codelists_agency_resource_version.Rd b/man/get_codelists_agency_resource_version.Rd deleted file mode 100644 index 3038e6f..0000000 --- a/man/get_codelists_agency_resource_version.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists_agency_resource_version} -\alias{get_codelists_agency_resource_version} -\title{Get codelists agency resource version} -\usage{ -get_codelists_agency_resource_version(agencyID, resourceID, version) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} -} -\description{ -This function allows you to consult a particular version of a classification. -} -\examples{ -get_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") -} diff --git a/man/get_codelists_agency_resource_version_codes.Rd b/man/get_codelists_agency_resource_version_codes.Rd deleted file mode 100644 index 7e84b63..0000000 --- a/man/get_codelists_agency_resource_version_codes.Rd +++ /dev/null @@ -1,40 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists_agency_resource_version_codes} -\alias{get_codelists_agency_resource_version_codes} -\title{Get codelists agency resource version codes} -\usage{ -get_codelists_agency_resource_version_codes(agencyID, resourceID, version, - limit = 25, offset = 0, query = NULL, orderBy = NULL, - openness = NULL, order = NULL, fields = NULL) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} - -\item{openness}{(string) Opening established for viewing.} - -\item{order}{(string) Order established for visualization.} - -\item{fields}{(string) Additional fields that you want to show in the answer.} -} -\description{ -This function allows to consult the codes of a version of a - classification. Note that if wildcards are used as \code{~all} or one of the - \code{limit}, \code{offset}, \code{query} or \code{orderBy} parameters, - the list will be automatically paginated. -} -\examples{ -get_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") -} diff --git a/man/get_codelists_agency_resource_version_codes_codeid.Rd b/man/get_codelists_agency_resource_version_codes_codeid.Rd deleted file mode 100644 index 5a8de90..0000000 --- a/man/get_codelists_agency_resource_version_codes_codeid.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_classifications.R -\name{get_codelists_agency_resource_version_codes_codeid} -\alias{get_codelists_agency_resource_version_codes_codeid} -\title{Get codelists agency resource version codes (codeID)} -\usage{ -get_codelists_agency_resource_version_codes_codeid(agencyID, resourceID, - version, codeID) -} -\arguments{ -\item{agencyID}{(string) Agency identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{version}{(string) Specific resource version.} - -\item{codeID}{(string) Code identificator.} -} -\description{ -This function allows to consult a specific code of a version of a classification. -} -\examples{ -get_codelists_agency_resource_version_codes_codeid("ISTAC", "CL_AREA_ES", "01.000", "ES706A01") -} diff --git a/man/get_concept_types.Rd b/man/get_concept_types.Rd deleted file mode 100644 index 8ab0bbb..0000000 --- a/man/get_concept_types.Rd +++ /dev/null @@ -1,14 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_concept_types} -\alias{get_concept_types} -\title{Get concept types} -\usage{ -get_concept_types() -} -\description{ -This function returns the content from /v1.0/conceptTypes -} -\examples{ -get_concept_types() -} diff --git a/man/get_content_constraints.Rd b/man/get_content_constraints.Rd deleted file mode 100644 index e94a0ce..0000000 --- a/man/get_content_constraints.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_content_constraints} -\alias{get_content_constraints} -\title{Get content constraints} -\usage{ -get_content_constraints(limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints -} -\examples{ -get_content_constraints() -get_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_content_constraints_agency.Rd b/man/get_content_constraints_agency.Rd deleted file mode 100644 index 60c2165..0000000 --- a/man/get_content_constraints_agency.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_content_constraints_agency} -\alias{get_content_constraints_agency} -\title{Get content constraints agency} -\usage{ -get_content_constraints_agency(agencyID, limit = 25, offset = 0, - query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID} -} -\examples{ -get_content_constraints_agency("ISTAC") -} diff --git a/man/get_content_constraints_agency_resource.Rd b/man/get_content_constraints_agency_resource.Rd deleted file mode 100644 index 76bddfa..0000000 --- a/man/get_content_constraints_agency_resource.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_content_constraints_agency_resource} -\alias{get_content_constraints_agency_resource} -\title{Get content constraints agency resource} -\usage{ -get_content_constraints_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID} -} -\examples{ -get_content_constraints_agency_resource("ISTAC", "CL_AREA") -} diff --git a/man/get_content_constraints_agency_resource_version.Rd b/man/get_content_constraints_agency_resource_version.Rd deleted file mode 100644 index 7605959..0000000 --- a/man/get_content_constraints_agency_resource_version.Rd +++ /dev/null @@ -1,22 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_content_constraints_agency_resource_version} -\alias{get_content_constraints_agency_resource_version} -\title{Get content constraints agency resource version} -\usage{ -get_content_constraints_agency_resource_version(agencyID, resourceID, - version) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version} -} -\examples{ -get_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") -} diff --git a/man/get_content_constraints_agency_resource_version_regions.Rd b/man/get_content_constraints_agency_resource_version_regions.Rd deleted file mode 100644 index 2dd4096..0000000 --- a/man/get_content_constraints_agency_resource_version_regions.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_content_constraints_agency_resource_version_regions} -\alias{get_content_constraints_agency_resource_version_regions} -\title{Get content constraints agency resource version regions} -\usage{ -get_content_constraints_agency_resource_version_regions(regionCode, - agencyID, resourceID, version) -} -\arguments{ -\item{regionCode}{(string) Region code.} - -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/contentConstraints/{agencyID}/{resourceID}/{version}/regions/{regionCode} -} -\examples{ -get_content_constraints_agency_resource_version_regions("0001", "ISTAC", "CL_AREA", "01.000") -} diff --git a/man/get_cschemes.Rd b/man/get_cschemes.Rd deleted file mode 100644 index 5b830d1..0000000 --- a/man/get_cschemes.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes} -\alias{get_cschemes} -\title{Get concept schemes} -\usage{ -get_cschemes(limit = 25, offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes -} -\examples{ -get_cschemes() -get_cschemes(query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_cschemes_agency.Rd b/man/get_cschemes_agency.Rd deleted file mode 100644 index 82eefea..0000000 --- a/man/get_cschemes_agency.Rd +++ /dev/null @@ -1,27 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes_agency} -\alias{get_cschemes_agency} -\title{Get concept schemes agency} -\usage{ -get_cschemes_agency(agencyID, limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID} -} -\examples{ -get_cschemes_agency("ISTAC") -get_cschemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_cschemes_agency_res_ver_cn.Rd b/man/get_cschemes_agency_res_ver_cn.Rd deleted file mode 100644 index 82f39c7..0000000 --- a/man/get_cschemes_agency_res_ver_cn.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes_agency_res_ver_cn} -\alias{get_cschemes_agency_res_ver_cn} -\title{Get concept schemes agency resource version concepts} -\usage{ -get_cschemes_agency_res_ver_cn(agencyID, resourceID, version, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts -} -\examples{ -get_cschemes_agency_res_ver_cn(agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000") -} diff --git a/man/get_cschemes_agency_resource.Rd b/man/get_cschemes_agency_resource.Rd deleted file mode 100644 index a5f171c..0000000 --- a/man/get_cschemes_agency_resource.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes_agency_resource} -\alias{get_cschemes_agency_resource} -\title{Get concept schemes agency resource} -\usage{ -get_cschemes_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID} -} -\examples{ -get_cschemes_agency_resource(agencyID = "ISTAC", resourceID = "CL_AREA_ES") -} diff --git a/man/get_cschemes_agency_resource_ver.Rd b/man/get_cschemes_agency_resource_ver.Rd deleted file mode 100644 index 2718877..0000000 --- a/man/get_cschemes_agency_resource_ver.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes_agency_resource_ver} -\alias{get_cschemes_agency_resource_ver} -\title{Get concept schemes agency resource version} -\usage{ -get_cschemes_agency_resource_ver(agencyID, resourceID, version) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version} -} -\examples{ -get_cschemes_agency_resource_ver(agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000") -} diff --git a/man/get_cschemes_id.Rd b/man/get_cschemes_id.Rd deleted file mode 100644 index d491af0..0000000 --- a/man/get_cschemes_id.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_concepts.R -\name{get_cschemes_id} -\alias{get_cschemes_id} -\title{Get concept schemes agency resource version concepts (id)} -\usage{ -get_cschemes_id(agencyID, resourceID, version, conceptID) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{conceptID}{(string) Concept identifier.} -} -\description{ -This function returns the content from /v1.0/conceptschemes/{agencyID}/{resourceID}/{version}/concepts/{conceptID} -} -\examples{ -get_cschemes_id(agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0) -} diff --git a/man/get_data_structures.Rd b/man/get_data_structures.Rd deleted file mode 100644 index d5c3217..0000000 --- a/man/get_data_structures.Rd +++ /dev/null @@ -1,25 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_data_structures} -\alias{get_data_structures} -\title{Get data structures} -\usage{ -get_data_structures(limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures -} -\examples{ -get_data_structures() -get_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_data_structures_agency.Rd b/man/get_data_structures_agency.Rd deleted file mode 100644 index 61166bf..0000000 --- a/man/get_data_structures_agency.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_data_structures_agency} -\alias{get_data_structures_agency} -\title{Get data structures agency} -\usage{ -get_data_structures_agency(agencyID, limit = 25, offset = 0, - query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID} -} -\examples{ -get_data_structures_agency("ISTAC") -} diff --git a/man/get_data_structures_agency_resource.Rd b/man/get_data_structures_agency_resource.Rd deleted file mode 100644 index e8546db..0000000 --- a/man/get_data_structures_agency_resource.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_data_structures_agency_resource} -\alias{get_data_structures_agency_resource} -\title{Get data structures agency resource} -\usage{ -get_data_structures_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID} -} -\examples{ -get_data_structures_agency_resource("ISTAC", "CL_AREA") -} diff --git a/man/get_data_structures_agency_resource_version.Rd b/man/get_data_structures_agency_resource_version.Rd deleted file mode 100644 index bfcf634..0000000 --- a/man/get_data_structures_agency_resource_version.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_datastructures.R -\name{get_data_structures_agency_resource_version} -\alias{get_data_structures_agency_resource_version} -\title{Get data structures agency resource version} -\usage{ -get_data_structures_agency_resource_version(agencyID, resourceID, version) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/datastructures/{agencyID}/{resourceID}/{version} -} -\examples{ -get_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") -} diff --git a/man/get_geoinfo.Rd b/man/get_geoinfo.Rd deleted file mode 100644 index 86625e3..0000000 --- a/man/get_geoinfo.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_geoinfo} -\alias{get_geoinfo} -\title{Get geoinfo} -\usage{ -get_geoinfo(variableID, resourceID, fields = NULL, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{resourceID}{(string) Resource identificator.} - -\item{fields}{(string) Additional fields that you want to show in the answer.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID}/geoinfo -} -\examples{ -get_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") -} diff --git a/man/get_schemes_agency.Rd b/man/get_schemes_agency.Rd deleted file mode 100644 index d05ada1..0000000 --- a/man/get_schemes_agency.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_schemes_agency} -\alias{get_schemes_agency} -\title{Get category schemes agency} -\usage{ -get_schemes_agency(agencyID, limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID} -} -\examples{ -get_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") -} diff --git a/man/get_schemes_agency_resource.Rd b/man/get_schemes_agency_resource.Rd deleted file mode 100644 index 71e7f3e..0000000 --- a/man/get_schemes_agency_resource.Rd +++ /dev/null @@ -1,28 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_schemes_agency_resource} -\alias{get_schemes_agency_resource} -\title{Get category schemes agency resource} -\usage{ -get_schemes_agency_resource(agencyID, resourceID, limit = 25, - offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID} -} -\examples{ -get_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") -} diff --git a/man/get_schemes_agency_resource_version.Rd b/man/get_schemes_agency_resource_version.Rd deleted file mode 100644 index 469c982..0000000 --- a/man/get_schemes_agency_resource_version.Rd +++ /dev/null @@ -1,21 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_schemes_agency_resource_version} -\alias{get_schemes_agency_resource_version} -\title{Get category schemes agency resource version} -\usage{ -get_schemes_agency_resource_version(agencyID, resourceID, version) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version} -} -\examples{ -get_schemes_agency_resource_version("ISTAC", "TEMAS_CANARIAS", "01.000") -} diff --git a/man/get_schemes_agency_resource_version_categories.Rd b/man/get_schemes_agency_resource_version_categories.Rd deleted file mode 100644 index bd83eeb..0000000 --- a/man/get_schemes_agency_resource_version_categories.Rd +++ /dev/null @@ -1,30 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_schemes_agency_resource_version_categories} -\alias{get_schemes_agency_resource_version_categories} -\title{Get category schemes agency resource version categories} -\usage{ -get_schemes_agency_resource_version_categories(agencyID, resourceID, - version, limit = 25, offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories -} -\examples{ -get_schemes_agency_resource_version_categories("ISTAC", "TEMAS_CANARIAS", "01.000") -} diff --git a/man/get_schemes_agency_resource_version_categories_id.Rd b/man/get_schemes_agency_resource_version_categories_id.Rd deleted file mode 100644 index e79ab3d..0000000 --- a/man/get_schemes_agency_resource_version_categories_id.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_category.R -\name{get_schemes_agency_resource_version_categories_id} -\alias{get_schemes_agency_resource_version_categories_id} -\title{Get category schemes agency resource version categories (id)} -\usage{ -get_schemes_agency_resource_version_categories_id(agencyID, resourceID, - version, categoryID) -} -\arguments{ -\item{agencyID}{(string) Identifier of the agency that publishes.} - -\item{resourceID}{(string) Resource identifier.} - -\item{version}{(string) Specific version of the resource.} - -\item{categoryID}{(string)} -} -\description{ -This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourceID}/{version}/categories/{categoryID} -} -\examples{ -get_schemes_agency_resource_version_categories_id("ISTAC", "TEMAS_CANARIAS", "01.000", "060") -} diff --git a/man/get_variable_families.Rd b/man/get_variable_families.Rd deleted file mode 100644 index 53d943d..0000000 --- a/man/get_variable_families.Rd +++ /dev/null @@ -1,24 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variable_families} -\alias{get_variable_families} -\title{Get variable families} -\usage{ -get_variable_families(limit = 25, offset = 0, query = NULL, - orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variablefamilies -} -\examples{ -get_variable_families() -} diff --git a/man/get_variable_families_id.Rd b/man/get_variable_families_id.Rd deleted file mode 100644 index 88c43f8..0000000 --- a/man/get_variable_families_id.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variable_families_id} -\alias{get_variable_families_id} -\title{Get variable families (id)} -\usage{ -get_variable_families_id(id) -} -\arguments{ -\item{id}{(string) Variable family identificator.} -} -\description{ -This function returns data from /v1.0/variablefamilies/{id} -} -\examples{ -get_variable_families_id("VRF_DEMOGRAFICAS") -} diff --git a/man/get_variable_families_id_variables.Rd b/man/get_variable_families_id_variables.Rd deleted file mode 100644 index 05276e2..0000000 --- a/man/get_variable_families_id_variables.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variable_families_id_variables} -\alias{get_variable_families_id_variables} -\title{Get variable families (id) variables} -\usage{ -get_variable_families_id_variables(id, limit = 25, offset = 0, - query = NULL, orderBy = NULL) -} -\arguments{ -\item{id}{(string) Variable family identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variablefamilies/{id}/variables -} -\examples{ -get_variable_families_id_variables("VRF_DEMOGRAFICAS") -} diff --git a/man/get_variableelements.Rd b/man/get_variableelements.Rd deleted file mode 100644 index 8cd2bb2..0000000 --- a/man/get_variableelements.Rd +++ /dev/null @@ -1,26 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variableelements} -\alias{get_variableelements} -\title{Get variableelements} -\usage{ -get_variableelements(variableID, limit = 25, offset = 0, - query = NULL, orderBy = NULL) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements -} -\examples{ -get_variableelements("VR_SEXO") -} diff --git a/man/get_variableelements_resource.Rd b/man/get_variableelements_resource.Rd deleted file mode 100644 index 9df0231..0000000 --- a/man/get_variableelements_resource.Rd +++ /dev/null @@ -1,20 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variableelements_resource} -\alias{get_variableelements_resource} -\title{Get variableelements resource} -\usage{ -get_variableelements_resource(variableID, resourceID) -} -\arguments{ -\item{variableID}{(string) Variable identificator.} - -\item{resourceID}{(string) Resource identificator.} -} -\description{ -This function returns data from /v1.0/variables/{variableID}/variableelements/{resourceID} -} -\examples{ -get_variableelements_resource("VR_SEXO", "FEMALE") -get_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") -} diff --git a/man/get_variables.Rd b/man/get_variables.Rd deleted file mode 100644 index 31daa34..0000000 --- a/man/get_variables.Rd +++ /dev/null @@ -1,23 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variables} -\alias{get_variables} -\title{Get variables} -\usage{ -get_variables(limit = 25, offset = 0, query = NULL, orderBy = NULL) -} -\arguments{ -\item{limit}{(int) Results limit. By default \code{limit = 25}.} - -\item{offset}{(int) Displacement. Result from which it is returned. By default \code{offset = 0}.} - -\item{query}{(string) Query to filter the results.} - -\item{orderBy}{(string) Field by which to sort the results.} -} -\description{ -This function returns data from /v1.0/variables -} -\examples{ -get_variables() -} diff --git a/man/get_variables_id.Rd b/man/get_variables_id.Rd deleted file mode 100644 index 8a13b63..0000000 --- a/man/get_variables_id.Rd +++ /dev/null @@ -1,17 +0,0 @@ -% Generated by roxygen2: do not edit by hand -% Please edit documentation in R/structural_resources_variables.R -\name{get_variables_id} -\alias{get_variables_id} -\title{Get variables (id)} -\usage{ -get_variables_id(id) -} -\arguments{ -\item{id}{(string) Variable identificator.} -} -\description{ -This function returns data from /v1.0/variables/{id} -} -\examples{ -get_variables_id("VR_SEXO") -} From 69d52f61ec2afce9e84747c53ae3752e0cbeaf4f Mon Sep 17 00:00:00 2001 From: jlopezper Date: Tue, 26 Jan 2021 00:16:47 +0100 Subject: [PATCH 10/12] modify description to include second author and contributor --- DESCRIPTION | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/DESCRIPTION b/DESCRIPTION index 1b53bed..96b01b9 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -4,9 +4,10 @@ Title: Obtaining Open Data from Instituto Canario De Estadistica (ISTAC) API Version: 0.1.3 Date: 2020-12-04 Authors@R: c( - person("Alberto", "Gonzalez", email = "jgonyanp@gobiernodecanarias.org", role = c("aut", "cre")) + person("Alberto", "Gonzalez", , "jgonyanp@gobiernodecanarias.org", c("aut", "cre")), + person("Andres", "Nacimiento", , "andresnacimiento@gmail.com", c("aut")), + person("Jorge", "Lopez Perez", , "jorge@loperez.com", c("ctb")) ) -Maintainer: Alberto Gonzalez Description: You can access to open data published in Instituto Canario De Estadistica (ISTAC) APIs at . License: GPL (>= 3) Encoding: UTF-8 From fd961d7e302bc34fdd298f7e5e46ae93da327491 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Tue, 26 Jan 2021 00:17:28 +0100 Subject: [PATCH 11/12] remove istac-manual.pdf --- istacr-manual.pdf | Bin 141879 -> 0 bytes man/get_datasets.Rd | 2 +- man/get_datasets_agency.Rd | 2 +- man/get_datasets_agency_resource.Rd | 2 +- man/get_datasets_agency_resource_version.Rd | 2 +- man/get_indicators_code.Rd | 2 +- man/get_indicators_code_data.Rd | 2 +- man/get_indicators_geographic_granularities.Rd | 2 +- man/get_indicators_geographical_values.Rd | 2 +- man/get_indicators_systems.Rd | 2 +- man/get_indicators_systems_code.Rd | 2 +- man/get_indicators_systems_code_instances.Rd | 2 +- ...t_indicators_systems_code_instances_code.Rd | 2 +- ...icators_systems_code_instances_code_data.Rd | 2 +- man/get_indicators_time_granularities.Rd | 2 +- man/get_structuralresources_categorisations.Rd | 2 +- ...ructuralresources_categorisations_agency.Rd | 2 +- ...esources_categorisations_agency_resource.Rd | 2 +- ..._categorisations_agency_resource_version.Rd | 2 +- ...get_structuralresources_category_schemes.Rd | 2 +- ...ucturalresources_category_schemes_agency.Rd | 2 +- ...sources_category_schemes_agency_resource.Rd | 2 +- ...category_schemes_agency_resource_version.Rd | 2 +- ...hemes_agency_resource_version_categories.Rd | 2 +- ...es_agency_resource_version_categories_id.Rd | 2 +- ...et_structuralresources_codelist_families.Rd | 2 +- ...structuralresources_codelist_families_id.Rd | 2 +- man/get_structuralresources_codelists.Rd | 2 +- ...get_structuralresources_codelists_agency.Rd | 2 +- ...turalresources_codelists_agency_resource.Rd | 2 +- ...ources_codelists_agency_resource_version.Rd | 2 +- ..._codelists_agency_resource_version_codes.Rd | 2 +- ...sts_agency_resource_version_codes_codeid.Rd | 2 +- man/get_structuralresources_concept_schemes.Rd | 2 +- ...ructuralresources_concept_schemes_agency.Rd | 2 +- ...esources_concept_schemes_agency_resource.Rd | 2 +- ..._concept_schemes_agency_resource_version.Rd | 2 +- ...schemes_agency_resource_version_concepts.Rd | 2 +- ...emes_agency_resource_version_concepts_id.Rd | 2 +- ..._structuralresources_content_constraints.Rd | 2 +- ...uralresources_content_constraints_agency.Rd | 2 +- ...rces_content_constraints_agency_resource.Rd | 2 +- ...tent_constraints_agency_resource_version.Rd | 2 +- ...straints_agency_resource_version_regions.Rd | 2 +- man/get_structuralresources_data_structures.Rd | 2 +- ...ructuralresources_data_structures_agency.Rd | 2 +- ...esources_data_structures_agency_resource.Rd | 2 +- ..._data_structures_agency_resource_version.Rd | 2 +- man/get_structuralresources_geoinfo.Rd | 2 +- ...et_structuralresources_variable_families.Rd | 2 +- ...structuralresources_variable_families_id.Rd | 2 +- ...resources_variable_families_id_variables.Rd | 2 +- ...get_structuralresources_variableelements.Rd | 2 +- ...turalresources_variableelements_resource.Rd | 2 +- man/get_structuralresources_variables.Rd | 2 +- 55 files changed, 54 insertions(+), 54 deletions(-) delete mode 100644 istacr-manual.pdf diff --git a/istacr-manual.pdf b/istacr-manual.pdf deleted file mode 100644 index 1b145c0a7de5c9b27fff98f587d5111384dfa382..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 141879 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 GRR0BVE;&^I diff --git a/man/get_datasets.Rd b/man/get_datasets.Rd index b2c22ad..ec76db1 100644 --- a/man/get_datasets.Rd +++ b/man/get_datasets.Rd @@ -22,4 +22,4 @@ This function allows consulting all existing statistical data cubes. } \examples{ get_datasets() -} +} diff --git a/man/get_datasets_agency.Rd b/man/get_datasets_agency.Rd index 553e129..d160385 100644 --- a/man/get_datasets_agency.Rd +++ b/man/get_datasets_agency.Rd @@ -31,4 +31,4 @@ This function allows to consult all the data sets maintained by a certain organi } \examples{ get_datasets_agency(agencyID = "ISTAC") -} +} diff --git a/man/get_datasets_agency_resource.Rd b/man/get_datasets_agency_resource.Rd index 40c3d80..9295a91 100644 --- a/man/get_datasets_agency_resource.Rd +++ b/man/get_datasets_agency_resource.Rd @@ -34,4 +34,4 @@ This function allows to obtain all the versions of a statistical cube with a cer } \examples{ get_datasets_agency_resource(agencyID = "ISTAC", resourceID = "C00010A_000002") -} +} diff --git a/man/get_datasets_agency_resource_version.Rd b/man/get_datasets_agency_resource_version.Rd index eaa52e2..6682941 100644 --- a/man/get_datasets_agency_resource_version.Rd +++ b/man/get_datasets_agency_resource_version.Rd @@ -34,4 +34,4 @@ get_datasets_agency_resource_version( agencyID = "ISTAC", resourceID = "C00010A_000002", version = "001.000", fields = "-data,-metadata" ) -} +} diff --git a/man/get_indicators_code.Rd b/man/get_indicators_code.Rd index 71d9e0c..c25ddd4 100644 --- a/man/get_indicators_code.Rd +++ b/man/get_indicators_code.Rd @@ -18,4 +18,4 @@ This function returns the metadata that describe the characteristics \examples{ get_indicators_code("AFILIACIONES") get_indicators_code("PARO_REGISTRADO") -} +} diff --git a/man/get_indicators_code_data.Rd b/man/get_indicators_code_data.Rd index 5d9449e..a44eac7 100644 --- a/man/get_indicators_code_data.Rd +++ b/man/get_indicators_code_data.Rd @@ -29,4 +29,4 @@ This function returns complete data (for all spacetime) of the indicator. } \examples{ get_indicators_code_data("AFILIACIONES", fields = "-observationsMetadata") -} +} diff --git a/man/get_indicators_geographic_granularities.Rd b/man/get_indicators_geographic_granularities.Rd index ff4f95e..f038470 100644 --- a/man/get_indicators_geographic_granularities.Rd +++ b/man/get_indicators_geographic_granularities.Rd @@ -13,4 +13,4 @@ This function returns a list of geographic granularities treated } \examples{ get_indicators_geographic_granularities() -} +} diff --git a/man/get_indicators_geographical_values.Rd b/man/get_indicators_geographical_values.Rd index 43a28f3..3224976 100644 --- a/man/get_indicators_geographical_values.Rd +++ b/man/get_indicators_geographical_values.Rd @@ -24,4 +24,4 @@ This function returns values of a geographical granularity that \examples{ get_indicators_geographical_values("REGIONS") get_indicators_geographical_values("REGIONS", subjectCode = "051", systemCode = "C00067A") -} +} diff --git a/man/get_indicators_systems.Rd b/man/get_indicators_systems.Rd index 31a58c0..5772f84 100644 --- a/man/get_indicators_systems.Rd +++ b/man/get_indicators_systems.Rd @@ -23,4 +23,4 @@ This function returns a list of indicator systems published in } \examples{ get_indicators_systems() -} +} diff --git a/man/get_indicators_systems_code.Rd b/man/get_indicators_systems_code.Rd index 733e7a8..bfaef13 100644 --- a/man/get_indicators_systems_code.Rd +++ b/man/get_indicators_systems_code.Rd @@ -18,4 +18,4 @@ This function returns metadata of a system of indicators } \examples{ get_indicators_systems_code("C00075H") -} +} diff --git a/man/get_indicators_systems_code_instances.Rd b/man/get_indicators_systems_code_instances.Rd index a26a1cd..ecdde28 100644 --- a/man/get_indicators_systems_code_instances.Rd +++ b/man/get_indicators_systems_code_instances.Rd @@ -47,4 +47,4 @@ This function returns instances of indicators associated \examples{ get_indicators_systems_code_instances("C00075H") get_indicators_systems_code_instances("C00075H", q = 'id EQ "INDICADORES_MUNICIPALES"') -} +} diff --git a/man/get_indicators_systems_code_instances_code.Rd b/man/get_indicators_systems_code_instances_code.Rd index 8d87d48..c3557ff 100644 --- a/man/get_indicators_systems_code_instances_code.Rd +++ b/man/get_indicators_systems_code_instances_code.Rd @@ -22,4 +22,4 @@ This function returns metadata of an indicator set associated } \examples{ get_indicators_systems_code_instances_code("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") -} +} diff --git a/man/get_indicators_systems_code_instances_code_data.Rd b/man/get_indicators_systems_code_instances_code_data.Rd index 619992a..97a2816 100644 --- a/man/get_indicators_systems_code_instances_code_data.Rd +++ b/man/get_indicators_systems_code_instances_code_data.Rd @@ -31,4 +31,4 @@ This function returns data of an indicator unit associated with } \examples{ get_indicators_systems_code_instances_code_data("C00075H", "21af0477-d63b-493b-ad02-4ab181547223") -} +} diff --git a/man/get_indicators_time_granularities.Rd b/man/get_indicators_time_granularities.Rd index 3488b93..3daf7e2 100644 --- a/man/get_indicators_time_granularities.Rd +++ b/man/get_indicators_time_granularities.Rd @@ -13,4 +13,4 @@ This function returns a list of temporary granularity treated } \examples{ get_indicators_time_granularities() -} +} diff --git a/man/get_structuralresources_categorisations.Rd b/man/get_structuralresources_categorisations.Rd index ca3e29d..fb23569 100644 --- a/man/get_structuralresources_categorisations.Rd +++ b/man/get_structuralresources_categorisations.Rd @@ -26,4 +26,4 @@ This function returns the content from /v1.0/categorisations \examples{ get_structuralresources_categorisations() get_structuralresources_categorisations(query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_categorisations_agency.Rd b/man/get_structuralresources_categorisations_agency.Rd index 4a55606..23c789e 100644 --- a/man/get_structuralresources_categorisations_agency.Rd +++ b/man/get_structuralresources_categorisations_agency.Rd @@ -28,4 +28,4 @@ This function returns the content from /v1.0/categorisations/{agencyID} } \examples{ get_structuralresources_categorisations_agency("ISTAC") -} +} diff --git a/man/get_structuralresources_categorisations_agency_resource.Rd b/man/get_structuralresources_categorisations_agency_resource.Rd index 65c3d1f..9616aca 100644 --- a/man/get_structuralresources_categorisations_agency_resource.Rd +++ b/man/get_structuralresources_categorisations_agency_resource.Rd @@ -31,4 +31,4 @@ This function returns the content from /v1.0/categorisations/{agencyID}/{resourc } \examples{ get_structuralresources_categorisations_agency_resource("ISTAC", "cat2") -} +} diff --git a/man/get_structuralresources_categorisations_agency_resource_version.Rd b/man/get_structuralresources_categorisations_agency_resource_version.Rd index 1a11282..329be5c 100644 --- a/man/get_structuralresources_categorisations_agency_resource_version.Rd +++ b/man/get_structuralresources_categorisations_agency_resource_version.Rd @@ -22,4 +22,4 @@ This function returns the content from /v1.0/categorisations/{agencyID}/{resourc } \examples{ get_structuralresources_categorisations_agency_resource_version("ISTAC", "cat2", "01.000") -} +} diff --git a/man/get_structuralresources_category_schemes.Rd b/man/get_structuralresources_category_schemes.Rd index c516af3..d6b81ae 100644 --- a/man/get_structuralresources_category_schemes.Rd +++ b/man/get_structuralresources_category_schemes.Rd @@ -26,4 +26,4 @@ This function returns the content from /v1.0/categoryschemes \examples{ get_structuralresources_category_schemes() get_structuralresources_category_schemes(query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_category_schemes_agency.Rd b/man/get_structuralresources_category_schemes_agency.Rd index 1822d02..94a868e 100644 --- a/man/get_structuralresources_category_schemes_agency.Rd +++ b/man/get_structuralresources_category_schemes_agency.Rd @@ -28,4 +28,4 @@ This function returns the content from /v1.0/categoryschemes/{agencyID} } \examples{ get_structuralresources_category_schemes_agency("ISTAC", query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_category_schemes_agency_resource.Rd b/man/get_structuralresources_category_schemes_agency_resource.Rd index 70ed28b..dada26d 100644 --- a/man/get_structuralresources_category_schemes_agency_resource.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource.Rd @@ -31,4 +31,4 @@ This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourc } \examples{ get_structuralresources_category_schemes_agency_resource("ISTAC", "TEMAS_CANARIAS") -} +} diff --git a/man/get_structuralresources_category_schemes_agency_resource_version.Rd b/man/get_structuralresources_category_schemes_agency_resource_version.Rd index 255d781..77500c6 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version.Rd @@ -24,4 +24,4 @@ This function returns the content from /v1.0/categoryschemes/{agencyID}/{resourc get_structuralresources_category_schemes_agency_resource_version( "ISTAC", "TEMAS_CANARIAS", "01.000" ) -} +} diff --git a/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd b/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd index e118901..530061d 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version_categories.Rd @@ -37,4 +37,4 @@ get_structuralresources_category_schemes_agency_resource_version_categories( "ISTAC", "TEMAS_CANARIAS", "01.000", limit = 10 ) -} +} diff --git a/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd b/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd index 942575b..cc11215 100644 --- a/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd +++ b/man/get_structuralresources_category_schemes_agency_resource_version_categories_id.Rd @@ -30,4 +30,4 @@ get_structuralresources_category_schemes_agency_resource_version_categories_id( get_structuralresources_category_schemes_agency_resource_version_categories_id( "ISTAC", "TEMAS_CANARIAS", "01.000", "060.060_010.060_010_010" ) -} +} diff --git a/man/get_structuralresources_codelist_families.Rd b/man/get_structuralresources_codelist_families.Rd index ec18cb8..f3ba577 100644 --- a/man/get_structuralresources_codelist_families.Rd +++ b/man/get_structuralresources_codelist_families.Rd @@ -25,4 +25,4 @@ This function returns the list of families of classifications } \examples{ get_structuralresources_codelist_families() -} +} diff --git a/man/get_structuralresources_codelist_families_id.Rd b/man/get_structuralresources_codelist_families_id.Rd index cbcc5da..70adcfe 100644 --- a/man/get_structuralresources_codelist_families_id.Rd +++ b/man/get_structuralresources_codelist_families_id.Rd @@ -14,4 +14,4 @@ This function allows to obtain a family of classifications in particular. } \examples{ get_structuralresources_codelist_families_id() -} +} diff --git a/man/get_structuralresources_codelists.Rd b/man/get_structuralresources_codelists.Rd index 89cab46..e97a3ab 100644 --- a/man/get_structuralresources_codelists.Rd +++ b/man/get_structuralresources_codelists.Rd @@ -25,4 +25,4 @@ This function allows to obtain the list of classifications. } \examples{ get_structuralresources_codelists() -} +} diff --git a/man/get_structuralresources_codelists_agency.Rd b/man/get_structuralresources_codelists_agency.Rd index 106019f..cc73fbe 100644 --- a/man/get_structuralresources_codelists_agency.Rd +++ b/man/get_structuralresources_codelists_agency.Rd @@ -30,4 +30,4 @@ This function allows obtaining the list of all the classifications \examples{ get_structuralresources_codelists_agency("ISTAC") get_structuralresources_codelists_agency("ESTAT") -} +} diff --git a/man/get_structuralresources_codelists_agency_resource.Rd b/man/get_structuralresources_codelists_agency_resource.Rd index a7d7723..6d29217 100644 --- a/man/get_structuralresources_codelists_agency_resource.Rd +++ b/man/get_structuralresources_codelists_agency_resource.Rd @@ -33,4 +33,4 @@ This function allows to obtain all the versions of a } \examples{ get_structuralresources_codelists_agency_resource("ISTAC", "CL_AREA_ES") -} +} diff --git a/man/get_structuralresources_codelists_agency_resource_version.Rd b/man/get_structuralresources_codelists_agency_resource_version.Rd index 655ea88..46bb8db 100644 --- a/man/get_structuralresources_codelists_agency_resource_version.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version.Rd @@ -22,4 +22,4 @@ This function allows you to consult a particular version of a classification. } \examples{ get_structuralresources_codelists_agency_resource_version("ISTAC", "CL_AREA_ES", "01.000") -} +} diff --git a/man/get_structuralresources_codelists_agency_resource_version_codes.Rd b/man/get_structuralresources_codelists_agency_resource_version_codes.Rd index 8f571b4..b5415e2 100644 --- a/man/get_structuralresources_codelists_agency_resource_version_codes.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version_codes.Rd @@ -46,4 +46,4 @@ This function allows to consult the codes of a version of a } \examples{ get_structuralresources_codelists_agency_resource_version_codes("ISTAC", "CL_AREA_ES", "01.000") -} +} diff --git a/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd b/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd index b1a46cf..fac609d 100644 --- a/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd +++ b/man/get_structuralresources_codelists_agency_resource_version_codes_codeid.Rd @@ -27,4 +27,4 @@ This function allows to consult a specific code of a version of a classification get_structuralresources_codelists_agency_resource_version_codes_codeid( "ISTAC", "CL_AREA_ES", "01.000", "ES706A01" ) -} +} diff --git a/man/get_structuralresources_concept_schemes.Rd b/man/get_structuralresources_concept_schemes.Rd index 592e9aa..1dc9128 100644 --- a/man/get_structuralresources_concept_schemes.Rd +++ b/man/get_structuralresources_concept_schemes.Rd @@ -26,4 +26,4 @@ This function returns the content from /v1.0/conceptschemes \examples{ get_structuralresources_concept_schemes() get_structuralresources_concept_schemes(query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_concept_schemes_agency.Rd b/man/get_structuralresources_concept_schemes_agency.Rd index aef0e18..35ba5e9 100644 --- a/man/get_structuralresources_concept_schemes_agency.Rd +++ b/man/get_structuralresources_concept_schemes_agency.Rd @@ -29,4 +29,4 @@ This function returns the content from /v1.0/conceptschemes/{agencyID} \examples{ get_structuralresources_concept_schemes_agency("ISTAC") get_structuralresources_concept_schemes_agency("ESTAT", query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_concept_schemes_agency_resource.Rd b/man/get_structuralresources_concept_schemes_agency_resource.Rd index 71f528b..8dc7264 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource.Rd @@ -33,4 +33,4 @@ This function returns the content from /v1.0/conceptschemes/{agencyID}/{resource get_structuralresources_concept_schemes_agency_resource( agencyID = "ISTAC", resourceID = "CL_AREA_ES" ) -} +} diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version.Rd index 5db6387..c08d87e 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version.Rd @@ -24,4 +24,4 @@ This function returns the content from /v1.0/conceptschemes/{agencyID}/{resource get_structuralresources_concept_schemes_agency_resource_version( agencyID = "ISTAC", resourceID = "CL_AREA", version = "01.000" ) -} +} diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd index 8401c99..0faf283 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts.Rd @@ -36,4 +36,4 @@ This function returns the content from /v1.0/conceptschemes/{agencyID}/{resource get_structuralresources_concept_schemes_agency_resource_version_concepts( agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000" ) -} +} diff --git a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd index 5733fdd..0c1ffba 100644 --- a/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd +++ b/man/get_structuralresources_concept_schemes_agency_resource_version_concepts_id.Rd @@ -27,4 +27,4 @@ This function returns the content from /v1.0/conceptschemes/{agencyID}/{resource get_structuralresources_concept_schemes_agency_resource_version_concepts_id( agencyID = "ISTAC", resourceID = "CL_AREA_ES", version = "01.000", conceptID = 0 ) -} +} diff --git a/man/get_structuralresources_content_constraints.Rd b/man/get_structuralresources_content_constraints.Rd index 7f9db07..fccf06e 100644 --- a/man/get_structuralresources_content_constraints.Rd +++ b/man/get_structuralresources_content_constraints.Rd @@ -26,4 +26,4 @@ This function returns the content from /v1.0/contentConstraints \examples{ get_structuralresources_content_constraints() get_structuralresources_content_constraints(query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_content_constraints_agency.Rd b/man/get_structuralresources_content_constraints_agency.Rd index 0a93705..fb4fe93 100644 --- a/man/get_structuralresources_content_constraints_agency.Rd +++ b/man/get_structuralresources_content_constraints_agency.Rd @@ -28,4 +28,4 @@ This function returns the content from /v1.0/contentConstraints/{agencyID} } \examples{ get_structuralresources_content_constraints_agency("ISTAC") -} +} diff --git a/man/get_structuralresources_content_constraints_agency_resource.Rd b/man/get_structuralresources_content_constraints_agency_resource.Rd index 97d43a0..cbb9586 100644 --- a/man/get_structuralresources_content_constraints_agency_resource.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource.Rd @@ -31,4 +31,4 @@ This function returns the content from /v1.0/contentConstraints/{agencyID}/{reso } \examples{ get_structuralresources_content_constraints_agency_resource("ISTAC", "CL_AREA") -} +} diff --git a/man/get_structuralresources_content_constraints_agency_resource_version.Rd b/man/get_structuralresources_content_constraints_agency_resource_version.Rd index fea1b87..8b21bf3 100644 --- a/man/get_structuralresources_content_constraints_agency_resource_version.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource_version.Rd @@ -22,4 +22,4 @@ This function returns the content from /v1.0/contentConstraints/{agencyID}/{reso } \examples{ get_structuralresources_content_constraints_agency_resource_version("ISTAC", "CL_AREA", "01.000") -} +} diff --git a/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd b/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd index bdd2fc8..33e64b7 100644 --- a/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd +++ b/man/get_structuralresources_content_constraints_agency_resource_version_regions.Rd @@ -27,4 +27,4 @@ This function returns the content from /v1.0/contentConstraints/{agencyID}/{reso get_structuralresources_content_constraints_agency_resource_version_regions( "0001", "ISTAC", "CL_AREA", "01.000" ) -} +} diff --git a/man/get_structuralresources_data_structures.Rd b/man/get_structuralresources_data_structures.Rd index e1104f3..d46b8a7 100644 --- a/man/get_structuralresources_data_structures.Rd +++ b/man/get_structuralresources_data_structures.Rd @@ -26,4 +26,4 @@ This function returns the content from /v1.0/datastructures \examples{ get_structuralresources_data_structures() get_structuralresources_data_structures(query = "ID EQ 2090", orderBy = "ID ASC") -} +} diff --git a/man/get_structuralresources_data_structures_agency.Rd b/man/get_structuralresources_data_structures_agency.Rd index ba3dd82..0e6459e 100644 --- a/man/get_structuralresources_data_structures_agency.Rd +++ b/man/get_structuralresources_data_structures_agency.Rd @@ -28,4 +28,4 @@ This function returns the content from /v1.0/datastructures/{agencyID} } \examples{ get_structuralresources_data_structures_agency("ISTAC") -} +} diff --git a/man/get_structuralresources_data_structures_agency_resource.Rd b/man/get_structuralresources_data_structures_agency_resource.Rd index dacb7e4..883d77d 100644 --- a/man/get_structuralresources_data_structures_agency_resource.Rd +++ b/man/get_structuralresources_data_structures_agency_resource.Rd @@ -31,4 +31,4 @@ This function returns the content from /v1.0/datastructures/{agencyID}/{resource } \examples{ get_structuralresources_data_structures_agency_resource("ISTAC", "CL_AREA") -} +} diff --git a/man/get_structuralresources_data_structures_agency_resource_version.Rd b/man/get_structuralresources_data_structures_agency_resource_version.Rd index a945e86..02fe970 100644 --- a/man/get_structuralresources_data_structures_agency_resource_version.Rd +++ b/man/get_structuralresources_data_structures_agency_resource_version.Rd @@ -22,4 +22,4 @@ This function returns the content from /v1.0/datastructures/{agencyID}/{resource } \examples{ get_structuralresources_data_structures_agency_resource_version("ISTAC", "CL_AREA", "01.000") -} +} diff --git a/man/get_structuralresources_geoinfo.Rd b/man/get_structuralresources_geoinfo.Rd index 6ae28e8..48c836c 100644 --- a/man/get_structuralresources_geoinfo.Rd +++ b/man/get_structuralresources_geoinfo.Rd @@ -34,4 +34,4 @@ This function returns data from /v1.0/variables/{variableID}/variableelements/{r } \examples{ geoinfo <- get_structuralresources_geoinfo("VR_TERRITORIO", "MUN_ICOD_VINOS") -} +} diff --git a/man/get_structuralresources_variable_families.Rd b/man/get_structuralresources_variable_families.Rd index 3352862..36b31b6 100644 --- a/man/get_structuralresources_variable_families.Rd +++ b/man/get_structuralresources_variable_families.Rd @@ -25,4 +25,4 @@ This function returns data from /v1.0/variablefamilies } \examples{ get_structuralresources_variable_families() -} +} diff --git a/man/get_structuralresources_variable_families_id.Rd b/man/get_structuralresources_variable_families_id.Rd index cd69235..7613b3a 100644 --- a/man/get_structuralresources_variable_families_id.Rd +++ b/man/get_structuralresources_variable_families_id.Rd @@ -14,4 +14,4 @@ This function returns data from /v1.0/variablefamilies/{id} } \examples{ get_structuralresources_variable_families_id("VRF_DEMOGRAFICAS") -} +} diff --git a/man/get_structuralresources_variable_families_id_variables.Rd b/man/get_structuralresources_variable_families_id_variables.Rd index 3ebba8f..08cdd92 100644 --- a/man/get_structuralresources_variable_families_id_variables.Rd +++ b/man/get_structuralresources_variable_families_id_variables.Rd @@ -28,4 +28,4 @@ This function returns data from /v1.0/variablefamilies/{id}/variables } \examples{ get_structuralresources_variable_families_id_variables("VRF_DEMOGRAFICAS") -} +} diff --git a/man/get_structuralresources_variableelements.Rd b/man/get_structuralresources_variableelements.Rd index f7add64..52caf90 100644 --- a/man/get_structuralresources_variableelements.Rd +++ b/man/get_structuralresources_variableelements.Rd @@ -28,4 +28,4 @@ This function returns data from /v1.0/variables/{variableID}/variableelements } \examples{ get_structuralresources_variableelements("VR_SEXO") -} +} diff --git a/man/get_structuralresources_variableelements_resource.Rd b/man/get_structuralresources_variableelements_resource.Rd index 8369dd7..2c3ce0d 100644 --- a/man/get_structuralresources_variableelements_resource.Rd +++ b/man/get_structuralresources_variableelements_resource.Rd @@ -17,4 +17,4 @@ This function returns data from /v1.0/variables/{variableID}/variableelements/{r \examples{ get_structuralresources_variableelements_resource("VR_SEXO", "FEMALE") get_structuralresources_variableelements_resource("VR_TERRITORIO", "CCAA_CANARIAS") -} +} diff --git a/man/get_structuralresources_variables.Rd b/man/get_structuralresources_variables.Rd index 3b3df27..b553b14 100644 --- a/man/get_structuralresources_variables.Rd +++ b/man/get_structuralresources_variables.Rd @@ -25,4 +25,4 @@ This function returns data from /v1.0/variables } \examples{ get_structuralresources_variables() -} +} From 1b9d89b4dc8bb5defc164e7547f62cc74d1356c3 Mon Sep 17 00:00:00 2001 From: jlopezper Date: Tue, 26 Jan 2021 19:26:55 +0100 Subject: [PATCH 12/12] update badges in readme --- .RData | Bin 225592 -> 0 bytes .Rhistory | 512 ----------------------------------------------------- README.Rmd | 4 +- README.md | 8 +- 4 files changed, 6 insertions(+), 518 deletions(-) delete mode 100644 .RData delete mode 100644 .Rhistory diff --git a/.RData b/.RData deleted file mode 100644 index 6c4d769dba5985a6bae1e53fe59229adfe8e7bc4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 225592 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 z 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 -[![R build status](https://github.com/jlopezper/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) -[![Codecov test coverage](https://codecov.io/gh/jlopezper/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) +[![R build status](https://github.com/eDatos/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) +[![Codecov test coverage](https://codecov.io/gh/eDatos/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) The goal of `istacr` is to provide a wrapper to the [ISTAC api catalog](https://www3.gobiernodecanarias.org/aplicaciones/appsistac/api), allowing the user to obtain the open data from R. diff --git a/README.md b/README.md index 179f3e0..b21527d 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,9 @@ [![R build -status](https://github.com/jlopezper/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) +status](https://github.com/eDatos/istacr/workflows/R-CMD-check/badge.svg)](https://github.com/jlopezper/istacr/actions) [![Codecov test -coverage](https://codecov.io/gh/jlopezper/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) +coverage](https://codecov.io/gh/eDatos/istacr/branch/master/graph/badge.svg)](https://codecov.io/gh/jlopezper/istacr?branch=master) The goal of `istacr` is to provide a wrapper to the [ISTAC api @@ -140,7 +140,7 @@ str(tst, max.level = 1) #> List of 8 #> $ dataset :'data.frame': 25 obs. of 5 variables: #> $ kind : chr "statisticalResources#datasets" -#> $ total : int 357 +#> $ total : int 359 #> $ limit : int 25 #> $ offset : int 0 #> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets?query&orderBy&limit=25&offset=0" @@ -156,7 +156,7 @@ str(tst, max.level = 1) #> List of 8 #> $ dataset :'data.frame': 25 obs. of 5 variables: #> $ kind : chr "statisticalResources#datasets" -#> $ total : int 357 +#> $ total : int 359 #> $ limit : int 25 #> $ offset : int 0 #> $ selfLink: chr "https://datos.canarias.es/api/estadisticas/statistical-resources/v1.0/datasets/ISTAC?query&orderBy&limit=25&offset=0"