Install
Stable version from CRAN
install.packages("ckanr")
Development version from GitHub
remotes::install_github("ropensci/ckanr")
Note: the default base CKAN URL is set to http://data.techno-science.ca/.
You can change this using ckanr_setup()
, or change the URL
using the url
parameter in each function call.
To set one or both, run:
# restores default CKAN url to http://data.techno-science.ca/
ckanr_setup()
# Just set url
ckanr_setup(url = "http://data.techno-science.ca/")
# set url and key
ckanr_setup(url = "http://data.techno-science.ca/", key = "my-ckan-api-key")
Changes
changes(limit = 2, as = "table")[, 1:4]
#> user_id timestamp
#> 1 27778230-2e90-4818-9f00-bbf778c8fa09 2016-06-14T21:31:28.306231
#> 2 27778230-2e90-4818-9f00-bbf778c8fa09 2016-06-14T21:30:26.594125
#> object_id revision_id
#> 1 99f457c9-ea24-48a1-87be-b52385825b6a e2d9463d-e97c-48f5-a816-7fe26ee60dcd
#> 2 99f457c9-ea24-48a1-87be-b52385825b6a 9d846213-1389-4dab-bfe5-77dd3256995a
List datasets
package_list(as = "table")
#> [1] "artifact-data-agriculture"
#> [2] "artifact-data-aviation"
#> [3] "artifact-data-bookbinding"
#> [4] "artifact-data-chemistry"
#> [5] "artifact-data-communications"
#> [6] "artifact-data-computing-technology"
#> [7] "artifact-data-domestic-technology"
#> [8] "artifact-data-energy-electric"
#> [9] "artifact-data-exploration-and-survey"
#> [10] "artifact-data-fisheries"
...
List tags
tag_list('aviation', as = 'table')
#> vocabulary_id display_name
#> 1 NA Aviation
#> 2 NA Canada Aviation and Space Museum
#> id name
#> 1 cc1db2db-b08b-4888-897f-a17eade2461b Aviation
#> 2 8d05a650-bc7b-4b89-bcc8-c10177e60119 Canada Aviation and Space Museum
Show tags
Subset for readme brevity
tag_show('Aviation')
#> <CKAN Tag> cc1db2db-b08b-4888-897f-a17eade2461b
#> Name: Aviation
#> Display name: Aviation
#> Vocabulary id:
#> No. Packages: 2
#> Packages (up to 5): artifact-data-aviation, cstmc-smstc-artifacts-artefact
List groups
group_list(as = 'table')[, 1:3]
#> display_name description
#> 1 Communications
#> 2 Domestic and Industrial Technology
#> 3 Everything
#> 4 Location
#> 5 Resources
#> 6 Scientific Instrumentation
#> 7 Transportation
#> title
#> 1 Communications
#> 2 Domestic and Industrial Technology
#> 3 Everything
#> 4 Location
#> 5 Resources
#> 6 Scientific Instrumentation
#> 7 Transportation
Show groups
Subset for readme brevity
group_show('communications', as = 'table')$users
#> openid about capacity name created
#> 1 NA <NA> admin marc 2014-10-24T14:44:29.885262
#> 2 NA admin sepandar 2014-10-23T19:40:42.056418
#> email_hash sysadmin
#> 1 a32002c960476614370a16e9fb81f436 FALSE
#> 2 10b930a228afd1da2647d62e70b71bf8 TRUE
#> activity_streams_email_notifications state number_of_edits
#> 1 FALSE active 516
#> 2 FALSE active 44
#> number_administered_packages display_name fullname
#> 1 40 marc <NA>
#> 2 1 sepandar
#> id
#> 1 27778230-2e90-4818-9f00-bbf778c8fa09
#> 2 b50449ea-1dcc-4d52-b620-fc95bf56034b
Show a package
package_show('34d60b13-1fd5-430e-b0ec-c8bc7f4841cf', as = 'table')$resources[, 1:10]
#> resource_group_id cache_last_updated
#> 1 ea8533d9-cdc6-4e0e-97b9-894e06d50b92 NA
#> 2 ea8533d9-cdc6-4e0e-97b9-894e06d50b92 NA
#> 3 ea8533d9-cdc6-4e0e-97b9-894e06d50b92 NA
#> 4 ea8533d9-cdc6-4e0e-97b9-894e06d50b92 NA
#> 5 ea8533d9-cdc6-4e0e-97b9-894e06d50b92 NA
#> revision_timestamp webstore_last_updated
#> 1 2016-06-13T20:05:16.818800 NA
#> 2 2014-11-04T02:59:50.567068 NA
#> 3 2014-11-05T21:23:58.533397 NA
#> 4 2014-11-05T21:25:16.848423 NA
#> 5 2016-06-13T20:06:50.013746 NA
#> id size state hash
#> 1 be2b0af8-24a8-4a55-8b30-89f5459b713a NA active
#> 2 7d65910e-4bdc-4f06-a213-e24e36762767 NA active
#> 3 97622ad7-1507-4f6a-8acb-14e826447389 NA active
#> 4 7a72498a-c49c-4e84-8b10-58991de10df6 NA active
#> 5 7e2cb5de-550d-41a8-ab9d-b2ec35b6671a NA active
#> description format
#> 1 XML Dataset XML
#> 2 Data dictionary for CSTMC artifact datasets. XLS
#> 3 Tips for using the artifacts datasets. .php
#> 4 Tips for using the artifacts datasets. .php
#> 5 Jeux de données XML XML
Search for packages
out <- package_search(q = '*:*', rows = 2, as = "table")$results
out[, !names(out) %in% 'resources'][, 1:10]
#> license_title maintainer relationships_as_object private
#> 1 Open Government Licence - Canada NULL FALSE
#> 2 Open Government Licence - Canada NULL FALSE
#> maintainer_email revision_timestamp
#> 1 2014-10-28T21:27:57.475091
#> 2 2014-10-28T20:40:55.803602
#> id metadata_created
#> 1 99f457c9-ea24-48a1-87be-b52385825b6a 2014-10-24T17:39:06.411039
#> 2 443cb020-f2ae-48b1-be67-90df1abd298e 2014-10-28T20:39:23.561940
#> metadata_modified author
#> 1 2016-06-14T21:31:27.983485
#> 2 2016-06-14T18:59:17.786219
Search for resources
resource_search(q = 'name:data', limit = 2, as = 'table')
#> $count
#> [1] 74
#>
#> $results
#> resource_group_id cache_last_updated webstore_last_updated
#> 1 01a82e52-01bf-4a9c-9b45-c4f9b92529fa NA NA
#> 2 01a82e52-01bf-4a9c-9b45-c4f9b92529fa NA NA
#> id size state last_modified hash
#> 1 e179e910-27fb-44f4-a627-99822af49ffa NA active NA
#> 2 ba84e8b7-b388-4d2a-873a-7b107eb7f135 NA active NA
#> description format mimetype_inner url_type
#> 1 XML Dataset XML NA NA
#> 2 Data dictionary for CSTMC artifact datasets. XLS NA NA
#> mimetype cache_url name
#> 1 NA NA Artifact Data - Exploration and Survey (XML)
#> 2 NA NA Data Dictionary
#> created
#> 1 2014-10-28T15:50:35.374303
#> 2 2014-11-03T18:01:02.094210
#> url
#> 1 http://source.techno-science.ca/datasets-donn%C3%A9es/artifacts-artefacts/groups-groupes/exploration-and-survey-exploration-et-leve.xml
#> 2 http://source.techno-science.ca/datasets-donn%C3%A9es/artifacts-artefacts/cstmc-artifact-data-dictionary-dictionnaire-de-donnees-artefacts-smstc.xls
#> webstore_url position revision_id resource_type
#> 1 NA 0 a22e6741-3e89-4db0-a802-ba594b1c1fad NA
#> 2 NA 1 da1f8585-521d-47ef-8ead-7832474a3421 NA
ckanr’s dplyr interface
ckanr
implements a dplyr
SQL interface to
CKAN’s datastore. You can access any resource in the datastore directly
using only the CKAN resource ID.
Note: this will only work for resources which were uploaded successfully to the datastore - they will show the green “Data API” button in CKAN.
Example of using a different CKAN API
See ckanr::servers()
for a list of CKAN servers. Ther
are 127 as of 2020-07-29.
The UK Natural History Museum
Website: https://data.nhm.ac.uk/
List datasets
ckanr_setup(url = "https://data.nhm.ac.uk")
package_list(as = "table")
#> [1] "3d-cetacean-scanning"
#> [2] "3d-laser-scan-of-nhm-pv-r-9372-palaeosauropus-sp"
#> [3] "abyssline"
#> [4] "african-spiny-solanum"
#> [5] "aleyrodoidea-slide-collection"
#> [6] "alice-test-images"
#> [7] "alignments-of-co1-nd1-and-16s-rrna-for-the-land-snail-corilla"
#> [8] "al-sabouni-et-al-reproducibility"
#> [9] "american-phlebotominae-nhm"
#> [10] "an-influence-of-environmental-variability-on-insects-wing-shape-a-case-study-of-british-odonata"
...
Tags
list
head(tag_list(as = "table"))
#> vocabulary_id display_name id name
#> 1 NA 16S a2fabd81-89df-4520-96d2-d5cd7bdcf094 16S
#> 2 NA 18S 1f9670fe-c4c5-40bb-a02a-8889a11788e7 18S
#> 3 NA 28S 71e10e81-c643-4b67-af02-4f9516b4238b 28S
#> 4 NA 3d 098ccfee-a0fe-451d-b748-b617086d146c 3d
#> 5 NA 3D b26c5cce-dc41-40c6-9cbf-f966aa75d458 3D
#> 6 NA 3D modelling 119868d7-1753-4c35-8641-14681dc472a7 3D modelling
show
tag_show('arthropods', as = 'table')
#> $vocabulary_id
#> NULL
#>
#> $display_name
#> [1] "arthropods"
#>
#> $id
#> [1] "f9245868-f4cb-4c85-a59d-11692db19e86"
#>
#> $name
#> [1] "arthropods"
Packages
search
out <- package_search(q = '*:*', rows = 2, as = 'table')
out$results[, 1:10]
#> license_title maintainer contributors relationships_as_object
#> 1 Creative Commons Attribution NA NULL
#> 2 CC0-1.0 NA <NA> NULL
#> private maintainer_email num_tags affiliation update_frequency
#> 1 FALSE NA 1 Natural History Museum
#> 2 FALSE NA 1 <NA> weekly
#> id
#> 1 d68e20f4-a56d-4a8a-a8d7-dc478ba64c76
#> 2 56e711e6-c847-4f99-915a-6894bb5c5dea
show
package_show(id = "56e711e6-c847-4f99-915a-6894bb5c5dea", as = "table")
#> $domain
#> [1] "data.nhm.ac.uk"
#>
#> $license_title
#> [1] "CC0-1.0"
#>
#> $maintainer
#> NULL
#>
#> $relationships_as_object
...
The National Geothermal Data System
Website: http://geothermaldata.org/
ckanr_setup("http://search.geothermaldata.org")
x <- package_search(q = '*:*', rows = 1)
x$results
#> [[1]]
#> <CKAN Package> 787986f3-fd65-4e99-b28e-077c69933c76
#> Title: Hawthorne Nevada Deep Direct-Use Feasibility Study - Data Used for Geothermal Resource Conceptual Modeling and Power Capacity Estimates Hawthorne_fracture_data_HWAAD-2A_HWAAD-3.xlsx
#> Creator/Modified: 2020-05-07T23:35:47.237011 / 2020-05-07T23:35:47.328456
#> Resources (up to 5): Hawthorne_fracture_data_HWAAD-2A_HWAAD-3.xlsx
#> Tags (up to 5): 2-meter temperatures, DDU, HWAAD-2, HWAAD-2A, HWAAD-3
#> Groups (up to 5):
NA