Changes

Remove links to Wikidata
Line 2: Line 2:     
function p.check(frame)
 
function p.check(frame)
local taxonbarExists = require('Module:Taxonbar/exists').check
+
return ''
if taxonbarExists(frame) then
  −
return ''
  −
else
  −
local resolveEntity = require( 'Module:ResolveEntityId' )
  −
local currentTitle = mw.title.getCurrentTitle()
  −
local currentItem = nil
  −
local categories = {
  −
'[[Category:Taxobox articles possibly missing a taxonbar]]' --unset if acceptable or unacceptable found
  −
}
  −
  −
--preliminary exclusion criteria
  −
if string.match( currentTitle.text, '^List of ') then
  −
return ''
  −
end
  −
  −
--find Wikidata item
  −
if currentTitle.namespace == 0 then --mainspace
  −
local currentEntityId = mw.ext.UnlinkedWikibase.getEntityId('enwiki')
  −
if resolveEntity._id(currentEntityId) then
  −
currentItem = mw.ext.UnlinkedWikibase.getEntity(currentEntityId)
  −
else --currentEntityId == nil/unresolvable
  −
return categories[1]
  −
end
  −
else
  −
return ''
  −
end
  −
  −
if currentItem then --currentItem should not be nil here, but check just in case
  −
--determine if {{Taxonbar}} is *possibly* missing, or *definitely* missing
  −
local acceptableInstanceOf_All = { --copied from [[Module:Taxonbar]]
  −
['Q16521'] = 'taxon',                      --strict
  −
['Q310890'] = 'monotypic taxon',          --strict
  −
['Q2568288'] = 'ichnotaxon',              --strict
  −
['Q23038290'] = 'fossil taxon',            --strict
  −
['Q47487597'] = 'monotypic fossil taxon',  --strict
  −
['Q42621'] = 'hybrid',                    --lax
  −
['Q235536'] = 'incertae sedis',            --lax
  −
['Q713623'] = 'clade',                    --lax
  −
['Q848328'] = 'serotype',                  --lax
  −
['Q857968'] = 'candidatus',                --lax
  −
['Q17487588'] = 'unavailable combination', --lax
  −
}
  −
local unacceptableInstanceOf = {
  −
['Q913170'] = 'trivial name',
  −
['Q55983715'] = 'group of organisms known by one particular common name',
  −
['Q937228'] = 'property',
  −
['Q14712'] = 'drupe',
  −
['Q163233'] = 'compound drupe',
  −
['Q747463'] = 'compound fruit',
  −
}
  −
  −
local acceptableCount = 0
  −
local unacceptableCount = 0
  −
for _, instanceOfState in pairs ( currentItem:getBestStatements('P31') ) do --instance of
  −
local instanceOf = instanceOfState.mainsnak.datavalue.value.id
  −
if acceptableInstanceOf_All[instanceOf] then
  −
acceptableCount = acceptableCount + 1
  −
elseif unacceptableInstanceOf[instanceOf] then
  −
unacceptableCount = unacceptableCount + 1
  −
end
  −
end
  −
for _, subclassOfState in pairs ( currentItem:getBestStatements('P279') ) do --subclass of
  −
local subclassOf = subclassOfState.mainsnak.datavalue.value.id
  −
if acceptableInstanceOf_All[subclassOf] then
  −
acceptableCount = acceptableCount + 1
  −
elseif unacceptableInstanceOf[subclassOf] then
  −
unacceptableCount = unacceptableCount + 1
  −
end
  −
end
  −
  −
if acceptableCount > 0 then
  −
categories[1] = ''
  −
categories[2] = '[[Category:Taxobox articles missing a taxonbar]]'
  −
elseif unacceptableCount > 0 then
  −
categories[1] = ''
  −
categories[2] = ''
  −
end
  −
  −
return table.concat(categories)
  −
  −
else
  −
return ''
  −
end
  −
end
   
end
 
end
    
return p
 
return p