Upload data to Wikidata, including creating items, adding statements to existing items (via the quickstatements format and API).
Usage
write_wikidata(
items,
properties = NULL,
values = NULL,
qual.properties = NULL,
qual.values = NULL,
src.properties = NULL,
src.values = NULL,
remove = FALSE,
format = "tibble",
api.username = NULL,
api.token = NULL,
api.format = "v1",
api.batchname = NULL,
api.submit = TRUE
)Arguments
- items
a vector of strings indicating the items to which to add statements (as QIDs or labels). Note: if labels are provided, and multiple items match, the first matching item will be used (see
as_qidfunction), so use with caution. New QIDs can be created by using the "CREATE_xyz", where "_xyz" is any unique string. Using the same id will add additional statements to those new items- properties
a vector of strings indicating the properties to add as statements (as PIDs or labels). Note: if labels are provided, and multiple items match, the first matching item will be used (see
as_pidfunction), so use with caution. Four special properties can also be used: labels, aliases, descriptions and sitelinks. See [this link](https://www.wikidata.org/wiki/Help:QuickStatements#Adding_labels,_aliases,_descriptions_and_sitelinks) for the syntax.- values
a vector of strings indicating the values to add as statements (as QIDs or strings). Note: if strings are provided, they will be treated as plain text.
- qual.properties
a vector, data frame, or tibble of strings indicating the properties to add as qualifiers to statements (as PIDs or labels). Note: if labels are provided, and multiple items match, the first matching item will be used (see
as_pidfunction), so use with caution.- qual.values
a vector, data frame, or tibble of strings indicating the values to add as statements (as QIDs or strings). Note: if strings are provided, they will be treated as plain text.
- src.properties
a vector, data frame, or tibble of strings indicating the properties to add as reference sources to statements (as SIDs or labels). Note: if labels are provided, and multiple items match, the first matching item will be used (see
as_sidfunction), so use with caution.- src.values
a vector, data frame, or tibble of strings indicating the values to add reference sources to statements (as QIDs or strings). Note: if strings are provided, they will be treated as plain text.
- remove
a vector of boolians for each statemnt indicating whether it should be removed from the item rather than added (default = FALSE)
- format
output format as a string. Options include:
- tibble
easiest format to further manipulation in R
- csv
can be copy-pasted to [the QuickStatements website](https://quickstatements.toolforge.org/) (or manipulated in a spreadsheet programs)
- api
a url that can be copy-pasted into a web browser, or automatically submitted (see
api.submitparameter)- website
open a [QuickStatements](https://quickstatements.toolforge.org/) web browser window summarizing the edits to be made to Wikidata)
- api.username
a string indicating your Wikimedia username
- api.token
a string indicating your api token (the unique identifier that you can find listed at [your user page](https://quickstatements.toolforge.org/#/user))
- api.format
a string indicating which version of the quickstatement format used to submit the api (default = "v1")
- api.batchname
a string create a named batch (listed at [your batch history page](https://quickstatements.toolforge.org/#/batches)) and tag in the edit summaries
- api.submit
boolian indicating whether to submit instruction directly to wikidata (else returns the URL that can be copy-pasted into a web browser)
Value
data formatted to upload to wikidata (via quickstatemsnts),
optionally also directly uploaded to wikidata (see format parameter).
Examples
# Add a statement to the "Wikidata sandbox" item (Q4115189)
# to say that it is an "instance of" (P31) of Q1 (the universe).
# The instruction will submit directly to wikidata via the API
# (if you include your Wikimedia username and token)
if (FALSE) write_wikidata(items = "Wikidata Sandbox",
properties = "instance of",
values = "Q1",
format = "api",
api.username = "myusername",
api.token = , #REDACTED#
) # \dontrun{}
#note: