Module:Utilitaire Wikidata
Apparence
[voir] [modifier] [historique] [purger]
Utilisation
Fonctions exportables :
fonction maindate(item)
– récupère et formate les indications temporelles concernant un élément, en utilisant P585 (« date »), P580 (« date de début »), P582 (« date de fin »))fonction keydate(event, item, params)
– récupère et formate la date à laquelle s'est passée un événement. l'événement doit être un chaîne commençant par "P", ou par "Q". Lorsqu'il commence par "P", par exemple "P571", la date retournée est celle indiquée par la propriété Wikidata correspondant (P571 (« date de fondation ou de création »)). Lorsqu'il commence par "Q", la date retournée est celle indiquée dans la propriété P793 (« événement clé ») lorsque la valeur principale de la déclaration est event. "Params" est un paramètre optionnel contenant des paramètres de mise en forme (les mêmes que pour les autres fonctions utilisant Module:Wikidata (voir Projet:Wikidata/Atelier/Manuel).
Exemples
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (créer).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- Module de requêtes Wikidata de plus haut niveau que Module:Wikidata
local p = {}
local wikidata = require "Module:Wikidata"
local function keydate (event)
if type(event) ~= 'string' then
return error('event should be a string starting with a P or S, datatype is ' .. type(event))
end
if string.sub(event, 1, 1) == 'Q' then -- on demande un élément utilisé dans P:P793 (événement clé)
return wikidata.getTheDate{property = 'P793', targetvalue = event, addcat = true, entity = item}
elseif string.sub(event, 1, 1) == 'P' then -- on demande une propriété
return wikidata.formatAndCat{property = event, entity = item}
else
return error('event string should start with P or S, is "' .. event .. '"')
end
end
function p.maindate(entity) -- à améliorer en utilisant module:Date complexe comme pour wikidata.getDate
local startpoint = wikidata._formatStatements{property = 'P580', entity = entity, conjtype = 'or'}
local endpoint = wikidata._formatStatements{property = 'P582', entity = entity, conjtype = 'or'}
local str
if startpoint or endpoint then
str = (startpoint or '') .. ' - ' .. (endpoint or '')
str = wikidata.addLinkback(str, entity, 'P582')
end
if startpoint then
str = str .. wikidata.addtrackingcat('P580')
end
if endpoint then
str = str .. wikidata.addtrackingcat('P582')
end
return str or wikidata.formatAndCat{property = 'P585', entity = entity, conjtype = 'or'}
end
function p.addLinkback(str, entity, property)
return wikidata.addLinkback(str, entity, property)
end
function p.addtrackingcat(prop, cat)
return wikidata.addtrackingcat(prop, cat)
end
function p.keydate(events)
if type(events) == 'nil' then
return nil
end
if type(events) == 'string' then
return keydate(events)
elseif type(events) == 'table' then
for i, j in pairs(events) do
local val = keydate(j)
if val then
return val
end
end
end
end
function p.getClaims(args)
return wikidata.getClaims(args)
end
function p._formatStatements(args)
return wikidata._formatStatements(args)
end
function p.formatAndCat(args)
return wikidata.formatAndCat(args)
end
return p