Writes item to cache. Typically used internally, but exported to enable custom caching solutions.
Usage
tw_write_item_to_cache(
item_df,
language = tidywikidatar::tw_get_language(),
cache = NULL,
overwrite_cache = FALSE,
cache_connection = NULL,
disconnect_db = TRUE
)
Arguments
- item_df
A data frame with three columns typically generated with
tw_get()
.- language
Defaults to language set with
tw_set_language()
; if not set, "en". Use "all_available" to keep all languages. For available language values, see https://www.wikidata.org/wiki/Help:Wikimedia_language_codes/lists/all- cache
Defaults to NULL. If given, it should be given either TRUE or FALSE. Typically set with
tw_enable_cache()
ortw_disable_cache()
.- overwrite_cache
Logical, defaults to FALSE. If TRUE, it first deletes all rows associated with the item(s) included in
item_df
. Useful if the original Wikidata object has been updated.- cache_connection
Defaults to NULL. If NULL, and caching is enabled,
tidywikidatar
will use a local sqlite database. A custom connection to other databases can be given (see vignettecaching
for details).- disconnect_db
Defaults to TRUE. If FALSE, leaves the connection to cache open.
Examples
tw_set_cache_folder(path = fs::path(tempdir(), paste(sample(letters, 24), collapse = "")))
tw_create_cache_folder(ask = FALSE)
tw_disable_cache()
df_from_api <- tw_get(id = "Q180099", language = "en")
df_from_cache <- tw_get_cached_item(
id = "Q180099",
language = "en"
)
is.null(df_from_cache) # expect TRUE, as nothing has yet been stored in cache
#> [1] FALSE
tw_write_item_to_cache(
item_df = df_from_api,
language = "en",
cache = TRUE
)
df_from_cache <- tw_get_cached_item(
id = "Q180099",
language = "en",
cache = TRUE
)
is.null(df_from_cache) # expect a data frame, same as df_from_api
#> [1] FALSE