As a developer working on Wikibase features, I would like Wikibase to provide a query backend (database) that is suitable for simple structured data queries on statements, e.g. find items with occupation = scientist and field of work chemistry or physics ordered by date of birth. An example of a feature that would benefit from such a database is outlined in T390542 (faceted search).
The existing database technologies we use don't quite fit the bill:
- the way wikibase stores statements in its primary sql tables is not queryable
- ElasticSearch + CirrusSearch almost works with the haswbstatement keyword, but there are many limitations e.g. support for logical operators, not supporting comparison operators other than = and the fact that ElasticSearch is made for text search, not structured data
- WDQS currently doesn't seem performant enough and overly complicated for queries that don't require a graph database
We want to answer the following questions:
- Can we work around the current limitations of CirrusSearch / ElasticSearch to build a feature like T390542?
- What alternatives are there e.g. document database like MongoDB?