Reconciliation API
The ReconciliationAPI extension (work in progress) lets you create and finetune API endpoints and services that can be used for entity reconciliation and word completion. Its current focus is on Semantic MediaWiki and MediaWiki core.
- Entity reconciliation following the specifications of the W3C Entity Reconciliation Community Group (v2). Reconciliation usually means matching a dataset you are working on with another from an external source. It is a key feature of OpenRefine, which when coupled with the right tools (plugins or otherwise) allows you to look for and ‘reconcile’ with authority records in other databases, such as Wikidata, Library of Congress, or your own instance of Wikibase. To enable a Reconciliation API means to open up data on your wiki via a reconciliation service to which tools like OpenRefine can connect.
- Word completion, also known as autocomplete or predictive search, is an essential and ubiquitous feature of user interfaces in which a user starts typing and in response, the application suggests a list of candidate entities/values for selection or confirmation based on a set of criteria. This extension attempts to provide Autocomplete APIs
- for the Reconciliation API
- for internal use in search bars, forms and other UI/UX features that have need of the functionality
This extension attempts to make some allowance for fact that real-world wikis use different strategies in setting up their data structures. A large part of this flexibility is offered by way of 'profiles', JSON schemas that users can set up on their wiki to shape the behaviour of a given API module.
Configuration
@todo Options in Localsettings.php.
[...]
Usage
Strategies
There are two or three main ways in which an API can be ....
- The recommended way is to set up a new page in the
Recon
namespace. - Add a JSON-encoded configuration profile to the URL (not supported yet)
- Some queries are possible with plain parameters.
When it comes to wildcards and ..., a particular challenge is dealing with disparate behaviours depending on the backend being used, for example:
- SQL (default)
- SQL with Full-Text Search enabled
- Elasticsearch
API actions
recon-manifest
Not yet implemented.
recon-suggest-entity
Service for suggesting wiki pages, with options, e.g. to restrict one's search to a MediaWiki category/categories or namespace.
recon-suggest-property
Service for suggesting Semantic MediaWiki properties whose (page) names match the search condition.
recon-suggest-propvalue
Service for suggesting property values on the basis of the provided property name and substring.
api.php?action=recon-suggest-propvalue&source=smw&property=...&substr=...
recon-suggest-type
....
Elasticsearch
Support for SMW with Elasticsearch is not yet implemented.
Cargo
Support for Cargo is not yet implemented.