Module:CompteWikidata

 Documentation[créer] [purger]
--[[
    Module : CompteWikidata
    Auteur : AdrianoRutz
    
    Ce code fait suite à la suggestion de Utilisateur:Od1n.
    Ce module est conçu pour compter le nombre de déclarations pour toute propriété spécifiée
    sur une entité Wikidata donnée. Il permet aux éditeurs de Wikipédia de récupérer et d'afficher 
    facilement le nombre de fois qu'une propriété spécifique est utilisée sur une entité.

    Utilisation :
    {{#invoke:CompteWikidata|getClaimCount|entity=IDENTIFIANT_ENTITÉ|property=IDENTIFIANT_PROPRIÉTÉ}}

    Paramètres :
    - entity (obligatoire) : L'identifiant de l'entité Wikidata (par ex., Q121802).
    - property (obligatoire) : L'identifiant de la propriété Wikidata (par ex., P703).

    Exemple :
    Ce composé est trouvé dans {{#invoke:CompteWikidata|getClaimCount|entity=Q121802|property=P703}} organisme(s).
    
    Cela renverra le nombre de fois que la propriété P703 est utilisée pour l'entité Q121802.

    Fonctionnalités :
    - getClaimCount(frame) : Il s'agit de la fonction principale qui prend deux paramètres, entity et property,
      et renvoie le nombre de fois que la propriété spécifiée est utilisée sur l'entité spécifiée.
--]]

local p = {}

function p.getClaimCount(frame)
    -- Récupérer l'identifiant de l'entité et de la propriété à partir des arguments du cadre
    local entity = mw.wikibase.getEntity(frame.args.entity)
    local property = frame.args.property

    -- Si l'entité ou la propriété est manquante, renvoyer une chaîne vide
    if not entity or not property then
        return ''
    end

    -- Compter le nombre de déclarations pour la propriété donnée
    local nb = #( ( entity.claims or {} )[property] or {} )
    
    -- Renvoyer le compte
    return nb
end

return p