#paper #publication #wikidata #api-bindings

bin+lib papers

A library to allow creation and updates of Wikidata items for scientific publications, authors, and related info

1 unstable release

0.1.0 May 17, 2019

#810 in Science

MIT and GPL-2.0+

70KB
1.5K SLoC

Papers

Papers is a Rust crate and binary to create and update Wikidata items about scientific publications, and their authors, from third-party sources.

Install

  • Install Rust
  • Clone this repo and cd into it
  • Create a bot.ini file with a [user] section, and values for user(name) and pass(word) on Wikidata, preferably a bot user
  • Run with cargo run --release -- COMMAND

Sources

Currently, these sources are used by Papers:

  • CrossRef
  • ORCID
  • PubMed
  • PubMedCentral
  • Semantic Scholar

Commands

Available commands are:

papers

Processes STDIN as publication IDs (eg DOIs), one per line. It will update or create the respective Wikidata items. Example:

echo '10.2147/JMDH.S446508' | cargo run --release -- papers

ans (author name string, P2093)

Processes STDIN as author QIDs, one per line. Gets all P50 and P2093 co-authors for each author. For each P2093 co-author on at least 2 papers, it will

  • change it to P50 if there is a P50 co-author with the same name already
  • create a new author item if this name does not have a search hit, and change it to the new P50 author
echo 'Q13520818' | cargo run --release -- ans

authors

Processes STDIN as author IDs (eg ORCID), one per line. It will update or create the respective Wikidata items. Example:

echo '0000-0001-5916-0947' | cargo run --release -- authors

bot

Runs a bot processing command batches in a database. Requires additional setup, not intended to be an end user functionality at this point.

Dependencies

~53MB
~811K SLoC