Template talk:WikidataCheck
This template does not require a rating on Wikipedia's content assessment scale. It is of interest to the following WikiProjects: | ||||||||
|
Script errors
editThis module has placed several pages in Category:Pages with script errors. Please fix it. Dragons flight (talk) 07:22, 20 May 2013 (UTC)
- Fixed And next time, please see if the error is simple enough to fix yourself. -happy5214 08:04, 20 May 2013 (UTC)
change mw.wikibase.getEntitiy (deprecated) to mw.wikibase.getEntityObject
editThis edit request to Module:WikidataCheck has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
I am trying to change all important modules using mw.wikibase.getEntity() which is deprecated to mw.wikibase.getEntityObject(). You can find more details here [1]. If you could change it on this module, that would be great! Thank you a lot! --Lucie Kaffee (WMDE) (talk) 13:33, 2 March 2015 (UTC) Lucie Kaffee (WMDE) (talk) 13:33, 2 March 2015 (UTC)
- Not done: please make your requested changes to the module's sandbox first; see WP:TESTCASES. —
{{U|Technical 13}} (e • t • c)
15:55, 2 March 2015 (UTC)- I did. Please check Module:WikidataCheck/sandbox. mw.wikibase.getEntity() will be changed in a not backwards compatible way in two weeks, so it would be great to implement the changes before that. --Lucie Kaffee (WMDE) (talk) 15:06, 24 March 2015 (UTC)
- Done. Also Lucie Kaffee (WMDE), if you make 1 more edit anywhere on en.wiki you'll be able to edit semi-protected pages. Stickee (talk) 00:26, 25 March 2015 (UTC)
- I did. Please check Module:WikidataCheck/sandbox. mw.wikibase.getEntity() will be changed in a not backwards compatible way in two weeks, so it would be great to implement the changes before that. --Lucie Kaffee (WMDE) (talk) 15:06, 24 March 2015 (UTC)
Tracking categories
editLocal param | Wikidata property | Tracking cat |
---|---|---|
exists | missing | Not in Wikidata |
missing | exists | Different |
exists | exists and different | Different |
exists | exists and same | Same |
...but row #2 is not (necessarily?) right: missing local param is a normal thing, this means that the value has been migrated to Wikidata, and no human review is needed (unlike row #3). If, on the other hand, one attempts to work around this by falling back to Wikidata property if local param is missing - like MusicBrainz templates do - then #2 becomes #4, which is again not right - the values are not really the "same", there is e.g. no need to delete the local param as redundant. I'd argue that in case #2 no tracking needs to be done. I believe this would make sense both for MusicBrainz and {{Official website}} (I'd like to use WikidataCheck in the latter). GregorB (talk) 11:59, 1 April 2015 (UTC)
- Ping @Happy5214: any opinion on the above? GregorB (talk) 15:32, 15 April 2015 (UTC)
- I have implemented this. Better late than never, I guess. A missing local value is no longer categorized as different. — JJMC89 (T·C) 05:13, 1 October 2016 (UTC)
Somevalue/novalue
edit@Happy5214: the code should be upgraded for somevalue/novalue. That is, if the property is set to 'novalue' or 'somevalue', then currently error is shown. You can take a look at sandbox: "Lua error in Module:WikidataCheck at line 31: attempt to index field 'datavalue' (a nil value).", and the value is set here (currently the last one - IMDb identifier). Code sample is also in coordinates module at makeWikidataCategories
. --Edgars2007 (talk/contribs) 16:40, 11 December 2015 (UTC)
Loop over all property values
editI'd really appreciate if the code comment "This should eventually iterate over all possible values?" was implemented. I guess I'll eventually learn LUA if I have to, but if an expert is already able and willing, you'd have my gratitude. --99of9 (talk) 04:48, 20 June 2017 (UTC)
This edit request to Module:WikidataCheck has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
I have figured out how to do the above request, and implemented it in the Module:WikidataCheck/sandbox. If it looks ok, please copy the sandbox code into the main template. I have tested this by running the sandbox code here, and the examples I tried seemed to work, so I have now reverted that to use the main module. --99of9 (talk) 06:46, 20 June 2017 (UTC)
- Done --Canley (talk) 11:40, 20 June 2017 (UTC)
- Thanks very much. --99of9 (talk) 13:18, 20 June 2017 (UTC)
- There is an issue with: Special:Diff/786592438. Previously, if value was empty, pages would be categorized into a "not in Wikidata" category if there was no Wikidata for the page or if the linked Wikidata did not not have any claims matching property. With the change, the check for an empty value was moved up and pages with linked Wikidata but without claims matching property are no longer categorized into a "not in Wikidata" category (though it still does properly categorize when there is no linked Wikidata at all). 50.53.1.21 (talk) 00:40, 13 January 2018 (UTC)
- Instead of filtering claims to match against value by just property, we should probably also filter by claims by rank as it probably does not make much sense to compare value to deprecated claims. The easiest way to do this is by using
getBestStatements
with property instead of directly accessingclaims[property]
from an entity object. 50.53.1.21 (talk) 00:40, 13 January 2018 (UTC) - Another thing to consider is whether page cache entry should get purged when the linked Wikidata entry is updated (some related discussion at Template talk:Authority control/Archive 6#Technical improvement). Currently the code uses
getEntityObject
which binds Wikidata entry updates to the linked page caching. Since this code only attempts to check data, I believe we should avoid such (presumably the same Wikidata values will get used elsewhere in the template/module code and that probably in general should bind such changes) by using getBestStatements or getAllStatements (with getEntityIdForCurrentPage) over entity:getBestStatements, entity:getAllStatements or entity.claims (with getEntity or getEntityObject). 50.53.1.21 (talk) 00:40, 13 January 2018 (UTC)
- Thanks very much. --99of9 (talk) 13:18, 20 June 2017 (UTC)
This edit request to Module:WikidataCheck has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
- I addressed the above issues in the sandbox, however, I have not done any real testing of the changes. 50.53.1.21 (talk) 07:10, 13 January 2018 (UTC)
Thank you for your work but please do test it before using {{edit template-protected}}. User:Happy5214: would you like to review these changes? — Martin (MSGJ · talk) 09:37, 15 January 2018 (UTC)
- I no longer maintain this module. I'm probably of no help here. If you still need someone to look over it by this weekend, ping me again and I'll try to look at it. -happy5214 04:59, 17 January 2018 (UTC)
- @MSGJ, Happy5214, and 99of9: Sadly there is no real good way for me to test this. It almost requires me to submit another {{edit template-protected}} (or similar) to an existing template using this template/module to test it (and another to revert it back when the testing is complete). 99of9 (talk · contribs) did something similar in Special:Diff/786559931 and Special:Diff/786560495 (see above comments). If you have a better way to test such, I am all ears. 50.53.1.21 (talk) 19:28, 17 January 2018 (UTC)
Stray right bracket
editWhy is the invocation of this module HERE printing a stray ] character? wbm1058 (talk) 23:13, 20 July 2018 (UTC)
- @Wbm1058: It has nothing to do with this module. The reference to Category:People from Oakdale, California had an extra closing bracket. -happy5214 23:46, 20 July 2018 (UTC)
- Facepalm thanks! stuff like that isn't easy to spot! wbm1058 (talk) 23:49, 20 July 2018 (UTC)
Add catsort option
editIs it possible to add a catsort option (say parameter |catsort=
) that, when having input, adds the catsort value? Sometimes I use maintenance categories this way: "when situation is A, catsort under pagename, when situation is B, catsort under '*'". This way the category is dispersing softly. It also can be worked on for example to make the '*' subsort empty. -DePiep (talk) 13:47, 29 January 2017 (UTC)
Custom qid
editI've got a version in the sandbox which accepts |qid=
for arbitrary access to other Wikidata items. Seems to be working but I will test further. — Martin (MSGJ · talk) 17:52, 17 June 2021 (UTC)
- Added — Martin (MSGJ · talk) 12:57, 18 June 2021 (UTC)
New functionality
editI'm not sure if anyone is maintaining this module, but I wanted to suggest that some extra functionality is added. I have coded this in Template:Wikidata alignment but it would be better added to this module I think.
It shows visually (hidden by default) using 4 different icons ( ), the comparison between the local value and Wikidata value. I've copied my example from the documentation page below.
This screenshot shows four fields in an infobox.
- The NGA number is defined locally but missing from Wikidata. A link to import this value via QuickStatements is provided.
- The admiralty number is not defined locally, so the Wikidata value is used by default.
- The ARLHS number stored on Wikidata is slightly different to the local value. The Wikidata value is displayed in red alongside.
- The USCG number defined locally matches the local parameter.
Does this look useful to add here? — Martin (MSGJ · talk) 09:54, 24 September 2021 (UTC)
Case-sensitivity and other stylistic differences
editThank you for building this module. It's a great help for comparing Wikidata and English Wikipedia data to find issues. @Mike Peel is using the results to feed the Mismatch Finder, which is a tool for easier reviewing of mismatches between Wikidata and other data sources. When reviewing mismatches in the Mismatch Finder I am coming across quite a few differences that I think are not really issues that should be flagged. I was wondering if the module could be amended to ignore some of those differences. You can try it yourself by going to https://mismatch-finder.toolforge.org and clicking the "random mismatches" button to see a few of the things that come up.
Here are some example of things that I think should not be flagged as different:
- Twitter user name that only differs in capitalization
- IMDB ID where Wikidata has a convention of keeping the "tt" in the identifier and enwp doesn't
- Open Library ID where Wikidata keeps the "OL" in the identifier but enwp doesn't
LydiaPintscher (talk) 15:03, 7 September 2023 (UTC)
- This is similar to what I was using in Template:Wikidata alignment with the "equivalent" parameter. I think the functionality could be merged into this template if it looks okay. Johnuniq did express reservations on the talk page though — Martin (MSGJ · talk) 16:01, 7 September 2023 (UTC)
- The module already has an option to ignore case, which I added in July. It was implemented in Template:Twitter and others; a full list may be found here. -- Zyxw (talk) 06:46, 1 December 2023 (UTC)
Checking sourced properties only?
editI recently added {{WikidataCheck}} to {{Infobox network service provider}}, which uses {{wdib}} (with |osd=yes
) rather than {{#property}}
in order to comply with a 2018 RFC requiring Wikidata-imported infobox data to be sourced. {{WikidataCheck}} seems to be checking against *all* Wikidata properties, not just sourced ones. Is there any appetite for adding a source check similar to Module:WikidataIB's?
-------------------------------------------------------------------------------
-- sourced takes a table representing a statement that may or may not have references
-- it looks for a reference sourced to something not containing the word "wikipedia"
-- it returns a boolean = true if it finds a sourced reference.
-------------------------------------------------------------------------------
-- Dependencies: none
-------------------------------------------------------------------------------
local sourced = function(claim)
if claim.references then
for kr, vr in pairs(claim.references) do
local ref = mw.wikibase.renderSnaks(vr.snaks)
if not ref:find("Wiki") then
return true
end
end
end
end
DefaultFree (talk) 22:08, 20 November 2023 (UTC)
- Proposal:
collapsed original diff
| ||||
---|---|---|---|---|
|
- Caveat: not entirely sure how best to test this (there doesn't seem to be a /testcases subpage), and I haven't written MediaWiki-lua before, so bugs are not unlikely. DefaultFree (talk) 05:30, 21 November 2023 (UTC)
This edit request to Module:WikidataCheck and Template:WikidataCheck has been answered. Set the |answered= or |ans= parameter to no to reactivate your request. |
In the absence of any negative feedback, I've gone ahead and implemented this in the sandbox. To test, I switched {{Infobox network service provider}} from {{WikidataCheck}} to {{WikidataCheck/sandbox
Thanks! DefaultFree (talk) 03:06, 29 November 2023 (UTC)
- Done * Pppery * it has begun... 01:21, 30 November 2023 (UTC)
- @DefaultFree and Pppery: This change is populating many of the subcategories of Category:Wikipedia categories tracking Wikidata differences. For an example, see the article for Robert Conrad which is now in Category:The Interviews name ID different from Wikidata, even though both {{The Interviews name}} and Television Academy Foundation interviewee ID (P5773) contain the same ID. This appears to be occurring with all unsourced properties. I think the update to Module:WikidataCheck should be reverted until this can be fixed in Module:WikidataCheck/sandbox. -- Zyxw (talk) 10:26, 30 November 2023 (UTC)
- Thanks for pointing this out, and apologies for introducing a bug. It turns out Lua treats the empty string as truthy, causing this new logic to apply in all cases, not just when requested with
|onlysourced=yes
. I'm not able to edit the non-sandbox module, but I believe this should fix it: [2] DefaultFree (talk) 10:37, 30 November 2023 (UTC)- Thanks. I tested your change in Module:WikidataCheck/sandbox with four different templates and it appears to solve the problem, so I am going to add it in Module:WikidataCheck. -- Zyxw (talk) 11:25, 30 November 2023 (UTC)
- Thanks for pointing this out, and apologies for introducing a bug. It turns out Lua treats the empty string as truthy, causing this new logic to apply in all cases, not just when requested with
- @DefaultFree and Pppery: This change is populating many of the subcategories of Category:Wikipedia categories tracking Wikidata differences. For an example, see the article for Robert Conrad which is now in Category:The Interviews name ID different from Wikidata, even though both {{The Interviews name}} and Television Academy Foundation interviewee ID (P5773) contain the same ID. This appears to be occurring with all unsourced properties. I think the update to Module:WikidataCheck should be reverted until this can be fixed in Module:WikidataCheck/sandbox. -- Zyxw (talk) 10:26, 30 November 2023 (UTC)