View source: R/tw_get_property.R
| tw_get_property_same_length | R Documentation |
Get Wikidata property of an item as a vector or list of the same length as input
tw_get_property_same_length(
id,
p,
only_first = FALSE,
preferred = FALSE,
latest_start_time = FALSE,
language = tidywikidatar::tw_get_language(),
id_df = NULL,
cache = NULL,
overwrite_cache = FALSE,
cache_connection = NULL,
disconnect_db = TRUE,
wait = 0
)
tw_get_p(
id,
p,
only_first = FALSE,
preferred = FALSE,
latest_start_time = FALSE,
language = tidywikidatar::tw_get_language(),
id_df = NULL,
cache = NULL,
overwrite_cache = FALSE,
cache_connection = NULL,
disconnect_db = TRUE,
wait = 0
)
id |
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 |
p |
A character vector, a property. Must always start with the capital letter "P", e.g. "P31" for "instance of". |
only_first |
Logical, defaults to |
preferred |
Logical, defaults to |
latest_start_time |
Logical, defaults to |
language |
Defaults to language set with |
id_df |
Default to |
cache |
Defaults to |
overwrite_cache |
Logical, defaults to |
cache_connection |
Defaults to |
disconnect_db |
Defaults to |
wait |
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. |
A list of the same length as input (or a character vector is
only_first is set to TRUE)
# By default, it returns a list of the same length as input,
# no matter how many values for each id/property
if (interactive()) {
tw_get_property_same_length(
id = c(
"Q180099",
"Q228822",
"Q76857"
),
p = "P26"
)
# Notice that if no relevant match is found, it returns a NA
# This is useful for piped operations
tibble::tibble(id = c(
"Q180099",
"Q228822",
"Q76857"
)) %>%
dplyr::mutate(spouse = tw_get_property_same_length(id, "P26"))
# Consider unnesting for further analysis
tibble::tibble(id = c(
"Q180099",
"Q228822",
"Q76857"
)) %>%
dplyr::mutate(spouse = tw_get_property_same_length(id, "P26")) %>%
tidyr::unnest(cols = spouse)
# If you are sure that you are interested only in the first return value,
# consider setting only_first=TRUE to get a character vector rather than a list
# Be mindful: you may well be discarding valid values.
tibble::tibble(id = c(
"Q180099",
"Q228822",
"Q76857"
)) %>%
dplyr::mutate(spouse = tw_get_property_same_length(id, "P26",
only_first = TRUE
))
}
tw_get_p(id = "Q180099", "P26")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.