Jump to content

Module talk:Wikidata

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Lowercase sigmabot III (talk | contribs) at 05:38, 9 February 2020 (Archiving 1 discussion(s) to Module talk:Wikidata/Archive 2) (bot). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

QID lookup from enwp article title

@RexxS: At Malaybalay, {{PH wikidata}} causes an error as it calls this module, which calls Module:i18n to load i18n data, but Module:Wikidata/i18n is empty and does not contain the required res.i18n table. I think line 89 should be commented as it's clearly not used (yet). Thayts ••• 16:42, 29 September 2019 (UTC)[reply]

Hi, Thayts, I stopped active work on Module:Wikidata over three years ago when I shifted my efforts into creating Module:WikidataIB specifically for use in infoboxes. The functions in there are now much more up-to-date and I'd really recommend using that in preference to this module, which contains an amalgamation of all sorts of code from different Wikipedias.
The Module:Wikidata/i18n returns an empty table, which is pretty much what I'd expect as the internationalisation for en-wiki is in lines 16–80. The point of the Module:Wikidata/i18n was to allow other wikis to create their own values, which would overwrite those in lines 16–80 as needed when the module was loaded. If you were to comment out line 89, that would mean that other wikis would have to re-enable it every time they do an update from here.
The code that used to handle it (without problem as far as I can recall) was changed in these edits, so I can't tell you what the reasoning was.
Instead, I suggest you check line 83 of Module:WikidataIB:

if 'en' ~= mw.getContentLanguage():getCode() then

which may offer a solution for you, while retaining the ability of non-English wikis to use the code from here, along with their own internationalisation from their version of Module:Wikidata/i18n. --RexxS (talk) 19:29, 29 September 2019 (UTC)[reply]
Alright. Well, I don't know how, but the error(s) suddenly disappeared. Thayts ••• 20:09, 29 September 2019 (UTC)[reply]
So this happened. Probably not related to this module then. Thayts ••• 07:05, 30 September 2019 (UTC)[reply]
@RexxS: Turns out I have to reconsider again. This is a problem with this module (as we found out). However, I don't have the rights to change this module... Thayts ••• 20:47, 30 September 2019 (UTC)[reply]
@Thayts: I've modified the code to only load Module:Wikidata/i18n on non-English wikis. See if that helps. --RexxS (talk) 21:04, 30 September 2019 (UTC)[reply]
That is not a solution for the other wikis, but alas. Thayts ••• 21:47, 30 September 2019 (UTC)[reply]
The real solution for other wikis is not to use this module. It has no regular maintainer and doesn't get updated. For example, it still uses the expensive mw.wikibase.getEntityObject() calls, which were replaced more than a year ago in Module:WikidataIB. --RexxS (talk) 23:38, 30 September 2019 (UTC)[reply]
It would be great if we had just one wikidata module and you all worked together to keep it maintained :) — Martin (MSGJ · talk) 10:54, 11 October 2019 (UTC)[reply]

Get a single QID

