This task is a decision ticket for how we will access Lexeme objects (JSON blobs) from Wikidata into the Wikifunctions function-orchestrator service when needed. Apparently, there are multiple APIs with different availability/qualities, and we should select which one we're going to use.
Use Case
A user needs the proper plural of an English noun. For now, we assume that we know the LID, so we want to be able to get the JSON describing the Lexeme with a specific LID.
Questions to answer
- Is there a way to register to be pinged if a Lexeme has been edited, so we can purge caches if necessary? Does this already exist for Commons and the Wikipedias?
- Is there a way to register to be pinged if a Item has been edited? Is this the same method as Lexemes?
- Given that Wikifunctions are running a MediaWiki extension (WikiLambda), is there a way for them to arrange for WikiLambda to retrieve Wikidata content (lexemes in particular) without crossing a network boundary?
- What API options are there? Which one would work best for this use case?
Steps:
- Understanding of what APIs exist
- Input from WMDE about which API(s) they recommend, and pros and cons
- Selection of said API
- Confirmation that said API is appropriately accessible/cached from the k8s cluster
Notes
Background reading: https://www.wikidata.org/wiki/Wikidata:Data_access