Module:Interface Wikidata

Bonjour, vous êtes venu ici pour chercher la signification du mot Module:Interface Wikidata. Dans DICTIOUS, vous trouverez non seulement toutes les significations du dictionnaire pour le mot Module:Interface Wikidata, mais vous apprendrez également son étymologie, ses caractéristiques et comment dire Module:Interface Wikidata au singulier et au pluriel. Tout ce que vous devez savoir sur le mot Module:Interface Wikidata est ici. La définition du mot Module:Interface Wikidata vous aidera à être plus précis et correct lorsque vous parlerez ou écrirez vos textes. Connaître la définition deModule:Interface Wikidata, ainsi que celles d'autres mots, enrichit votre vocabulaire et vous fournit des ressources linguistiques plus nombreuses et de meilleure qualité.

La documentation pour ce module peut être créée à Module:Interface Wikidata/Documentation

local p = {}
local d = require 'Module:Wikidata'

-- fonctions ne pouvant être appelées que depuis un autre module
p.fromLua = {
	
	-- manipulation d'une liste d'affirmations
	getClaims = d.getClaims,
	stringTable = d.stringTable,
	tableToText = d.tableToText,
	formatStatements = d.formatStatements,
	formatQualifiers = d.showQualifier,
	formatAndCat = d.formatAndCat,
	wikidataDate = d.wikidataDate,
	addLinkback = d.addLinkBack,
	addtrackingcat = d.addTrackingCat,
	
	-- manipulation d'une affirmation individelle
	getmainid = d.getMainId,
	formatStatement = d.formatStatement,
	statementDate = d.getFormattedDate, -- récupère la date des qualificatifs
	getFormattedQualifiers = d.getFormattedQualifiers,
	getQualifiers = d.getQualifiers,
	getReferences = d.getReferences,

	-- manipulation de snaks	
	getid = d.getId,
	formatSnak = d.formatSnak,
	
	-- utilisation de qids
	getEntity = d.getEntity,
	formatEntity = d.formatEntity,
	getLink = d.siteLink,
	getLabel = d.getLabel, --getLabel est plus simple que formatEntity

	-- utilisation des propriétés transitives
	isInstance = d.isInstance,
	isSubclass = d.isSubclass,
	addVals = d.addVals,
	transitiveVals = d.transitiveVals,
	inTransitiveVals = d.inTransitiveVals,
	findVal = d.findVal,

	-- gestion des dates
	mainDate = d.mainDate,
	getDate = d.getTheDate,
	keyDate = d.keyDate,

	-- Fonctions diverses
	citeItem = d.citeitem,
	translate = d.translate,
	Dump = d.Dump,
}

-- Fonctions frame pour usage depuis le Wikitexte (avec parfois des options pour gérer des données moins propres
local function cleanargs(args)
	local newargs = {}
	for i, j in pairs(args) do
		if j ~= '' then
			newargs = j
		end
	end
	return newargs
end


function p.formatStatements( frame ) -- pour ]
	local args = {}
	if frame == mw.getCurrentFrame() then
		args = frame:getParent().args -- paramètres du modèle appelant (est-ce vraiment une bonne idée ?)
		for k, v in pairs(frame.args) do
			args = v
		end
	else
		args = frame
	end
	return p.fromLua.formatStatements( args )
end

function p.addLinkBack( frame )
	local args = cleanargs(frame.args)
	if args and args:match"%S" then
		return d.addLinkBack( '', args.entity, mw.text.trim( args ) )
	end
end

function p.formatEntity(frame)
	local args = cleanargs(frame.args)
	local entity = args.entity or args
	return d.formatEntity(entity, args)
end

function p.formatAndCat(frame)
	local args = cleanargs(frame.args)
	return d.formatAndCat(args)
end

function p.citeItem(frame)
	local args = cleanargs(frame.args)
	local item, page = args, args
	return p.fromLua.citeItem(item, page)
end

function p.getLabel(frame)
	local args = cleanargs(frame.args)
	local item = args
	local lang = args or "fr"
	return d.getLabel(item, lang)
end


function p.mainDate(frame)
	return d.mainDate(frame.args)	
end

function p.Dump(frame)
	return d.Dump(frame.args)
end

function p.formatQualifiers(frame)
	local args = frame.args
	return d.formatQualifiers(args)
end

function p.getDescription(frame) -- fonction simpliste, mais bon, les descriptions Wikidata, c'est pas non plus super utile
	return  mw.wikibase.description(frame.args)
end

function p.getLink(frame)
	local args = frame.args
	local link, proj, lang = p.fromLua.getLink(args, args, args)
	return link
end

function p.translate(frame)
	return d.translate(frame.args)
end

function p.findVal(frame)
	local args = frame.args
	return d.findVal(args.source, args.target, args.property, args.recursion, args.instancedepth)
end

function p.transitiveVals(frame)
	local args = frame.args
	return d.transitiveVals(args.item, args, args.maxdepth, args.maxnodes, args.stopval, true)
end

return p