[MVP]
As a new Wikibase user, I would like to copy entities, primarily properties and items from an existing Wikibase to my new one, so that I can have a starting point in my knowledge graph from which to build.
After doing some small prototyping exercise in our Wikibase.cloud team week we attempted to build a tool using pywikibot to enable copying pages from one Wiki to another. We attempted to use the `transferbot.py` script under-the-hood but realised that this does not work on Wikibase entities.
We realised that a sensible architecture for this would be a container image that we can run which takes the following parameters:
- a source wiki
- a target wiki (+ credentials to edit there; maybe OAuth)
- a list of entities to move (or perhaps optionally all entities in the case of a smaller source Wikibase)
One way to do this would be using `wikibase-cli` which we investigated a little further and seemed plausible.
When a property with a data type missing on the target wiki gets copied over we should log a warning, don't copy the property and continue.
Out of scope for now:
- copy all statements
- for when we do copy over statements: what should happen about statements referencing entities that are not present (i.e. the depth of copy)?
- don't bother with allowing for specific languages to be copied
- (not a probem while we're not copying statements) figuring out what to do with statements with a datatype missing on target wiki?
Acceptance Criteria:
- [] A container image (i.e. a Dockerfile and some tooling to build it)
- [] That takes as either ENV variables, a file mounted in or standard input
- [] a list of entities
- [] A source wiki
- [] A target wiki
- [] That after completing has imported items and properties with their labels, descriptions and alias in all languages and the datatype of properties to the target wiki