Hello. How can I get only the preferred value (i.e. limit to only the best ranked value), when using this code: {{#invoke:Wikidata|getPropertyIDs|P516|qid={{{qid|}}}|FETCH_WIKIDATA}}? I'm looking for something like the |rank=best and/or |maxvals=1 functions in Module:WikidataIB. Rehman 10:49, 13 October 2019 (UTC)[reply]

@Rehman: I've implemented the function in WikidataIB so that you should have full use of ranks, onlysourced, maxvals, sorted, etc. as usual.
  • {{#invoke:WikidataIB/sandbox |getPropertyIDs |qid=Q151973 |P26 |fwd=ALL |osd=n}} → Q34851, Q7659507, Q16770428, Q34851, Q3469983
Let me know if any features are missing. I've set |noicon= to default to true but you can enable it with |noicon=false, if required. Cheers --RexxS (talk) 18:02, 13 October 2019 (UTC)[reply]
Thank you, RexxS. It works great! Rehman 02:33, 14 October 2019 (UTC)[reply]

Deprecation

This module was marked as deprecated but has 487,638 transclusions. I'm assuming this most come from a few highly transcluded templates. Can anyone help finding those usages? It will give us a star start with converting to Module:WikidataIB and Module:Wd. --Gonnym (talk) 15:27, 2 January 2020 (UTC)[reply]

Here are the transclusions in template space. From that page, click on "links" next to any template name and then click "Transclusion count".
That looks like about 150,000 transclusions. Start there, and if you get through that list, come back and I'll take another look. – Jonesey95 (talk) 17:23, 2 January 2020 (UTC)[reply]
Your assumption is probably correct; remaining requires uses are limited to sandboxes. I suppose someone could invoke the module through wikitext in a module by preprocessing, but I find that less likely (for the curious; most look like documentation and comments). --Izno (talk) 18:23, 2 January 2020 (UTC)[reply]
This is a search of template space for #invoke. There are some 200 templates using the module. --Izno (talk) 18:25, 2 January 2020 (UTC)[reply]
That's a good search. That led me to:
Have fun! – Jonesey95 (talk) 18:36, 2 January 2020 (UTC)[reply]
Thanks for the lists!
Anyone know how to find an article that uses {{Infobox AFL biography}} and gets the image from wikidata? [1] fails. --Gonnym (talk) 18:43, 2 January 2020 (UTC)[reply]
Query for the presence of P3546 and P18 in the same item. I don't know how to do it. – Jonesey95 (talk) 23:28, 2 January 2020 (UTC)[reply]
@Gonnym: Looks like 25,260 results on Wikidata: see this query. I can't easily tell you how many of those have articles, though. --RexxS (talk) 23:57, 2 January 2020 (UTC)[reply]
P.S. Category:Pages using Wikidata property P3546 shows 13,302 articles using {{Infobox AFL biography}} and having a AustralianFootball.com player ID (P3546). You need the intersection of those two sets. --RexxS (talk) 00:01, 3 January 2020 (UTC)[reply]
Your first link helped me find an article that has a Wikidata:Q5214052 image. On Dan Moriarty (footballer, born 1875) I'm using {{#invoke:WikidataIB|getValue|P18}} on the page to test the code but it doesn't return the image. What am I doing wrong? --Gonnym (talk) 00:12, 3 January 2020 (UTC)[reply]
@Gonnym: Because WikidataIB|getValue is used in articles where the editors insist that fetching Wikidata has to be enabled (i.e. it is disabled by default), you always have to specify further parameters to enable the fetch. The simplest way is to use |ps=1 like this for Dan Moriarty (Q5214052):
  • {{#invoke:WikidataIB|getValue|P18|ps=1|qid=Q5214052}} → Dan Moriarty (before 1903).jpg
Obviously, you don't need the qid if you're calling it from the article's own page. HTH --RexxS (talk) 00:22, 3 January 2020 (UTC)[reply]
Is |ps= missing from the doc? I couldn't find it there. Anyways, {{Infobox AFL biography/sandbox}} seems to work.
Deprecation progress
Template name No. of transclusions Test page(s) Status
{{Infobox AFL biography}} 13,600 Dan Moriarty (footballer, born 1875) Waiting sandbox review
{{Infobox CFL biography}} 6,161
{{Infobox Gaelic Athletic Association player}} 4,187
{{Infobox anatomy}} 4,449
{{Infobox award}} 7,361
{{Infobox book}} 44,111 The Red Pyramid (Library of Congress)
Under Fire (Blackwood novel) (website) - Not able to get website to show using the infobox.
Waiting sandbox review
{{Infobox college coach}} 10,000
{{Infobox lighthouse}} 2,535
{{Infobox religious building}} 9,368
{{Infobox volleyball biography}} 4,734
{{Wikidata sitelink}} 6,819
{{Wikisource author}} 4,681
{{Infobox video game}} 24,086
{{Birth date}} 269,902 Atia Abawi (no value on wikidata)
Abraham Lincoln (has value)
Waiting sandbox review
{{Infobox power station}} 2,471
{{Death date}} 8,443
{{Birth year and age}} 25,891
{{Wikidata redirect}} 25,963 Abel Waiting sandbox review

Following the discussion at Template talk:Medical resources #Template-protected edit request on 3 December 2019, I was hopeful that somebody else would add the documentation for a change, so I apologise for not doing it sooner. It's documented now. There's probably no more than a handful of undocumented parameters and calls left now. --RexxS (talk) 18:01, 3 January 2020 (UTC)[reply]

Infobox AFL biography

When I remove the |image= value from Dan Moriarty (footballer, born 1875) (leaving a blank parameter), no image is shown, using either the live template or the sandbox template. It seems like an image should be shown. – Jonesey95 (talk) 16:16, 3 January 2020 (UTC)[reply]

Some template editors decide to code parameters as A|B which means that if A is there, even blank, it doesn't show B. I personally code with {{If empty |A |B }} which means that if A is empty, it checks B. I didn't change the syntax there, just the module invoke. --Gonnym (talk) 16:19, 3 January 2020 (UTC)[reply]
@Gonnym and Jonesey95: To produce its image, Template:Infobox AFL biography calls Module:InfoboxImage, which returns empty if the image parameter is missing or empty. So it should be no surprise that removing the value of |image= from an article results in no image. However, Module:WikidataIB treats a blank parameter the same as a missing parameter, so in the #invoke:InfoboxImage|InfoboxImage, if you use the syntax:
  • |image={{#invoke:WikidataIB |getValue |P18 |ps=1 |maxvals=1 |{{{image|}}} }}
it will return the Wikidata value whenever |image= is empty or missing in the article. It relies on getValue always returning the local parameter if one is supplied to it as the second unnamed parameter, and is intended to simplify the template coding. This is possibly what Jonesey95 was looking for. --RexxS (talk) 17:52, 3 January 2020 (UTC)[reply]
That works for me in the sandbox. – Jonesey95 (talk) 18:10, 3 January 2020 (UTC)[reply]