Page MenuHomePhabricator

Wikibase Request for Comment: an inventory of Wikibase related artifacts
Open, Needs TriagePublic

Description

Goal

  • To keep an inventory of any artifact of certain relevance for a Wikibase instance (including mediawiki extensions not strictly for Wikibase).
  • The expected host is the current https://Wikibase.world.
  • This inventory would act as configuration database of relevant WB instances (wb.c, Wikidata, Miraheze...) to be used as references also.

Context

  • When setting up a new Wikibase instance, specially if you gain a lot of experience in Wikidata, you can feel a features emptiness and a loss of productivity and today is not easy to describe to the details because it's very complex to identify all the artifacts you are used to, and how to add, if technically posible, to your instance.
  • We also should identify all kinds of artifacts related with practical wikibase implementations, like:
    • mediawiki extensions
    • js gadgets
    • templates
    • companion software as webapps
    • companion software as cli tools
    • companion software as jupyter notebooks scripts
    • ontologies
    • ShEx's
    • bot tasks (not really a software artifact but frequent tasks to be done by software)
  • The interest of an inventory is for reuse. This days the immense majority the resources available are tied to a platform (like Wikidata), but it would help to identify the features they provide and be considered for a potential modifications for portability.
  • There is some previous work made by the DHwiki workgroup suitable to be imported into wb.w.

First draft

Wikibase.world query:

PREFIX wd: <https://wikibase.world/entity/>
PREFIX wdt: <https://wikibase.world/prop/direct/>
PREFIX wikibase: <http://wikiba.se/ontology#>
PREFIX bd: <http://www.bigdata.com/rdf#>
SELECT ?item ?itemLabel ?thingLabel WHERE {
  VALUES ?thing {
    wd:Q283
    wd:Q1889
    wd:Q61
  }
  ?item wdt:P3 ?thing.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}

https://tinyurl.com/2b5t4vrk

Event Timeline

Restricted Application added subscribers: Reception123, Aklapper. · View Herald Transcript

So, I am pro trying to help people work on this, possibly via my Addbot that currently maintains wikibase.world
The code is a little hard to look at, as its trying to be efficient given the wikibase.wold rate limiting, and also limitations in data collection from wikibases in general.
But ultimately, for all of the cases we want data for, we need to come up with

1 - A way of modeling that data on wikibase.world via properties
2 - A way of collecting that data in a generic way from wikibases
3 - Decisions about update criteria and removal criteria for the data (less important for the simple data)

perhaps we should prioritize the desired data too

1 - A way of modeling that data on wikibase.world via properties

I'll be happy leaving Istanbul with this task done, populated with a few data, at least the one I collected for DHwiki.

Relevant templates existing in Wikidata

Relevant maintenance tasks made by bots in Wikidata:

  • relinking merged items (unknown source)
  • Constraint violations (done in WD by krbot2)

For reference, there's an overview of MediaWiki's customization interfaces. Perhaps it could serve as a starting point for mdeling an ontology of mediawiki augmentation mechanisms. Comparing it to the list in the task description, it seems like perhaps Lua modules should be added as a relevant kind of artifact.

Companion software:

  • Tool:InteGraality, a tool generating dashboards of property coverage for a given part of Wikidata.
  • Listeria, generates lists on Wikipedias, based on Wikidata queries. <- do we really need this in Wikibase?
  • WikibaseMigrator/Beam-me-up Tool, a tool to migrate wikibase entities from one wikibase instance to another.

The recommended revisions look like an interesting information source, example: Recommended revisions/1.43.