quickstatements-to-wikibase-edit

1.2.1 • Public • Published

quickstatements-to-wikibase-edit

Tools to convert QuickStatements commands into wikibase-edit format.

⚠️ Status: experimental

Supported features

  • add labels, descriptions, aliases, sitelinks
  • add statements with qualifiers and references
  • if a statement with the same value already exist, do not re-add it, but add the new qualifiers and references
  • create items
  • merge items

Missing features

  • remove statement

CLI

Install

# Should make the commands `wb` and `quickstatements-to-wikibase-edit` available from anywhere
npm install --global wikibase-cli quickstatements-to-wikibase-edit
# Make sure your credentials are setup for the target instance (example below with wikidata.org)
wb config credentials https://www.wikidata.org test

Usage

# Should generate edits, creations, and merges NDJSON files, depending on the commands content
quickstatements-to-wikibase-edit ./quickstatement_commands.txt

cat 0ba886b6-edits.ndjson | wb edit-entity --batch --summary 'fixing stuff'
cat 0ba886b6-creations.ndjson | wb create-entity --batch --summary 'fixing stuff'
cat 0ba886b6-merges.ndjson | wb merge-entity --batch --summary 'fixing stuff'

By default, edits will be run with their reconciliation mode set to merge, to mimick QuickStatements behavior. Other reconciliation modes could be used (see wikibase-edit documentation for behavior explainations)

quickstatements-to-wikibase-edit ./quickstatement_commands.txt --reconciliation merge # Default
quickstatements-to-wikibase-edit ./quickstatement_commands.txt --reconciliation skip-on-any-value
quickstatements-to-wikibase-edit ./quickstatement_commands.txt --reconciliation skip-on-value-match
quickstatements-to-wikibase-edit ./quickstatement_commands.txt --reconciliation none

JS

Install

npm install wikibase-edit quickstatements-to-wikibase-edit

Usage

const wbEdit = require('wikibase-edit')({ instance, credentials })
const quickstatementsToWikibaseEdit = require('quickstatements-to-wikibase-edit')

const commands = `
Q4115189	P31	Q1
Q4115189	P373	"Antoni Ignacy Mietelski"
Q1214098	P1476	pl:"Krzyżacy"
CREATE
LAST	Sfrwiki	"Le croissant magnifique!"
LAST	Lfr	"Le croissant magnifique!"
Q340122	Aen	"Cyprjan Kamil Norwid"
MERGE	Q1	Q2
Q340122	Aen	"Cyprian Kamil Norwid|Cypryan Kamil Norvid"
`

const options = {
  // Optionnally set the reconciliation object, see wikibase-edit documentation
  // https://github.com/maxlath/wikibase-edit/blob/main/docs/how_to.md#reconciliation
  reconciliation: {
    mode: 'none' // Default value: merge (mimicking QuickStatements behavior)
  }
}

const { edits, creations, merges } = quickstatementsToWikibaseEdit(commands, options)

for (const edit of edits) {
  await wbEdit.entity.edit(edit)
}

for (const creation of creations) {
  await wbEdit.entity.create(creation)
}

for (const merge of merges) {
  await wbEdit.entity.merge(merge)
}

Package Sidebar

Install

npm i quickstatements-to-wikibase-edit

Weekly Downloads

1

Version

1.2.1

License

MIT

Unpacked Size

11.5 kB

Total Files

9

Last publish

Collaborators

  • maxlath