rdatacite provides programmatic accesses to DataCite (https://datacite.org/) metadata
rdatacite docs: https://docs.ropensci.org/rdatacite
Package API:
dc_providersdc_reportsdc_checkdc_eventsdc_doisdc_clientsdc_client_prefixesdc_provider_prefixesdc_statusdc_prefixesdc_activitiesStable CRAN version
install.packages("rdatacite")
Development version from github
# pak::pkg_install("ropensci/rdatacite")
install.packages("rdatacite", repos = c('https://ropensci.r-universe.dev', 'https://cloud.r-project.org'))
library('rdatacite')
Outputs from nearly all rdatacite functions will be of class dc, an S3 class that's
simply a named list of results. You can easily remove the class via unclass().
The print.dc method prints the data.frame for the data, included, and reports
slots if they exist, but hides the meta named list. You can get to the metadata by
indexing to it like $meta.
You may want to start with dc_dois().
dc_dois(query = "climate change")
#> datacite: dois
#> found: 85075, pages: 400, page: 1
#> slots: data, meta, links
#> $data
#> # A tibble: 25 x 4
#> id type attributes$doi $identifiers $creators $titles $publisher
#> <chr> <chr> <chr> <list> <list> <list> <chr>
#> 1 10.1… dois 10.15786/20.5… <list [0]> <df[,6] … <df[,1… Mountain …
#> 2 10.2… dois 10.25675/1021… <list [0]> <df[,3] … <df[,2… Mountain …
#> 3 10.2… dois 10.25675/1021… <list [0]> <df[,3] … <df[,2… Mountain …
#> 4 10.2… dois 10.25675/1021… <list [0]> <df[,3] … <df[,2… Mountain …
#> 5 10.2… dois 10.25675/1021… <list [0]> <df[,3] … <df[,2… Mountain …
#> 6 10.2… dois 10.25676/1112… <list [0]> <df[,6] … <df[,1… Mountain …
#> 7 10.2… dois 10.25676/1112… <list [0]> <df[,6] … <df[,1… Mountain …
#> 8 10.2… dois 10.25675/1021… <list [0]> <df[,6] … <df[,2… Mountain …
#> 9 10.2… dois 10.25675/1021… <list [0]> <df[,6] … <df[,1… Mountain …
#> 10 10.2… dois 10.25675/1021… <list [0]> <df[,6] … <df[,1… Mountain …
#> # … with 15 more rows, and 42 more variables: $container <df[,0]>,
#> # $publicationYear <int>, $subjects <list>, $contributors <list>,
#> # $dates <list>, $language <chr>, $types$ris <chr>, $$bibtex <chr>,
#> # $$citeproc <chr>, $$schemaOrg <chr>, $$resourceType <chr>,
#> # $$resourceTypeGeneral <chr>, $relatedIdentifiers <list>, $sizes <list>,
#> # $formats <list>, $version <lgl>, $rightsList <list>, $descriptions <list>,
#> # $geoLocations <list>, $fundingReferences <list>, $url <chr>,
#> # $contentUrl <lgl>, $metadataVersion <int>, $schemaVersion <chr>,
#> # $source <chr>, $isActive <lgl>, $state <chr>, $reason <lgl>,
#> # $viewCount <int>, $downloadCount <int>, $referenceCount <int>,
#> # $citationCount <int>, $partCount <int>, $partOfCount <int>,
#> # $versionCount <int>, $versionOfCount <int>, $created <chr>,
#> # $registered <chr>, $published <lgl>, $updated <chr>,
#> # relationships$client$data$id <chr>, $$$type <chr>
#>
#> $included
#> NULL
The query parameter supports Elasticearch query string queries. Some examples:
# search within a field
dc_dois(query = "publicationYear:2016")
# fuzzy search (via *) on a nested field
dc_dois(query = "creators.familyName:mil*")
rdatacite in R doing citation(package = 'rdatacite')