Steps to replicate the issue
- create a mismatch CSV with a mismatch that has an external value that looks like an Item ID (i.e. Qxxx)
- upload it into the Mismatch Finder
- See the external value formatted as an Item ID on the Mismatch Finder results page
What happens?:
If there is a mismatch with a string value that happens to look like an item ID, Mismatch Finder will try to show it as the label of that item, even though it has nothing to do with the mismatch. For example, when I created a fictional mismatch for the Q2 (Star Trek: Voyager) WikiTrek ID on a local install, it looked like this:
The value should just be Q2, but it gets shown as a reference to the item Earth.
If the item doesn’t actually exist, you even get an error, e.g. for q0 or Q052.
[2022-10-19 15:52:44] local.ERROR: Could not find an entity with the ID "Q0". {"exception":"[object] (App\\Exceptions\\WikibaseAPIClientException(code: 0): Could not find an entity with the ID \"Q0\". at /var/www/html/app/Services/WikibaseAPIClient.php:42) [stacktrace] ... [2022-10-19 15:53:09] local.ERROR: Could not find an entity with the ID "Q052". {"exception":"[object] (App\\Exceptions\\WikibaseAPIClientException(code: 0): Could not find an entity with the ID \"Q052\". at /var/www/html/app/Services/WikibaseAPIClient.php:42) [stacktrace] ...
What should have happened instead?:
- No error is thrown
- Mismatch Finder should format Wikidata values depending on the data type of the property they belong to, instead of trying to guess what data type they look like.