To whom it may concern, a couple of weeks ago I released a beta version of a new MediaWiki extension which lets you set up data services on your wiki based on the specifications of the Reconciliation Services API (v0.2). This in turn, allows the wiki to be used as a service for reconciliation in OpenRefine.
It currently supports the use of data from MediaWiki core and more importantly, Semantic MediaWiki (https://www.semantic-mediawiki.org). It does not (yet) support reconciliation with Wikibase, I'm sad to say.
The extension serves a dual purpose in that the same API framework has been harnessed to support internal uses such as autocompletion in the wiki. A special feature of the extension is that it lets you manage different 'profiles', JSON schemas that define what data are exposed and how they are exposed to the API endpoint. In the context of OpenRefine, this means, for instance, that you can set up multiple bespoke reconciliation services for the same wiki.
This extension is developed for CODECS (https://codecs.vanhamel.nl), a Celtic studies database published by the A. G. van Hamel Foundation for Celtic Studies.
The Wikibase Stakeholder Group, as many organizations involved are also heavy Wikimedia users, (even if your extension is not compatible with Wikibase)
This looks fantastic, thank you so much for working on that!
I'm curious if the reconciliation endpoint(s) deployed for CODECS are public? Would you have links to share for them?
How much work do you think this would be to extend this to support Wikibase and is it something you plan to do on your side? Or have you got anything else on your roadmap? Are you open to external contributions?
Well, I wish I had the server capacity to go fully public with the site's endpoints. Like many, I'm faced with the modern reality of excessive bot activity and recently had to implement Captcha to ward off some of it. And then there's CORS.
That said, the API is available through the browser and for now, CORS is enabled for the testbench (with the exception of HTML previews). A generic API module using Semantic MediaWiki and default config settings can be tested here:
It is perhaps worth stressing that the extension was written to allow for some flexibility on the part of the site admin. That's why you can build schemas in the wiki to focus on particular use cases. The identifiers associated with those profiles would then be part of the URL. For an example, see Recon:Manuscripts and the 'suggest entity' service you can test here
I have not planned on adding support for Wikibase in the short term - first things first. But it has crossed my mind as a possible future development and sure, I'm open to external contributions.
Knowing very little about Wikibase's architecture, I'm curious to know how different a MediaWiki extension would be in comparison to the Python wrapper. I suppose that rather than doing everything through the API, the extension has the advantage that it can 'hook into' Wikibase Client or use similar methods, but anyway - that's for another discussion!