Modulo:Eruzione
Questo è un modulo scritto in Lua. Le istruzioni che seguono sono contenute nella sottopagina Modulo:Eruzione/man (modifica · cronologia)
Sandbox: Modulo:Eruzione/sandbox · Sottopagine: lista · Test: Modulo:Eruzione/test (modifica · cronologia · esegui)
Modulo per leggere da Wikidata la data e il VEI dell'ultima eruzione di un vulcano.
Su Wikidata le singole eruzioni di un vulcano sono elencate come elementi della proprietà evento chiave (P793). Il modulo utilizza perciò la funzionalità dell'accesso arbitrario per leggere l'indice di esplosività vulcanica e data di inizio di ciascuna eruzione, stabilendo al contempo qual'è la più recente.
Funzioni
La funzioni accettano un unico parametro posizionale facoltativo, per specificare l'id dell'elemento wikidata relativo al vulcano. Se non inserito, verrà utilizzato l'elemento collegato alla pagina in cui è usato il modulo.
data
Questa funzione ritorna la data della eruzione più recente.
Per esempio con {{#invoke:Eruzione|data|Q1451}} (Q1451 è il Pinatubo) si otterrà → febbraio 1993
VEI
Questa funzione ritorna il VEI della eruzione più recente. Su Wikidata il VEI accetta valori di tipo elemento (otto, uno per ogni valore da 0 a 8), e questa funzione ne ritorna il relativo id.
Per esempio con {{#invoke:Eruzione|VEI|Q1451}} si otterrà → Q19988064.
--[[
* Modulo che ritorna le informazioni presenti su Wikidata riguardo alla eruzione
* più recente di un vulcano, come l'indice VEI o la data di inizio dell'eruzione.
]]
require('strict')
local mWikidata = require('Modulo:Wikidata')
-- Q-number validi come "istanza di" per un vulcano
local volcanoIds = { 'Q8072', 'Q159954', 'Q169358', 'Q190869', 'Q212057', 'Q332614',
'Q674775', 'Q1197120', 'Q1200524', 'Q1491559', 'Q17171019' }
-- Q-number validi come "istanza di" per una eruzione
local eruptionIds = { 'Q7692360', 'Q611880', 'Q747501', 'Q1060842', 'Q1199175',
'Q1639789', 'Q2546109', 'Q2703194', 'Q5943937' }
-- Item da correggere su Wikidata
local trackingCategory = '[[Categoria:Vulcani con proprietà P793 errata su Wikidata]]'
-- Numero massimo di item da analizzare per evento chiave (P793)
local maxItemsP793 = 50
local p = {}
local function getLatestEruption(from)
local latestEruption, ids, cat
volcanoIds.from = from
if not mWikidata._instanceOf(volcanoIds) then
return nil
end
ids = mWikidata._getProperty( { 'P793', formatting = 'raw', from = from }, true ) or {}
if #ids > maxItemsP793 then
return nil
end
for _, entityId in ipairs(ids) do
if entityId == 'Q7692360' then
cat = trackingCategory
else
eruptionIds.from = entityId
if mWikidata._instanceOf(eruptionIds) then
local eruption = {
rawStart = mWikidata._getProperty( { 'P580', n = 1, formatting = 'raw', from = entityId } ),
start = mWikidata._getProperty( { 'P580', n = 1, from = entityId } ),
VEI = mWikidata._getProperty( { 'P1903', n = 1, formatting = 'raw', from = entityId } )
}
if eruption.rawStart and (not latestEruption or eruption.rawStart > latestEruption.rawStart) then
latestEruption = eruption
end
end
end
end
return latestEruption, cat
end
function p.data(frame)
local latestEruption, cat = getLatestEruption(frame.args[1])
return (latestEruption and latestEruption.start or '') .. (cat or '')
end
function p.VEI(frame)
local latestEruption, cat = getLatestEruption(frame.args[1])
return ((latestEruption and latestEruption.VEI) and latestEruption.VEI or '') .. (cat or '')
end
return p
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.