Efficiently get a wide table with various properties of a given set of Wikidata identifiers
tw_get_p_wide(
id,
p,
label = FALSE,
property_label_as_column_name = FALSE,
both_id_and_label = FALSE,
only_first = FALSE,
preferred = FALSE,
unlist = FALSE,
collapse = ";",
language = tidywikidatar::tw_get_language(),
id_df = NULL,
id_df_label = NULL,
cache = NULL,
overwrite_cache = FALSE,
cache_connection = NULL,
disconnect_db = TRUE,
wait = 0
)A data frame, with a column for each given property.
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".
Logical, defaults to FALSE. If TRUE labels of Wikidata Q
identifiers are reported instead of the identifiers themselves (or labels
are presented along of them, if both_id_and_label is set to TRUE)
Logical, defaults to FALSE. If FALSE,
names of columns with properties are the "P" identifiers of the property.
If TRUE, the label of the correspondent property is assigned as column
name.
Logical, defaults to FALSE. Relevant only if label
is set to TRUE, otherwise ignored. If TRUE, the label is added as a
separate column along the original one. Column name is the same as the
property column, followed by "_label".
Logical, defaults to FALSE. If TRUE, it just keeps the
first relevant property value for each id (or NA if none is available),
and returns a character vector. Warning: this likely discards valid values,
so make sure this is really what you want. If FALSE, returns a list of
the same length as input, with all values for each id stored in a list if
more than one is found.
Logical, defaults to FALSE. If TRUE, returns properties
that have rank "preferred" if available; if no "preferred" property is
found, then it is ignored.
Logical, defaults to FALSE. Typically used sharing or exporting
data as csv files. Collapses all properties in a single string. The
separator is defined by the collapse parameter. Relevant only when
only_first is set to FALSE.
Defaults to ";". Character used to separate results when
unlist is set to TRUE.
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.
Default to NULL. If given, it should be a dataframe typically
generated with tw_get(), and is used instead of calling Wikidata or
using SQLite cache. Ignored when id is of length more than one.
Defaults to NULL. If given, it should be a dataframe
typically generated with tw_get() with all items for which labels will
be requested. It is used instead of calling Wikidata or relying on cache.
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.
if (interactive()) {
tw_get_p_wide(
id = c("Q180099", "Q228822", "Q191095"),
p = c("P27", "P19", "P20"),
label = TRUE,
only_first = TRUE
)
}
Run the code above in your browser using DataLab