Modul:Overgrupper
Formål[rediger kilde]
For bruk i artikler om biologiske grupper. Henter nærmeste overgruppe fra Wikidata, med lenke til artikkel hvis det finnes.
Skal etter hvert utvides til å kunne gi tre (eller valgfritt antall?) overgrupper i «stigende» rekkefølge, separert med <br />
, men først må Wikidata API få støtte for å hente mer enn bare etikett og lenke fra andre items enn inneværende. Mulighet for å falle tilbake på vitenskapelig navn ved manglende etikett, og for å formatere vitenskapelig arts- og slektsnavn i kursivv, må også vente på dette. Se m:Talk:Wikidata/Deployment Questions#Phase II and Lua.
Bruk[rediger kilde]
Modulen brukes ved å legge inn {{#invoke:Overgrupper|liste}} i en mal. Malen {{Overgrupper}} har implementert dette.
Vedlikeholdskategorier[rediger kilde]
- Kategori:Artikler som ikke er koblet til Wikidata
- Kategori:Artikler som mangler utsagn på Wikidata
- Kategori:Artikler som mangler utsagn om taksonomisk kategori på Wikidata
- Kategori:Artikler med overgrupper som mangler etikett på Wikidata
- Kategori:Artikler med overgrupper som mangler nowiki-lenke på Wikidata
local p = {} -- Returner overgruppe(r) til artikkelen function cE(prop) if prop then local qnr = prop[1].mainsnak.datavalue.value["numeric-id"] local lenke = mw.wikibase.sitelink('Q' .. qnr) local etikett = mw.wikibase.label('Q' .. qnr) if lenke and etikett then return '[[' .. lenke .. '|' .. etikett .. ']]' elseif lenke then return '[[' .. lenke .. ']][[Kategori:Artikler med overgrupper som mangler etikett på Wikidata]]' elseif etikett then return '[[' .. etikett .. ']][[Kategori:Artikler med overgrupper som mangler nowiki-lenke på Wikidata]]' -- kan i noen tilfeller gi blå lenker som skulle vært røde, men likevel bedre enn ulenket? else return '[[Kategori:Artikler med overgrupper som mangler etikett på Wikidata]][[Kategori:Artikler med overgrupper som mangler nowiki-lenke på Wikidata]]' end else return false end end function p.liste(frame) if not mw.wikibase then return "" end local artikkel = mw.wikibase.getEntityObject() if not artikkel then return "[[Kategori:Artikler som ikke er koblet til Wikidata]]" end local claims = artikkel.claims if not claims then return "[[Kategori:Artikler som mangler utsagn på Wikidata]]" end if cE(artikkel.claims.P171) then -- nærmeste overgruppe return cE(artikkel.claims.P171) end local p105 = artikkel.claims.P105 -- taksonomisk kategori if not p105 then return "[[Kategori:Artikler som mangler utsagn om taksonomisk kategori på Wikidata]]" end local kat = artikkel.claims.P105[1].mainsnak.datavalue.value["numeric-id"] if kat == 36732 then -- kingdom if cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 38348 then -- phylum if cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 37517 then -- class if cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 36602 then -- order if cE(artikkel.claims.P77) then -- class return cE(artikkel.claims.P77) elseif cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 35409 then -- family if cE(artikkel.claims.P70) then -- order return cE(artikkel.claims.P70) elseif cE(artikkel.claims.P77) then -- class return cE(artikkel.claims.P77) elseif cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 34740 then -- genus if cE(artikkel.claims.P71) then -- family return cE(artikkel.claims.P71) elseif cE(artikkel.claims.P70) then -- order return cE(artikkel.claims.P70) elseif cE(artikkel.claims.P77) then -- class return cE(artikkel.claims.P77) elseif cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 7432 then -- species if cE(artikkel.claims.P74) then -- genus return cE(artikkel.claims.P74) elseif cE(artikkel.claims.P71) then -- family return cE(artikkel.claims.P71) elseif cE(artikkel.claims.P70) then -- order return cE(artikkel.claims.P70) elseif cE(artikkel.claims.P77) then -- class return cE(artikkel.claims.P77) elseif cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end elseif kat == 68947 then -- subspecies if cE(artikkel.claims.P89) then -- species return cE(artikkel.claims.P89) elseif cE(artikkel.claims.P74) then -- genus return cE(artikkel.claims.P74) elseif cE(artikkel.claims.P71) then -- family return cE(artikkel.claims.P71) elseif cE(artikkel.claims.P70) then -- order return cE(artikkel.claims.P70) elseif cE(artikkel.claims.P77) then -- class return cE(artikkel.claims.P77) elseif cE(artikkel.claims.P76) then -- phylum return cE(artikkel.claims.P76) elseif cE(artikkel.claims.P75) then -- kingdom return cE(artikkel.claims.P75) elseif cE(artikkel.claims.P273) then -- domain return cE(artikkel.claims.P273) end end end return p