N.B. In order to provide for consistently structured output, this function outputs either id or value for each qualifier. The user should keep in mind that some of these come with additional detail (e.g. the unit, precision, or reference calendar).
tw_get_qualifiers(
id,
p,
language = tidywikidatar::tw_get_language(),
cache = NULL,
overwrite_cache = FALSE,
cache_connection = NULL,
disconnect_db = TRUE,
wait = 0,
retry = 10,
user_agent = tidywikidatar::tw_get_user_agent(),
id_l = NULL
)A data frame (a tibble) with eight columns: id for the input id,
property, qualifier_id, qualifier_property, qualifier_value,
rank, qualifier_value_type, and set (to distinguish sets of data when
a property is present more than once)
A character vector, must start with Q, e.g. "Q180099" for the
anthropologist Margaret Mead. Can also be a data frame of one row,
typically generated with tw_search() or a combination of tw_search()
and tw_filter_first().
A character vector, a property. Must always start with the capital letter "P", e.g. "P31" for "instance of".
Defaults to language set with tw_set_language(); if not
set, "en". Use "all_available" to keep all languages. For available
language values, see
the
dedicated Wikimedia page.
Defaults to NULL. If given, it should be given either TRUE
or FALSE. Typically set with tw_enable_cache() or tw_disable_cache().
Logical, defaults to FALSE. If TRUE, it overwrites
the table in the local sqlite database. Useful if the original Wikidata
object has been updated.
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 vignette caching for
details).
Defaults to TRUE. If FALSE, leaves the connection to
cache open.
In seconds, defaults to 0. Time to wait between queries to Wikidata. If data are cached locally, wait time is not applied. If you are running many queries systematically you may want to add some waiting time between queries.
Defaults to 10. Maximum number of times to retry if the API
throws an error, such as "too many requests". Each time, it will wait as
much time as requested by the API. Notice that this can be a long time,
e.g. 30 minutes. Set to FALSE if you prefer the API to throw an error
immediately. Consider adjusting the wait parameter, or customising the
user_agent if relevant.
Defaults to NULL. If not given, implicitly defaults to
current package name (tidywikidatar) and version.
Defaults to NULL. If given, must be an object or list such as
the one generated with tw_get_item(). If given, and the requested
id is actually present in id_l, then no query to Wikidata servers is
made.
if (interactive()) {
tidywikidatar::tw_get_qualifiers(id = "Q180099", p = "P26", language = "en")
}
#' ## using `tw_test_items` in examples in order to show output without calling
## on Wikidata servers
tidywikidatar::tw_get_qualifiers(
id = "Q180099",
p = "P26",
language = "en",
id_l = tw_test_items
)
Run the code above in your browser using DataLab