europeanaR

R-CMD-check Codecov test coverage

The goal of europeanaR is to provide tools to access Linked Open Data published by Europeana. Gain access to millions of entries related to artworks, books, music, and videos on art, newspapers, archaeology, fashion, science, sport, and much more. This thesaurus of cultural heritage can be used in numerous creative ways like for example building applications, data analysis, Statistical and Deep Learning.

Getting started

You can install the development version of europeanaR from GitHub with:

# install.packages("devtools")
devtools::install_github("AleKoure/europeanaR")

Sign up for your free API key and get developing here! When you get you personal key set it as environmental variable.

europeanaR::set_key("YOUR_KEY_GOES_HERE")

Alternatively, you can edit .Renviron by inserting your personal key to the environmental variable EUROPEANA_KEY,

Example

The Search API provides a way to search for metadata records and media on the Europeana repository, for instance give me all results for the word “Vermeer”. The basic API call to the search API can return up to 100 items.

library(europeanaR)
library(data.table)
resp <- query_search_api("Vermeer", rows = 10, reusability = "open")
#transform to tabular data
resp_tidy <- tidy_search_items(resp)
#get preview of first items
first_image <- resp_tidy[type == "IMAGE"][1, edmPreview]

The API call repeats in case of an error, and it is designed to be kind to the server, see here. The retrieved metadata are given in JSON format and are parsed into an R object using jsonlite. In addition, these data can be transformed in tabular format and are compatible also with the data.table package for fast data manipulation operations.

The response richness can be controlled by using the profile query parameter. Also, get bulk downloads of metadata and associated media files by using the functions tidy_cursored_search() and download_media().

bulk_and_rich <- tidy_cursored_search("Vermeer", max_items = 500,
                                      profile = "rich")

The Europeana services documentation can be found here. See the vignettes section and other resources at the package homepage for more information and examples.