Context: Historically, Wikibase software has allowed statement IDs that had Q-ID (or P-ID) part lowercased. It has resulted e.g. on Wikidata to have statements in mixed case, e.g. q7348050$F81E10C9-8F35-4F21-9057-BE76C1E0AB5A and Q7348050$6252EE3A-D5AC-45D7-9A41-85D4087AB6D9 on the same item.
As the statement ID is used to identify it, in REST API but also in other Wikibase interfaces, Wikibase REST API cannot stop handling those.
Currently Wikibase REST API "normalizes" statement IDs in the data presented in its responses but always using uppercase characters in statement IDs. This might lead to giving wrong IDs to the Wikibase REST API clients, and therefore we want to present statement IDs exactly how they're stored in Wikibase.
Task Breakdown Notes
- Modify the StatementGuid constructor: add a third parameter with the original (case sensitive) statementId, default to null.
- Change the StatementGuidParser to pass the original ID into the StatementGuid object upon initialisation