Utente:ValterVB/Sandbox/1: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Pagina svuotata
Etichetta: Svuotamento
Nessun oggetto della modifica
Riga 1:
<nowiki>
 
 
<!DOCTYPE html>
<html class="client-nojs" lang="it" dir="ltr">
<head>
<meta charset="UTF-8"/>
<title>Modulo:Wikidata - Wikipedia</title>
<script>document.documentElement.className="client-js";RLCONF={"wgBreakFrames":!1,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"XodGMApAAEQAAGBy2KMAAADS","wgCSPNonce":!1,"wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":!1,"wgNamespaceNumber":828,"wgPageName":"Modulo:Wikidata","wgTitle":"Wikidata","wgCurRevisionId":109802505,"wgRevisionId":109802505,"wgArticleId":4503178,"wgIsArticle":!0,"wgIsRedirect":!1,"wgAction":"view","wgUserName":"ValterVB","wgUserGroups":["sysop","*","user","autoconfirmed"],"wgCategories":["Moduli protetti","Moduli"],"wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Modulo:Wikidata","wgRelevantArticleId":4503178,"wgUserId":697352,"wgUserEditCount":63052,"wgUserRegistration":1323540812000,"wgIsProbablyEditable":!0,
"wgRelevantPageIsProbablyEditable":!0,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgGlobalGroups":[],"wgMediaViewerOnClick":!0,"wgMediaViewerEnabledByDefault":!0,"wgPopupsReferencePreviews":!1,"wgPopupsConflictsWithNavPopupGadget":!0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":!0,"nearby":!0,"watchlist":!0,"tagline":!0},"wgWMESchemaEditAttemptStepOversample":!1,"wgULSAcceptLanguageList":["it","it-it","en","en-gb","en-us"],"wgULSBabelLanguages":["it","en"],"wgULSCurrentAutonym":"italiano","wgNoticeProject":"wikipedia","wgNoticeUserData":{"registration":"20111210181332"},"wgWikibaseItemId":"Q24575438","wgEditSubmitButtonLabelPublish":!0,"wgSiteNoticeId":"2.204","wgEchoSeenTime":{"alert":"2020-04-03T10:17:21Z","notice":"2020-04-03T13:20:47Z"}};RLSTATE={"ext.gadget.PDCStriker":"ready","ext.gadget.RivelatoreRedirect":"ready",
"ext.gadget.RivelatoreDisambigua":"ready","ext.globalCssJs.user.styles":"ready","site.styles":"ready","noscript":"ready","user.styles":"ready","ext.globalCssJs.user":"loading","user":"loading","user.options":"loading","ext.pygments":"ready","skins.vector.styles.legacy":"ready","wikibase.client.init":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.echo.styles.badge":"ready","oojs-ui.styles.icons-alerts":"ready","ext.uls.interlanguage":"ready","ext.wikimediaBadges":"ready","ext.dismissableSiteNotice.styles":"ready"};RLPAGEMODULES=["site","mediawiki.page.startup","skins.vector.js","mediawiki.page.ready","mediawiki.page.watch.ajax","mediawiki.misc-authed-pref","ext.gadget.Purge","ext.gadget.nav-js","ext.gadget.nav-canc","ext.gadget.nav-newpages","ext.gadget.nav-rfa","ext.gadget.nav-struadmin","ext.gadget.nav-prob","ext.gadget.nav-vand","ext.gadget.nav-requisiti","ext.gadget.nav-invert","ext.gadget.LiveRC_1.x","ext.gadget.RTRC","ext.gadget.RollbackNascosti",
"ext.gadget.watchlist-notice","ext.gadget.Toolbar","ext.gadget.pulsantipersonali","ext.gadget.EDTitle","ext.gadget.markAdmins","ext.gadget.markblocked","ext.gadget.NewSection","ext.gadget.Orologio","ext.gadget.Popup","ext.gadget.SimilarTitles","ext.centralauth.centralautologin.clearcookie","mmv.head","mmv.bootstrap.autostart","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.init","ext.eventLogging","ext.wikimediaEvents","ext.wikimediaEvents.loggedin","ext.navigationTiming","ext.uls.compactlinks","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.entrypoints.contributionsmenu","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.dismissableSiteNotice"];</script>
<script>(RLQ=window.RLQ||[]).push(function(){mw.loader.load("//meta.wikimedia.org/w/load.php?lang=it\u0026modules=ext.globalCssJs.user\u0026skin=vector\u0026user=ValterVB\u0026version=1kto2");mw.loader.load("/w/load.php?lang=it\u0026modules=user\u0026skin=vector\u0026user=ValterVB\u0026version=xnyrg");mw.loader.implement("user.options@1hzgi",function($,jQuery,require,module){/*@nomin*/mw.user.tokens.set({"patrolToken":"4dc7368b771c770a2e4eaa2fc5484d4a5e874631+\\","watchToken":"bdd2e2b1ba48197f0483d38e8a70612e5e874631+\\","csrfToken":"9589abd3b520a83b2359fa44327f938f5e874631+\\"});mw.user.options.set({"monobook-responsive":0,"rcenhancedfilters-seen-highlight-button-counter":"1","visualeditor-hidebetawelcome":"1","visualeditor-editor":"wikitext","uls-preferences":"{\"ime\":{\"language\":\"en\",\"previousLanguages\":[\"en\"],\"previousInputMethods\":[\"ipa-sil\",\"ipa-sil\",\"ipa-sil\",\"ipa-sil\",\"ipa-sil\"],\"imes\":{\"en\":\"system\"},\"enable\":false}}","editsectiononrightclick":"1","extendwatchlist":"1","forceeditsummary":"1","gender":"male","rcenhancedfilters-disable":"1","rclimit":"500","showhiddencats":"1","underline":"1","uselivepreview":"1","usenewrc":"1","watchcreations":0,"watchdefault":"1","watchuploads":0,"watchlistdays":"5","watchlisthidecategorization":"","watchlistunwatchlinks":"1","watchmoves":"1","wlenhancedfilters-disable":"1","wllimit":"500","timecorrection":"ZoneInfo|60|Europe/Rome","searchNs0":"","gadget-HiddenCat":"","gadget-OpenStreetMap":"","gadget-ReferenceTooltips":"","gadget-WikiMiniAtlas":"","gadget-ExternalSearch":"","gadget-Form-valutazione-enc":0,"mf_amc_optin":"1","echo-subscriptions-email-edit-user-talk":1,"echo-subscriptions-web-article-linked":"1","echo-subscriptions-email-mention":"1","echo-subscriptions-web-mention-failure":"1","echo-subscriptions-web-wikibase-action":0,"cx":"1","cx-invite-chosen":"1","cx-new-version":"1","fileexporter":0,"gadget-EDTitle":"1","gadget-LiveRC_1.x":"1","gadget-Orologio":"1","gadget-Popup":"1","gadget-Purge":"1","gadget-RTRC":"1","gadget-RivelatoreDisambigua":"1","gadget-RivelatoreRedirect":"1","gadget-RollbackNascosti":"1","gadget-Toolbar":"1","gadget-markAdmins":"1","gadget-markblocked":"1","gadget-nav-canc":"1","gadget-nav-invert":"1","gadget-nav-js":"1","gadget-nav-newpages":"1","gadget-nav-prob":"1","gadget-nav-requisiti":"1","gadget-nav-rfa":"1","gadget-nav-struadmin":"1","gadget-nav-vand":"1","gadget-pulsantipersonali":"1","mfWatchlistFilter":"all","mfWatchlistView":"feed","popupsreferencepreviews":0,"rcenhancedfilters-seen-tour":"1","rcenhancedfilters-tried-highlight":"1","rcfilters-limit":"50","rcfilters-rc-collapsed":0,"rcfilters-saved-queries":"{\"queries\":{},\"version\":\"2\"}","rcfilters-wl-collapsed":0,"rcfilters-wl-saved-queries":"{\"queries\":{},\"version\":\"2\"}","revisionslider-disable":"1","tmh-videojs":0,"twocolconflict":0,"usecodemirror":0,"userjs-gadget-toolbar":"{\"buttons\":[\"Da aiutare\",\"Enciclopedicità dubbia\",\"POV\",\"Da wikificare\",\"Da controllare\",\"Carente di fonti\",\"Stub\",\"Stub sezione\",\"Da unire\",\"Correggere\",\"Da aggiornare\",\"Cancellazione\",\"Cancella subito\",\"Disambigua\",\"Avviso copyviol\",\"Avviso cancellazione\",\"Avviso vandalismo\",\"Cartellino giallo\",\"Blocco\",\"Test\",\"Non enciclopedico\",\"Senza senso\",\"Anteprima\",\"Firma\",\"Oggetto\",\"Rimozione contenuti\",\"Avviso avvisi\"],\"version\":1}","userjs-revslider-hide-help-dialogue":"1","userjs-twocolconflict-hide-help-dialogue":"1","visualeditor-hidesourceswitchpopup":"1","visualeditor-hideusered":"1","watchlisttoken":"84b4f16899910155b397645a50367540d4544167","wlenhancedfilters-seen-tour":"1"});
});});</script>
<link rel="stylesheet" href="/w/load.php?lang=it&amp;modules=ext.dismissableSiteNotice.styles%7Cext.echo.styles.badge%7Cext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Coojs-ui.styles.icons-alerts%7Cskins.vector.styles.legacy%7Cwikibase.client.init&amp;only=styles&amp;skin=vector"/>
<script async="" src="/w/load.php?lang=it&amp;modules=startup&amp;only=scripts&amp;raw=1&amp;skin=vector"></script>
<meta name="ResourceLoaderDynamicStyles" content=""/>
<link rel="stylesheet" href="/w/load.php?lang=it&amp;modules=ext.gadget.PDCStriker%2CRivelatoreDisambigua%2CRivelatoreRedirect&amp;only=styles&amp;skin=vector"/>
<link rel="stylesheet" href="/w/load.php?lang=it&amp;modules=site.styles&amp;only=styles&amp;skin=vector"/>
<link rel="stylesheet" href="//meta.wikimedia.org/w/load.php?lang=it&amp;modules=ext.globalCssJs.user.styles&amp;only=styles&amp;skin=vector&amp;user=ValterVB&amp;version=io78m"/>
<link rel="stylesheet" href="/w/load.php?lang=it&amp;modules=user.styles&amp;only=styles&amp;skin=vector&amp;user=ValterVB&amp;version=kwr62"/>
<meta name="generator" content="MediaWiki 1.35.0-wmf.26"/>
<meta name="referrer" content="origin"/>
<meta name="referrer" content="origin-when-crossorigin"/>
<meta name="referrer" content="origin-when-cross-origin"/>
<link rel="alternate" media="only screen and (max-width: 720px)" href="//it.m.wikipedia.org/wiki/Modulo:Wikidata"/>
<link rel="alternate" type="application/x-wiki" title="Modifica" href="/w/index.php?title=Modulo:Wikidata&amp;action=edit"/>
<link rel="edit" title="Modifica" href="/w/index.php?title=Modulo:Wikidata&amp;action=edit"/>
<link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"/>
<link rel="shortcut icon" href="/static/favicon/wikipedia.ico"/>
<link rel="search" type="application/opensearchdescription+xml" href="/w/opensearch_desc.php" title="Wikipedia (it)"/>
<link rel="EditURI" type="application/rsd+xml" href="//it.wikipedia.org/w/api.php?action=rsd"/>
<link rel="license" href="//creativecommons.org/licenses/by-sa/3.0/"/>
<link rel="canonical" href="https://it.wikipedia.org/wiki/Modulo:Wikidata"/>
<link rel="dns-prefetch" href="//meta.wikimedia.org" />
<!--[if lt IE 9]><script src="/w/resources/lib/html5shiv/html5shiv.js"></script><![endif]-->
</head>
<body class="mediawiki ltr sitedir-ltr mw-underline-always mw-hide-empty-elt ns-828 ns-subject mw-editable page-Modulo_Wikidata rootpage-Modulo_Wikidata skin-vector action-view">
<div id="mw-page-base" class="noprint"></div>
<div id="mw-head-base" class="noprint"></div>
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<div id="siteNotice" class="mw-body-content"><!-- CentralNotice --><div class="mw-dismissable-notice"><div class="mw-dismissable-notice-close">[<a tabindex="0" role="button">nascondi</a>]</div><div class="mw-dismissable-notice-body"><div id="localNotice" lang="it" dir="ltr"><div style="text-align:center;" class="nomobile"><span class="plainlinks" style="font-size:small"> <big><b><a href="/wiki/Wikipedia:Writing_week/Lockdown" title="Wikipedia:Writing week/Lockdown">Partecipa alla writing week</a> per supportare il turismo e la cultura italiana durante l'emergenza Coronavirus.</b><br />Aiutaci a migliorare e creare nuovi contenuti relativi a monumenti, musei, arte e natura italiani!</big> </span></div></div></div></div></div>
<div class="mw-indicators mw-body-content">
<div id="mw-indicator-prot_move" class="mw-indicator"><a href="/wiki/Wikipedia:Politica_di_protezione_delle_pagine#Protezione_dagli_spostamenti" title="Questa pagina è protetta dallo spostamento"><img alt="Questa pagina è protetta dallo spostamento" src="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Crystal_Clear_action_lock9.png/30px-Crystal_Clear_action_lock9.png" decoding="async" width="30" height="30" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/9/91/Crystal_Clear_action_lock9.png/45px-Crystal_Clear_action_lock9.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/9/91/Crystal_Clear_action_lock9.png/60px-Crystal_Clear_action_lock9.png 2x" data-file-width="128" data-file-height="128" /></a></div>
<div id="mw-indicator-protedit" class="mw-indicator"><a href="/wiki/Wikipedia:Politica_di_protezione_delle_pagine#Protezione_completa" title="Questa pagina è protetta"><img alt="Questa pagina è protetta" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Crystal_Clear_action_lock1.png/30px-Crystal_Clear_action_lock1.png" decoding="async" width="30" height="30" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Crystal_Clear_action_lock1.png/45px-Crystal_Clear_action_lock1.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6f/Crystal_Clear_action_lock1.png/60px-Crystal_Clear_action_lock1.png 2x" data-file-width="128" data-file-height="128" /></a></div>
</div>
 
<h1 id="firstHeading" class="firstHeading" lang="en">Modulo:Wikidata</h1>
<div id="bodyContent" class="mw-body-content">
<div id="siteSub" class="noprint">Da Wikipedia, l&#039;enciclopedia libera.</div>
<div id="contentSub"></div>
<div id="jump-to-nav"></div>
<a class="mw-jump-link" href="#mw-head">Jump to navigation</a>
<a class="mw-jump-link" href="#p-search">Jump to search</a>
<div id="mw-content-text" lang="en" dir="ltr" class="mw-content-ltr"><div class="mw-parser-output"><div lang="it" dir="ltr" class="mw-content-ltr">
<style data-mw-deduplicate="TemplateStyles:r107960577">.mw-parser-output .avviso-man{margin:0.5em 0;text-align:center}</style><div class="toccolours plainlinks avviso-man">
<a href="/wiki/File:Lua-Logo.svg" class="image" title="Info"><img alt="Info" src="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/30px-Lua-Logo.svg.png" decoding="async" width="30" height="30" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/45px-Lua-Logo.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/c/cf/Lua-Logo.svg/60px-Lua-Logo.svg.png 2x" data-file-width="947" data-file-height="947" /></a> <big><b>Istruzioni per l'uso</b></big><br /><small>Questo è un <a href="/wiki/Wikipedia:Modulo" class="mw-redirect" title="Wikipedia:Modulo">modulo</a> scritto in <a href="/wiki/Lua" title="Lua">Lua</a>. Le istruzioni che seguono sono contenute nella <a href="/wiki/Aiuto:Sottopagina" title="Aiuto:Sottopagina">sottopagina</a> <a href="/wiki/Modulo:Wikidata/man" title="Modulo:Wikidata/man">Modulo:Wikidata/man</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/man&amp;action=edit">modifica</a><span style="font-weight:bold;">&#160;·</span> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/man&amp;action=history">cronologia</a>) <br /> Sandbox: <a href="/wiki/Modulo:Wikidata/sandbox" title="Modulo:Wikidata/sandbox">Modulo:Wikidata/sandbox</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/sandbox&amp;action=edit">modifica</a><span style="font-weight:bold;">&#160;·</span> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/sandbox&amp;action=history">cronologia</a>)<span style="font-weight:bold;">&#160;·</span> Test: <a href="/wiki/Modulo:Wikidata/test" title="Modulo:Wikidata/test">Modulo:Wikidata/test</a> (<a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/test&amp;action=edit">modifica</a><span style="font-weight:bold;">&#160;·</span> <a class="external text" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata/test&amp;action=history">cronologia</a><span style="font-weight:bold;">&#160;·</span> <a href="/wiki/Discussioni_modulo:Wikidata/test" title="Discussioni modulo:Wikidata/test">Esegui</a>)</small></div>
<p>Il modulo Wikidata implementa le funzionalità dei template &#123;&#123;<a href="/wiki/Template:Wikidata" title="Template:Wikidata">Wikidata</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataQ" title="Template:WikidataQ">WikidataQ</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataIdx" title="Template:WikidataIdx">WikidataIdx</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataN" title="Template:WikidataN">WikidataN</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataLabel" title="Template:WikidataLabel">WikidataLabel</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataLink" title="Template:WikidataLink">WikidataLink</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataId" title="Template:WikidataId">WikidataId</a>&#125;&#125;, &#123;&#123;<a href="/wiki/Template:WikidataTipo" title="Template:WikidataTipo">WikidataTipo</a>&#125;&#125; e &#123;&#123;<a href="/wiki/Template:WikidataIstanza" title="Template:WikidataIstanza">WikidataIstanza</a>&#125;&#125;.
</p>
<h2><span class="mw-headline" id="Utilizzo_da_un_altro_modulo">Utilizzo da un altro modulo</span></h2>
<p>Il modulo può essere usato anche da un altro modulo tramite "require". È sufficiente inserire all'inizio del modulo:
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">mWikidata</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Modulo:Wikidata&#39;</span><span class="p">)</span>
</pre></div>
<p>Le funzioni hanno gli stessi nomi di quelle utilizzate dai template ma con un underscore iniziale e ricevono come argomento, invece del frame, una table con cui specificare gli argomenti.
</p>
<ul><li><code>_getProperty(args, rawTable)</code>: per l'utilizzo della tabella args vedere il manuale del template &#123;&#123;<a href="/wiki/Template:Wikidata" title="Template:Wikidata">Wikidata</a>&#125;&#125;. Il parametro aggiuntivo rawTable, se valorizzato a <i>true</i>, fa sì che le dichiarazioni non vengano unite in un'unica stringa come per il template (separate dalla virgola e con la "e" prima dell'ultima), ma venga invece restituita una sequence, contenente le stringhe separate per ciascuna dichiarazione.</li>
<li><code>_getQualifier(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataQ" title="Template:WikidataQ">WikidataQ</a>&#125;&#125;</li>
<li><code>_indexOf(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataIdx" title="Template:WikidataIdx">WikidataIdx</a>&#125;&#125;</li>
<li><code>_N(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataN" title="Template:WikidataN">WikidataN</a>&#125;&#125;</li>
<li><code>_getLabel(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataLabel" title="Template:WikidataLabel">WikidataLabel</a>&#125;&#125;</li>
<li><code>_getLink(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataLink" title="Template:WikidataLink">WikidataLink</a>&#125;&#125;</li>
<li><code>_getDatatype(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataTipo" title="Template:WikidataTipo">WikidataTipo</a>&#125;&#125;</li>
<li><code>_getId(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataId" title="Template:WikidataId">WikidataId</a>&#125;&#125;</li>
<li><code>_instanceOf(args)</code>: vedere &#123;&#123;<a href="/wiki/Template:WikidataIstanza" title="Template:WikidataIstanza">WikidataIstanza</a>&#125;&#125;</li>
<li><code>_subClassOf(args)</code>: analogamente, vedere &#123;&#123;<a href="/wiki/Template:WikidataIstanza" title="Template:WikidataIstanza">WikidataIstanza</a>&#125;&#125;</li></ul>
<p>A queste si aggiungono tre funzioni specifiche del modulo, che permettono di iterare sulle dichiarazioni di una proprietà:
</p>
<ul><li><code>_getClaims(property, args)</code>: restituisce una sequence con le dichiarazioni di una proprietà, come _getProperty, ma senza formattarle. Per gli argomenti utilizzabili nella tabella args vedere i parametri di selezione nel manuale del template &#123;&#123;<a href="/wiki/Template:Wikidata" title="Template:Wikidata">Wikidata</a>&#125;&#125;. Può restituire <code>nil</code> nel caso in cui la pagina non sia collegata a Wikidata.</li>
<li><code>_formatStatement(statement, args)</code>: formatta una dichiarazione (parametro <i>statement</i>) ottenuta tramite getClaims. Per l'utilizzo della tabella args vedere i parametri di formattazione nel manuale del template &#123;&#123;<a href="/wiki/Template:Wikidata" title="Template:Wikidata">Wikidata</a>&#125;&#125;.</li>
<li><code>_formatQualifiers(claim, qualifier, args, rawTable, retTable)</code>: formatta un qualificatore (parametro <i>qualifier</i>) di una dichiarazione (parametro <i>claim</i>) ottenuta tramite getClaims. Per l'utilizzo della tabella args vedere i parametri di formattazione nel manuale del template &#123;&#123;<a href="/wiki/Template:Wikidata" title="Template:Wikidata">Wikidata</a>&#125;&#125;. Il parametro rawTable, se valorizzato a <i>true</i>, fa sì che eventuali valori multipli di un qualificatore vengano restituiti come sequence invece che come unica stringa (con retTable è possibile specificare una sequence già esistente).</li></ul>
<dl><dt>Esempio</dt></dl>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">mWikidata</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Modulo:Wikidata&#39;</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span>
 
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">capitale</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">stati</span><span class="p">,</span> <span class="n">italia</span><span class="p">,</span> <span class="n">onu</span>
 
<span class="c1">-- utilizzo della funzione getProperty</span>
<span class="n">capitale</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_getProperty</span><span class="p">(</span> <span class="p">{</span> <span class="s1">&#39;P36&#39;</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q183&#39;</span> <span class="p">}</span> <span class="p">)</span>
<span class="c1">-- utilizzo della funzione getQualifier</span>
<span class="n">data</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_getQualifier</span><span class="p">(</span> <span class="p">{</span> <span class="s1">&#39;P36&#39;</span><span class="p">,</span> <span class="s1">&#39;P580&#39;</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q183&#39;</span> <span class="p">}</span> <span class="p">)</span>
<span class="c1">-- utilizzo della funzione N</span>
<span class="n">stati</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_N</span><span class="p">(</span> <span class="p">{</span> <span class="s1">&#39;P47&#39;</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q183&#39;</span> <span class="p">}</span> <span class="p">)</span>
<span class="c1">-- utilizzo della funzione indexOf</span>
<span class="n">italia</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_indexOf</span><span class="p">(</span> <span class="p">{</span> <span class="s1">&#39;P47&#39;</span><span class="p">,</span> <span class="s1">&#39;Q38&#39;</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q183&#39;</span> <span class="p">}</span> <span class="p">)</span>
<span class="c1">-- utilizzo della funzione instanceOf</span>
<span class="n">onu</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_instanceOf</span><span class="p">(</span> <span class="p">{</span> <span class="s1">&#39;Q160016&#39;</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q183&#39;</span> <span class="p">}</span> <span class="p">)</span>
 
<span class="kr">return</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;La capitale della Germania è %s, dal %s. &#39;</span> <span class="o">..</span>
<span class="s1">&#39;Confina con %s Stati, con l</span><span class="se">\&#39;</span><span class="s1">Italia: %s. &#39;</span> <span class="o">..</span>
<span class="s1">&#39;Membro delle Nazioni Unite: %s.&#39;</span><span class="p">,</span>
<span class="n">capitale</span><span class="p">,</span> <span class="n">data</span><span class="p">,</span> <span class="n">stati</span><span class="p">,</span> <span class="n">italia</span> <span class="ow">and</span> <span class="s1">&#39;si&#39;</span> <span class="ow">or</span> <span class="s1">&#39;no&#39;</span><span class="p">,</span> <span class="n">onu</span> <span class="ow">and</span> <span class="s1">&#39;sì&#39;</span> <span class="ow">or</span> <span class="s1">&#39;no&#39;</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">p</span>
</pre></div>
<dl><dt>Esempio con getClaims, formatStatement e formatQualifiers</dt></dl>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span> <span class="n">mWikidata</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Modulo:Wikidata&#39;</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span>
 
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">main</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">scuole</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kd">local</span> <span class="n">claims</span>
 
<span class="n">claims</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_getClaims</span><span class="p">(</span><span class="s1">&#39;P69&#39;</span><span class="p">,</span> <span class="p">{</span> <span class="n">from</span> <span class="o">=</span> <span class="s1">&#39;Q42&#39;</span> <span class="p">})</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kd">local</span> <span class="n">scuola</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_formatStatement</span><span class="p">(</span><span class="n">claim</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">inizio</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="s1">&#39;P580&#39;</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">fine</span> <span class="o">=</span> <span class="n">mWikidata</span><span class="p">.</span><span class="n">_formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="s1">&#39;P582&#39;</span><span class="p">)</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">scuole</span><span class="p">,</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;%s dal %s al %s&#39;</span><span class="p">,</span> <span class="n">scuola</span><span class="p">,</span> <span class="n">inizio</span><span class="p">,</span> <span class="n">fine</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="s1">&#39;Douglas Adams ha frequentato: &#39;</span> <span class="o">..</span> <span class="nb">table.concat</span><span class="p">(</span><span class="n">scuole</span><span class="p">,</span> <span class="s1">&#39;, &#39;</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">p</span>
</pre></div><div id="interProject" class="toccolours" style="display: none; clear: both; margin-top: 2em"><p id="sisterProjects" style="background-color: #efefef; font-weight: bold; margin: 0"><span>Altri progetti</span></p><ul title="Collegamenti verso gli altri progetti Wikimedia">
<li class="" title=""><a href="https://it.wikisource.org/wiki/Modulo:Wikidata" class="extiw" title="s:Modulo:Wikidata">Wikisource</a></li>
<li class="" title=""><a href="https://it.wikiquote.org/wiki/Modulo:Wikidata" class="extiw" title="q:Modulo:Wikidata">Wikiquote</a></li>
<li class="" title=""><a href="https://it.wikibooks.org/wiki/Modulo:Wikidata" class="extiw" title="b:Modulo:Wikidata">Wikibooks</a></li>
<li class="" title=""><span class="plainlinks" title="commons:Module:Wikidata2"><a class="external text" href="https://commons.wikimedia.org/wiki/Module:Wikidata2?uselang=it">Wikimedia Commons</a></span></li>
<li class="" title=""><span class="plainlinks" title="wikispecies:Module:Wikidata"><a class="external text" href="https://species.wikimedia.org/wiki/Module:Wikidata?uselang=it">Wikispecies</a></span></li>
<li class="" title=""><a href="https://it.wikivoyage.org/wiki/Modulo:Wikidata" class="extiw" title="voy:Modulo:Wikidata">Wikivoyage</a></li>
<li class="" title=""><a href="https://www.wikidata.org/wiki/Module:Wikidata" class="extiw" title="wikidata:Module:Wikidata">Wikidata</a></li></ul></div>
<hr />
</div>
<!--
NewPP limit report
Parsed by mw1273
Cached time: 20200403142032
Cache expiry: 2592000
Dynamic content: false
Complications: []
CPU time usage: 0.092 seconds
Real time usage: 0.132 seconds
Preprocessor visited node count: 242/1000000
Post‐expand include size: 12675/2097152 bytes
Template argument size: 474/2097152 bytes
Highest expansion depth: 6/40
Expensive parser function count: 1/500
Unstrip recursion depth: 0/20
Unstrip post‐expand size: 8174/5000000 bytes
Number of Wikibase entities loaded: 1/400
Lua time usage: 0.034/10.000 seconds
Lua memory usage: 925 KB/50 MB
-->
<!--
Transclusion expansion time report (%,ms,calls,template)
100.00% 103.439 1 -total
100.00% 103.439 1 Modulo:Wikidata/man
44.36% 45.882 1 Template:Protetta
27.45% 28.390 1 Template:Interprogetto
16.74% 17.317 1 Template:Man_modulo
5.35% 5.538 5 Template:·
4.18% 4.328 22 Template:Tl
-->
<div class="mw-highlight"><pre><span></span><span class="cm">--[[</span>
<span class="cm">* Modulo per implementare le funzionalità dei template:</span>
<span class="cm">* {{Wikidata}}, {{WikidataQ}}, {{WikidataIdx}}, {{WikidataN}}, {{WikidataLabel}},</span>
<span class="cm">* {{WikidataLink}}, {{WikidataId}}, {{WikidataTipo}} e {{WikidataIstanza}}.</span>
<span class="cm">* Permette di accedere a Wikidata in modo più avanzato rispetto a {{#property}}.</span>
 
<span class="cm">* Per la maggior parte riscritto e ampliato a partire dalla versione iniziale a:</span>
<span class="cm">* http://test2.wikipedia.org/w/index.php?title=Module:Wikidata&amp;oldid=52322</span>
<span class="cm">]]</span>
 
<span class="c1">-- =============================================================================</span>
<span class="c1">-- Non utilizzare mai mw.wikibase.getEntity, per esempio un solo utilizzo di</span>
<span class="c1">-- mw.wikibase.getEntity(&#39;Q183&#39;) fa aumentare di 7 MB l&#39;utilizzo di memoria</span>
<span class="c1">-- per Lua ed è molto lenta se ripetuta (unico utilizzo in getDatatype,</span>
<span class="c1">-- solo per proprietà, non essendoci alternative).</span>
<span class="c1">-- =============================================================================</span>
 
<span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Module:No globals&#39;</span><span class="p">)</span>
 
<span class="kd">local</span> <span class="n">getArgs</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Module:Arguments&#39;</span><span class="p">).</span><span class="n">getArgs</span>
<span class="kd">local</span> <span class="n">mConvert</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Module:Conversione&#39;</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">mLanguages</span> <span class="o">=</span> <span class="nb">require</span><span class="p">(</span><span class="s1">&#39;Module:Linguaggi&#39;</span><span class="p">)</span>
 
<span class="c1">-- Categoria per le pagine con errori</span>
<span class="kd">local</span> <span class="n">errorCategory</span> <span class="o">=</span> <span class="s1">&#39;[[Categoria:Voci con errori del modulo Wikidata]]&#39;</span>
 
<span class="c1">-- Messaggi</span>
<span class="kd">local</span> <span class="n">i18n</span> <span class="o">=</span> <span class="p">{</span>
<span class="n">errors</span> <span class="o">=</span> <span class="p">{</span>
<span class="p">[</span><span class="s1">&#39;entityid-param-not-provided&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;Parametro &#39;&#39;entityid&#39;&#39; non fornito&quot;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;Parametro &#39;&#39;property&#39;&#39; non fornito&quot;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;qualifier-param-not-provided&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;Parametro &#39;&#39;qualifier&#39;&#39; non fornito&quot;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;value-param-not-provided&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s2">&quot;Parametro &#39;&#39;valore&#39;&#39; da ricercare non fornito&quot;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;entity-not-found&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Entità non trovata&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;unknown-claim-type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Tipo asserzione sconosciuta&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;unknown-snak-type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Tipo di snak sconosciuto&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;unknown-datavalue-type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Tipo di dato sconosciuto&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;unknown-entity-type&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;Tipo di entità sconosciuta&#39;</span>
<span class="p">},</span>
<span class="n">somevalue</span> <span class="o">=</span> <span class="s2">&quot;&#39;&#39;valore sconosciuto&#39;&#39;&quot;</span><span class="p">,</span>
<span class="n">novalue</span> <span class="o">=</span> <span class="s2">&quot;&#39;&#39;nessun valore&#39;&#39;&quot;</span><span class="p">,</span>
<span class="n">datatypes</span> <span class="o">=</span> <span class="p">{</span>
<span class="p">[</span><span class="s1">&#39;commonsMedia&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;file multimediale su Commons&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;external-id&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;identificativo esterno&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;geo-shape&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;forma geografica&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;globe-coordinate&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;coordinate geografiche&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;math&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;espressione matematica&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;monolingualtext&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;testo monolingua&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;quantity&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;quantità&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;string&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;stringa&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;tabular-data&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;tabular data&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;time&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;data e ora&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;url&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;URL&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;wikibase-item&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;elemento&#39;</span><span class="p">,</span>
<span class="p">[</span><span class="s1">&#39;wikibase-property&#39;</span><span class="p">]</span> <span class="o">=</span> <span class="s1">&#39;proprietà&#39;</span>
<span class="p">}</span>
<span class="p">}</span>
 
<span class="kd">local</span> <span class="n">p</span> <span class="o">=</span> <span class="p">{}</span>
 
<span class="c1">-------------------------------------------------------------------------------</span>
<span class="c1">-- Formatters</span>
<span class="c1">-------------------------------------------------------------------------------</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">errhandler</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">cat</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">getCurrentTitle</span><span class="p">().</span><span class="n">namespace</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">and</span> <span class="n">errorCategory</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">return</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;&lt;span class=&quot;error&quot;&gt;%s&lt;/span&gt;%s&#39;</span><span class="p">,</span> <span class="n">msg</span><span class="p">,</span> <span class="n">cat</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatList</span><span class="p">(</span><span class="n">values</span><span class="p">,</span> <span class="n">ordered</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">fmt</span> <span class="o">=</span> <span class="n">ordered</span> <span class="ow">and</span> <span class="s1">&#39;&lt;ol&gt;&lt;li&gt;%s&lt;/li&gt;&lt;/ol&gt;&#39;</span> <span class="ow">or</span> <span class="s1">&#39;&lt;ul&gt;&lt;li&gt;%s&lt;/li&gt;&lt;/ul&gt;&#39;</span>
<span class="kr">return</span> <span class="o">#</span><span class="n">values</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">and</span> <span class="nb">string.format</span><span class="p">(</span><span class="n">fmt</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">values</span><span class="p">,</span> <span class="s1">&#39;&lt;/li&gt;&lt;li&gt;&#39;</span><span class="p">,</span> <span class="s1">&#39;&lt;/li&gt;&lt;li&gt;&#39;</span><span class="p">))</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatExtLink</span><span class="p">(</span><span class="n">url</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">protocols</span> <span class="o">=</span> <span class="p">{</span> <span class="n">ftp</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="n">http</span> <span class="o">=</span> <span class="kc">true</span><span class="p">,</span> <span class="n">https</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}</span>
 
<span class="kd">local</span> <span class="n">success</span><span class="p">,</span> <span class="n">uri</span> <span class="o">=</span> <span class="nb">pcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">uri</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">url</span><span class="p">)</span> <span class="kr">end</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">success</span> <span class="ow">and</span> <span class="n">uri</span><span class="p">.</span><span class="n">protocol</span> <span class="ow">and</span> <span class="n">protocols</span><span class="p">[</span><span class="n">uri</span><span class="p">.</span><span class="n">protocol</span><span class="p">]</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">dest</span> <span class="o">=</span> <span class="nb">tostring</span><span class="p">(</span><span class="n">uri</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;&lt;span style=&quot;word-break: break-all;&quot;&gt;[%s %s]&lt;/span&gt;&#39;</span><span class="p">,</span> <span class="n">dest</span><span class="p">,</span> <span class="n">dest</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span><span class="n">uri</span><span class="p">.</span><span class="n">protocol</span> <span class="o">..</span> <span class="s1">&#39;://&#39;</span><span class="p">,</span> <span class="s1">&#39;&#39;</span><span class="p">))</span>
<span class="kr">else</span>
<span class="kr">return</span> <span class="n">url</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatEntityId</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">label</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getLabel</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">siteLink</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getSitelink</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">entityId</span> <span class="o">==</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntityIdForCurrentPage</span><span class="p">()</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">siteLink</span>
<span class="kr">elseif</span> <span class="n">siteLink</span> <span class="ow">and</span> <span class="n">label</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">():</span><span class="n">ucfirst</span><span class="p">(</span><span class="n">label</span><span class="p">)</span> <span class="o">==</span> <span class="n">siteLink</span> <span class="ow">and</span>
<span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;[[%s]]&#39;</span><span class="p">,</span> <span class="n">label</span><span class="p">)</span> <span class="ow">or</span>
<span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;[[%s|%s]]&#39;</span><span class="p">,</span> <span class="n">siteLink</span><span class="p">,</span> <span class="n">label</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">siteLink</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;[[%s]]&#39;</span><span class="p">,</span> <span class="n">siteLink</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">label</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">label</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatMonolingualtext</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">includelang</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">includelang</span><span class="p">:</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;%f[a-z]&#39;</span> <span class="o">..</span> <span class="n">value</span><span class="p">.</span><span class="n">language</span> <span class="o">..</span> <span class="s1">&#39;%f[^a-z]&#39;</span><span class="p">)</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">excludelang</span> <span class="ow">or</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">excludelang</span><span class="p">:</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;%f[a-z]&#39;</span> <span class="o">..</span> <span class="n">value</span><span class="p">.</span><span class="n">language</span> <span class="o">..</span> <span class="s1">&#39;%f[^a-z]&#39;</span><span class="p">)</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">text</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">showlang</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mLanguages</span><span class="p">.</span><span class="n">lingue</span><span class="p">({</span> <span class="n">value</span><span class="p">.</span><span class="n">language</span> <span class="p">})</span> <span class="o">..</span> <span class="s1">&#39;&amp;nbsp;&#39;</span> <span class="o">..</span> <span class="n">ret</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatTimeWithPrecision</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">precision</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">months</span> <span class="o">=</span> <span class="p">{</span>
<span class="s1">&#39;gennaio&#39;</span><span class="p">,</span> <span class="s1">&#39;febbraio&#39;</span><span class="p">,</span> <span class="s1">&#39;marzo&#39;</span><span class="p">,</span> <span class="s1">&#39;aprile&#39;</span><span class="p">,</span> <span class="s1">&#39;maggio&#39;</span><span class="p">,</span> <span class="s1">&#39;giugno&#39;</span><span class="p">,</span>
<span class="s1">&#39;luglio&#39;</span><span class="p">,</span> <span class="s1">&#39;agosto&#39;</span><span class="p">,</span> <span class="s1">&#39;settembre&#39;</span><span class="p">,</span> <span class="s1">&#39;ottobre&#39;</span><span class="p">,</span> <span class="s1">&#39;novembre&#39;</span><span class="p">,</span> <span class="s1">&#39;dicembre&#39;</span>
<span class="p">}</span>
<span class="kd">local</span> <span class="n">ret</span><span class="p">,</span> <span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span>
<span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="o">=</span> <span class="n">time</span><span class="p">:</span><span class="n">match</span><span class="p">(</span><span class="s1">&#39;(%d+)%-(%d%d)%-(%d%d).+&#39;</span><span class="p">)</span>
<span class="n">year</span><span class="p">,</span> <span class="n">month</span><span class="p">,</span> <span class="n">day</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">year</span><span class="p">),</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">month</span><span class="p">),</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">day</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">precision</span> <span class="o">==</span> <span class="mi">9</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">year</span>
<span class="kr">elseif</span> <span class="n">precision</span> <span class="o">==</span> <span class="mi">10</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">months</span><span class="p">[</span><span class="n">month</span><span class="p">]</span> <span class="o">..</span> <span class="s1">&#39; &#39;</span> <span class="o">..</span> <span class="n">year</span>
<span class="kr">elseif</span> <span class="n">precision</span> <span class="o">==</span> <span class="mi">11</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">day</span> <span class="o">..</span> <span class="s1">&#39; &#39;</span> <span class="o">..</span> <span class="n">months</span><span class="p">[</span><span class="n">month</span><span class="p">]</span> <span class="o">..</span> <span class="s1">&#39; &#39;</span> <span class="o">..</span> <span class="n">year</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">ret</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span><span class="s1">&#39;^1%s&#39;</span><span class="p">,</span> <span class="s1">&#39;1º &#39;</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">if</span> <span class="n">precision</span> <span class="o">&gt;=</span> <span class="mi">9</span> <span class="ow">and</span> <span class="n">precision</span> <span class="o">&lt;=</span> <span class="mi">11</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">ret</span> <span class="o">..</span> <span class="p">(</span><span class="n">time</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;-&#39;</span> <span class="ow">and</span> <span class="s1">&#39; a.C.&#39;</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatTime</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="o">==</span> <span class="s1">&#39;precision&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">precision</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="o">==</span> <span class="s1">&#39;calendarmodel&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">calendarmodel</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="o">==</span> <span class="s1">&#39;year&#39;</span> <span class="ow">and</span> <span class="n">value</span><span class="p">.</span><span class="n">precision</span> <span class="o">&gt;=</span> <span class="mi">9</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatTimeWithPrecision</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">time</span><span class="p">,</span> <span class="mi">9</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="o">==</span> <span class="s1">&#39;month&#39;</span> <span class="ow">and</span> <span class="n">value</span><span class="p">.</span><span class="n">precision</span> <span class="o">&gt;=</span> <span class="mi">10</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatTimeWithPrecision</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">time</span><span class="p">,</span> <span class="mi">10</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="o">==</span> <span class="s1">&#39;day&#39;</span> <span class="ow">and</span> <span class="n">value</span><span class="p">.</span><span class="n">precision</span> <span class="o">&gt;=</span> <span class="mi">11</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatTimeWithPrecision</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">time</span><span class="p">,</span> <span class="mi">11</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">time</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatTimeWithPrecision</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">time</span><span class="p">,</span> <span class="n">value</span><span class="p">.</span><span class="n">precision</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatGlobecoordinate</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">coord</span> <span class="o">==</span> <span class="s1">&#39;latitude&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">latitude</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">coord</span> <span class="o">==</span> <span class="s1">&#39;longitude&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">longitude</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">coord</span> <span class="o">==</span> <span class="s1">&#39;globe&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">value</span><span class="p">.</span><span class="n">globe</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;%s, %s&#39;</span><span class="p">,</span> <span class="n">value</span><span class="p">.</span><span class="n">latitude</span><span class="p">,</span> <span class="n">value</span><span class="p">.</span><span class="n">longitude</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatFromPattern</span><span class="p">(</span><span class="n">str</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span>
<span class="n">pattern</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">{&#39;</span><span class="p">,</span> <span class="s1">&#39;{&#39;</span><span class="p">)</span>
<span class="n">pattern</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="s1">&#39;</span><span class="se">\\</span><span class="s1">}&#39;</span><span class="p">,</span> <span class="s1">&#39;}&#39;</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">():</span><span class="n">preprocess</span><span class="p">(</span><span class="n">mw</span><span class="p">.</span><span class="n">message</span><span class="p">.</span><span class="n">newRawMessage</span><span class="p">(</span><span class="n">pattern</span><span class="p">,</span> <span class="n">str</span><span class="p">):</span><span class="n">plain</span><span class="p">())</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatUserValue</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">extlink</span> <span class="kr">then</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">formatExtLink</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span> <span class="ow">and</span> <span class="n">formatFromPattern</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="ow">or</span> <span class="n">value</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">getEntityIdFromValue</span><span class="p">(</span><span class="n">value</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
<span class="kr">if</span> <span class="n">value</span><span class="p">[</span><span class="s1">&#39;entity-type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;item&#39;</span> <span class="kr">then</span>
<span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;Q&#39;</span>
<span class="kr">elseif</span> <span class="n">value</span><span class="p">[</span><span class="s1">&#39;entity-type&#39;</span><span class="p">]</span> <span class="o">==</span> <span class="s1">&#39;property&#39;</span> <span class="kr">then</span>
<span class="n">prefix</span> <span class="o">=</span> <span class="s1">&#39;P&#39;</span>
<span class="kr">else</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;unknown-entity-type&#39;</span><span class="p">])</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">prefix</span> <span class="o">..</span> <span class="n">value</span><span class="p">[</span><span class="s1">&#39;numeric-id&#39;</span><span class="p">]</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatUnitSymbol</span><span class="p">(</span><span class="n">entityId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">lang</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">({</span> <span class="s1">&#39;mul&#39;</span><span class="p">,</span> <span class="s1">&#39;it&#39;</span><span class="p">,</span> <span class="s1">&#39;en&#39;</span> <span class="p">})</span> <span class="kr">do</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">p</span><span class="p">.</span><span class="n">_getProperty</span><span class="p">({</span> <span class="s1">&#39;P5061&#39;</span><span class="p">,</span> <span class="n">includelang</span> <span class="o">=</span> <span class="n">lang</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="n">entityId</span> <span class="p">})</span>
<span class="kr">if</span> <span class="n">ret</span> <span class="ow">and</span> <span class="n">ret</span> <span class="o">~=</span> <span class="s1">&#39;&#39;</span> <span class="kr">then</span>
<span class="kr">break</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="kc">nil</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kd">local</span> <span class="n">space</span> <span class="o">=</span> <span class="n">ret</span> <span class="o">==</span> <span class="s1">&#39;°&#39;</span> <span class="ow">and</span> <span class="s1">&#39;&#39;</span> <span class="ow">or</span> <span class="s1">&#39; &#39;</span>
<span class="kr">if</span> <span class="n">ret</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">showunitlink</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">link</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getSitelink</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">link</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;[[%s|%s]]&#39;</span><span class="p">,</span> <span class="n">link</span><span class="p">,</span> <span class="n">ret</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span> <span class="ow">and</span> <span class="p">(</span><span class="n">space</span> <span class="o">..</span> <span class="n">ret</span><span class="p">)</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span>
 
<span class="c1">-- http://lua-users.org/wiki/SimpleRound</span>
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">round</span><span class="p">(</span><span class="n">num</span><span class="p">,</span> <span class="n">idp</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">mult</span> <span class="o">=</span> <span class="mi">10</span> <span class="o">^</span> <span class="p">(</span><span class="n">idp</span> <span class="ow">or</span> <span class="mi">0</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">math.floor</span><span class="p">(</span><span class="n">num</span> <span class="o">*</span> <span class="n">mult</span> <span class="o">+</span> <span class="mf">0.5</span><span class="p">)</span> <span class="o">/</span> <span class="n">mult</span>
<span class="kr">end</span>
 
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatQuantity</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">amount</span><span class="p">)</span>
 
<span class="kr">if</span> <span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">unit</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">showunit</span><span class="p">)</span> <span class="ow">and</span> <span class="n">value</span><span class="p">.</span><span class="n">unit</span> <span class="o">~=</span> <span class="s1">&#39;1&#39;</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">unitId</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">unit</span><span class="p">,</span> <span class="s1">&#39;Q%d+&#39;</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">unit</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">opts</span> <span class="o">=</span> <span class="p">{</span>
<span class="n">showunit</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">showunit</span><span class="p">,</span>
<span class="n">showunitlink</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">showunitlink</span><span class="p">,</span>
<span class="n">formatnum</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">formatnum</span><span class="p">,</span>
<span class="n">rounding</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">rounding</span>
<span class="p">}</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mConvert</span><span class="p">.</span><span class="n">_main</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">unitId</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">unit</span><span class="p">,</span> <span class="n">opts</span><span class="p">)</span>
<span class="kr">else</span>
<span class="c1">-- se è richiesto solo il simbolo dell&#39;unità</span>
<span class="c1">-- senza la conversione lo ottiene da P5061</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">rounding</span> <span class="ow">and</span> <span class="n">round</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rounding</span><span class="p">)</span> <span class="ow">or</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">formatnum</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">():</span><span class="n">formatNum</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">ret</span> <span class="o">..</span> <span class="n">formatUnitSymbol</span><span class="p">(</span><span class="n">unitId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">formatnum</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">rounding</span> <span class="ow">and</span> <span class="n">round</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rounding</span><span class="p">)</span> <span class="ow">or</span> <span class="n">ret</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">():</span><span class="n">formatNum</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">formatduration</span> <span class="ow">and</span> <span class="n">value</span><span class="p">.</span><span class="n">unit</span> <span class="o">~=</span> <span class="s1">&#39;1&#39;</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">unitId</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">match</span><span class="p">(</span><span class="n">value</span><span class="p">.</span><span class="n">unit</span><span class="p">,</span> <span class="s1">&#39;Q%d+&#39;</span><span class="p">)</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mConvert</span><span class="p">.</span><span class="n">_main</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">unitId</span><span class="p">,</span> <span class="s1">&#39;second&#39;</span><span class="p">)</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">ret</span> <span class="ow">and</span> <span class="n">mw</span><span class="p">.</span><span class="n">language</span><span class="p">.</span><span class="n">getContentLanguage</span><span class="p">()</span>
<span class="p">:</span><span class="n">formatDuration</span><span class="p">(</span><span class="nb">tonumber</span><span class="p">(</span><span class="n">ret</span><span class="p">),</span> <span class="p">{</span> <span class="s1">&#39;days&#39;</span><span class="p">,</span> <span class="s1">&#39;hours&#39;</span><span class="p">,</span> <span class="s1">&#39;minutes&#39;</span><span class="p">,</span> <span class="s1">&#39;seconds&#39;</span> <span class="p">})</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatDatavalue</span><span class="p">(</span><span class="n">datavalue</span><span class="p">,</span> <span class="n">snakdatatype</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
 
<span class="kr">if</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;wikibase-entityid&#39;</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">entityId</span> <span class="o">=</span> <span class="n">getEntityIdFromValue</span><span class="p">(</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">showprop</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">p</span><span class="p">.</span><span class="n">_getProperty</span><span class="p">({</span> <span class="n">args</span><span class="p">.</span><span class="n">showprop</span><span class="p">,</span> <span class="n">n</span> <span class="o">=</span> <span class="mi">1</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="n">entityId</span> <span class="p">})</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">formatting</span> <span class="o">==</span> <span class="s1">&#39;raw&#39;</span> <span class="ow">and</span> <span class="n">entityId</span> <span class="ow">or</span> <span class="n">formatEntityId</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">elseif</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;string&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">value</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">extlink</span> <span class="ow">and</span> <span class="n">snakdatatype</span> <span class="o">==</span> <span class="s1">&#39;url&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatExtLink</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">urlencode</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">uri</span><span class="p">.</span><span class="n">encode</span><span class="p">(</span><span class="n">ret</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">elseif</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;monolingualtext&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatMonolingualtext</span><span class="p">(</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;time&#39;</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">formatting</span> <span class="o">==</span> <span class="s1">&#39;raw&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">.</span><span class="n">time</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatTime</span><span class="p">(</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">elseif</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;globecoordinate&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatGlobecoordinate</span><span class="p">(</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">datavalue</span><span class="p">.</span><span class="n">type</span> <span class="o">==</span> <span class="s1">&#39;quantity&#39;</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatQuantity</span><span class="p">(</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">else</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;unknown-datavalue-type&#39;</span><span class="p">])</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatSnak</span><span class="p">(</span><span class="n">snak</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">snak</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="s1">&#39;somevalue&#39;</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="n">i18n</span><span class="p">[</span><span class="s1">&#39;somevalue&#39;</span><span class="p">]</span>
<span class="kr">elseif</span> <span class="n">snak</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="s1">&#39;novalue&#39;</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="n">i18n</span><span class="p">[</span><span class="s1">&#39;novalue&#39;</span><span class="p">]</span>
<span class="kr">elseif</span> <span class="n">snak</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="s1">&#39;value&#39;</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="n">formatDatavalue</span><span class="p">(</span><span class="n">snak</span><span class="p">.</span><span class="n">datavalue</span><span class="p">,</span> <span class="n">snak</span><span class="p">.</span><span class="n">datatype</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">else</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;unknown-snak-type&#39;</span><span class="p">])</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="c1">-- È al plurale perché anche i qualifier possono avere più di un valore</span>
<span class="c1">-- (si ottiene inserendo due volte lo stesso qualifier)</span>
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">rawTable</span><span class="p">,</span> <span class="n">retTable</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">formattedQualifiers</span> <span class="o">=</span> <span class="n">retTable</span> <span class="ow">or</span> <span class="p">{}</span>
 
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span> <span class="ow">and</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">qualifierId</span><span class="p">]</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">qualifiers</span> <span class="o">=</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">qualifierId</span><span class="p">]</span>
<span class="c1">-- con args.nq seleziona solo l&#39;n-esimo qualifier</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">nq</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">n</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">nq</span><span class="p">)</span>
<span class="n">qualifiers</span> <span class="o">=</span> <span class="p">(</span><span class="n">n</span> <span class="ow">and</span> <span class="n">n</span> <span class="o">&lt;=</span> <span class="o">#</span><span class="n">qualifiers</span><span class="p">)</span> <span class="ow">and</span> <span class="p">{</span> <span class="n">qualifiers</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="p">}</span> <span class="ow">or</span> <span class="p">{}</span>
<span class="kr">end</span>
<span class="c1">-- qualifier filtrati per snaktype, default &quot;value&quot;</span>
<span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="ow">or</span> <span class="s1">&#39;value&#39;</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">qualifier</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">qualifiers</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">qualifier</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="s1">&#39;all&#39;</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">formattedQualifier</span> <span class="o">=</span> <span class="n">formatSnak</span><span class="p">(</span><span class="n">qualifier</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">formattedQualifier</span> <span class="o">~=</span> <span class="s1">&#39;&#39;</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span> <span class="kr">then</span>
<span class="n">formattedQualifier</span> <span class="o">=</span> <span class="n">formatFromPattern</span><span class="p">(</span><span class="n">formattedQualifier</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">formattedQualifier</span> <span class="o">~=</span> <span class="s1">&#39;&#39;</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="n">formattedQualifier</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">else</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="n">formattedQualifier</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="kr">if</span> <span class="n">rawTable</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="n">formattedQualifiers</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="o">#</span><span class="n">formattedQualifiers</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">and</span>
<span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">separator</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">conjunction</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">appendQualifiers</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">formattedQualifiers</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kd">local</span> <span class="n">qualifierIds</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">split</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">showqualifiers</span><span class="p">,</span> <span class="s1">&#39;,&#39;</span><span class="p">)</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">qualifierId</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">qualifierIds</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">statement</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">qualifierId</span><span class="p">]</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">formattedQualifier</span> <span class="o">=</span> <span class="n">formatQualifiers</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="n">formattedQualifier</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">if</span> <span class="o">#</span><span class="n">formattedQualifiers</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="kr">then</span>
<span class="n">text</span> <span class="o">=</span> <span class="nb">string.format</span><span class="p">(</span><span class="s1">&#39;%s (%s)&#39;</span><span class="p">,</span> <span class="n">text</span><span class="p">,</span> <span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="s1">&#39;, &#39;</span><span class="p">,</span> <span class="s1">&#39;, &#39;</span><span class="p">))</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">text</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatStatement</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">statement</span><span class="p">.</span><span class="n">type</span> <span class="ow">or</span> <span class="n">statement</span><span class="p">.</span><span class="n">type</span> <span class="o">~=</span> <span class="s1">&#39;statement&#39;</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;unknown-claim-type&#39;</span><span class="p">])</span>
<span class="kr">end</span>
<span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="n">formatSnak</span><span class="p">(</span><span class="n">statement</span><span class="p">.</span><span class="n">mainsnak</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="c1">-- eventuale showqualifiers</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">showqualifiers</span> <span class="ow">and</span> <span class="n">statement</span><span class="p">.</span><span class="n">qualifiers</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">appendQualifiers</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">ret</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">formatStatements</span><span class="p">(</span><span class="n">claims</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">rawTable</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">formattedStatements</span> <span class="o">=</span> <span class="p">{}</span>
 
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kd">local</span> <span class="n">formattedStatement</span> <span class="o">=</span> <span class="n">formatStatement</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">formattedStatement</span> <span class="o">~=</span> <span class="s1">&#39;&#39;</span> <span class="kr">then</span>
<span class="c1">-- eventuale pattern</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span> <span class="kr">then</span>
<span class="n">formattedStatement</span> <span class="o">=</span> <span class="n">formatFromPattern</span><span class="p">(</span><span class="n">formattedStatement</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">formattedStatement</span> <span class="o">~=</span> <span class="s1">&#39;&#39;</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">formattedStatements</span><span class="p">,</span> <span class="n">formattedStatement</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">else</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">formattedStatements</span><span class="p">,</span> <span class="n">formattedStatement</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">if</span> <span class="n">rawTable</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="n">formattedStatements</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="p">((</span><span class="n">args</span><span class="p">.</span><span class="n">list</span> <span class="ow">or</span> <span class="n">args</span><span class="p">.</span><span class="n">orderedlist</span><span class="p">)</span> <span class="ow">and</span> <span class="o">#</span><span class="n">formattedStatements</span> <span class="o">&gt;</span> <span class="mi">1</span><span class="p">)</span> <span class="ow">and</span>
<span class="n">formatList</span><span class="p">(</span><span class="n">formattedStatements</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">orderedlist</span> <span class="o">~=</span> <span class="kc">nil</span><span class="p">)</span> <span class="ow">or</span>
<span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">formattedStatements</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">separator</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">conjunction</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="c1">-------------------------------------------------------------------------------</span>
<span class="c1">-- Lettura e selezione statement</span>
<span class="c1">-------------------------------------------------------------------------------</span>
 
<span class="c1">-- Restituisce true se lo statement contiene il qualifier richiesto con un dato valore</span>
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">hasQualifierValue</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">qualifierValue</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="kc">false</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">qualifier</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">statement</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">qualifierId</span><span class="p">])</span> <span class="kr">do</span>
<span class="kd">local</span> <span class="n">isItem</span> <span class="o">=</span> <span class="n">qualifier</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="s1">&#39;value&#39;</span> <span class="ow">and</span>
<span class="n">qualifier</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;wikibase-entityid&#39;</span>
<span class="c1">-- per le proprietà di tipo item il confronto è eseguito sull&#39;id</span>
<span class="kr">if</span> <span class="n">formatSnak</span><span class="p">(</span><span class="n">qualifier</span><span class="p">,</span> <span class="n">isItem</span> <span class="ow">and</span> <span class="p">{</span> <span class="n">formatting</span> <span class="o">=</span> <span class="s1">&#39;raw&#39;</span> <span class="p">}</span> <span class="ow">or</span> <span class="p">{})</span> <span class="o">==</span> <span class="n">qualifierValue</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="kc">true</span>
<span class="kr">break</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce i claim con il rank richiesto</span>
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">filterRankValue</span><span class="p">(</span><span class="n">claims</span><span class="p">,</span> <span class="n">rank</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">rank</span> <span class="o">==</span> <span class="n">rank</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">ret</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce una sequence Lua contenente gli statement per la property richiesta,</span>
<span class="c1">-- anche vuota se la proprietà non esiste, o non ci sono valori che soddisfano i criteri</span>
<span class="c1">-- (&quot;rank&quot;, &quot;qualifier&quot;, &quot;qualifiertype&quot;, &quot;noqualifier&quot;, ...).</span>
<span class="c1">-- Restituisce nil solo se la pagina non è collegata a un elemento Wikidata e non è indicato il from.</span>
<span class="kd">local</span> <span class="kr">function</span> <span class="nf">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">entityId</span><span class="p">,</span> <span class="n">claims</span><span class="p">,</span> <span class="n">filteredClaims</span>
<span class="n">entityId</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">from</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntityIdForCurrentPage</span><span class="p">()</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">entityId</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="kc">nil</span>
<span class="kr">end</span>
<span class="c1">-- il default rank è &#39;best&#39;</span>
<span class="n">args</span><span class="p">.</span><span class="n">rank</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">rank</span> <span class="ow">or</span> <span class="s1">&#39;best&#39;</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">rank</span> <span class="o">==</span> <span class="s1">&#39;best&#39;</span> <span class="kr">then</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getBestStatements</span><span class="p">(</span><span class="n">entityId</span><span class="p">,</span> <span class="n">propertyId</span><span class="p">)</span>
<span class="kr">else</span>
<span class="c1">-- statements filtrati per rank</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getAllStatements</span><span class="p">(</span><span class="n">entityId</span><span class="p">,</span> <span class="n">propertyId</span><span class="p">)</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">filterRankValue</span><span class="p">(</span><span class="n">claims</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">rank</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="c1">-- statements filtrati per snaktype, default &quot;value&quot;</span>
<span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="ow">or</span> <span class="s1">&#39;value&#39;</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">~=</span> <span class="s1">&#39;all&#39;</span> <span class="kr">then</span>
<span class="n">filteredClaims</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">mainsnak</span><span class="p">.</span><span class="n">snaktype</span> <span class="o">==</span> <span class="n">args</span><span class="p">.</span><span class="n">snaktype</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">filteredClaims</span>
<span class="kr">end</span>
 
<span class="c1">-- statements filtrati per qualifier</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifier</span> <span class="kr">then</span>
<span class="n">filteredClaims</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span> <span class="ow">and</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">qualifier</span><span class="p">]</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifiervalue</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="n">hasQualifierValue</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifier</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifiervalue</span><span class="p">)</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">else</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">filteredClaims</span>
<span class="kr">end</span>
 
<span class="c1">-- statements filtrati per essere senza un qualifier</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">noqualifier</span> <span class="kr">then</span>
<span class="n">filteredClaims</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="p">(</span><span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span> <span class="ow">and</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">noqualifier</span><span class="p">])</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">filteredClaims</span>
<span class="kr">end</span>
 
<span class="c1">-- statements filtrati per non avere un certo valore a un certo qualifier opzionale</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifieroptnovalue</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifiervalue</span> <span class="kr">then</span>
<span class="n">filteredClaims</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span> <span class="ow">and</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">qualifieroptnovalue</span><span class="p">]</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">hasQualifierValue</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifieroptnovalue</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifiervalue</span><span class="p">)</span> <span class="kr">then</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">else</span>
<span class="nb">table.insert</span><span class="p">(</span><span class="n">filteredClaims</span><span class="p">,</span> <span class="n">claim</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">filteredClaims</span>
<span class="kr">end</span>
 
<span class="c1">-- con args.qualifiertype=latest restituisce solo il più recente</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifier</span> <span class="ow">and</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifiertype</span> <span class="o">==</span> <span class="s1">&#39;latest&#39;</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">latest</span><span class="p">,</span> <span class="n">latestTime</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span> <span class="ow">and</span> <span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">qualifier</span><span class="p">]</span> <span class="kr">then</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">qualifier</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claim</span><span class="p">.</span><span class="n">qualifiers</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">qualifier</span><span class="p">])</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">qualifier</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="nb">type</span> <span class="o">==</span> <span class="s1">&#39;time&#39;</span> <span class="kr">then</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">latestTime</span> <span class="ow">or</span> <span class="n">qualifier</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">.</span><span class="n">time</span> <span class="o">&gt;</span> <span class="n">latestTime</span> <span class="kr">then</span>
<span class="n">latest</span> <span class="o">=</span> <span class="n">claim</span>
<span class="n">latestTime</span> <span class="o">=</span> <span class="n">qualifier</span><span class="p">.</span><span class="n">datavalue</span><span class="p">.</span><span class="n">value</span><span class="p">.</span><span class="n">time</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">latest</span> <span class="ow">and</span> <span class="p">{</span> <span class="n">latest</span> <span class="p">}</span> <span class="ow">or</span> <span class="p">{}</span>
<span class="kr">end</span>
 
<span class="c1">-- con args.n restituisce solo l&#39;n-esimo elemento</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">n</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">n</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">n</span><span class="p">)</span>
<span class="n">claims</span> <span class="o">=</span> <span class="p">(</span><span class="n">n</span> <span class="ow">and</span> <span class="n">n</span> <span class="o">&lt;=</span> <span class="o">#</span><span class="n">claims</span><span class="p">)</span> <span class="ow">and</span> <span class="p">{</span> <span class="n">claims</span><span class="p">[</span><span class="n">n</span><span class="p">]</span> <span class="p">}</span> <span class="ow">or</span> <span class="p">{}</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">claims</span>
<span class="kr">end</span>
 
<span class="c1">-------------------------------------------------------------------------------</span>
<span class="c1">-- Funzioni esportate per altri moduli</span>
<span class="c1">-------------------------------------------------------------------------------</span>
 
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span> <span class="ow">or</span> <span class="p">{})</span>
<span class="kr">end</span>
 
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_formatStatement</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">formatStatement</span><span class="p">(</span><span class="n">statement</span><span class="p">,</span> <span class="n">args</span> <span class="ow">or</span> <span class="p">{})</span>
<span class="kr">end</span>
 
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">rawTable</span><span class="p">,</span> <span class="n">retTable</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">args</span> <span class="ow">or</span> <span class="p">{},</span> <span class="n">rawTable</span><span class="p">,</span> <span class="n">retTable</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce il valore di una proprietà di Wikidata oppure nil se l&#39;entity o</span>
<span class="c1">-- la proprietà non esistono, o se per parametri di selezione gli statement sono zero.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getProperty</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">rawTable</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">claims</span><span class="p">,</span> <span class="n">ret</span>
 
<span class="c1">-- parametri posizionali</span>
<span class="n">propertyId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">propertyId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
<span class="c1">-- fix uppercase</span>
<span class="n">args</span><span class="p">.</span><span class="n">qualifier</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">qualifier</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">qualifier</span><span class="p">)</span>
 
<span class="kr">if</span> <span class="n">value</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatUserValue</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">wd</span> <span class="o">~=</span> <span class="s1">&#39;no&#39;</span> <span class="kr">then</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="n">ret</span> <span class="o">=</span> <span class="p">(</span><span class="n">claims</span> <span class="ow">and</span> <span class="o">#</span><span class="n">claims</span> <span class="o">&gt;</span> <span class="mi">0</span><span class="p">)</span> <span class="ow">and</span> <span class="n">formatStatements</span><span class="p">(</span><span class="n">claims</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="n">rawTable</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce il valore di un qualifier di una proprietà di Wikidata,</span>
<span class="c1">-- o nil se l&#39;entity o la proprietà non esistono, o se per parametri di selezione non ci sono risultati.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getQualifier</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">claims</span><span class="p">,</span> <span class="n">ret</span>
 
<span class="c1">-- parametri posizionali</span>
<span class="n">propertyId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">propertyId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">qualifierId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">qualifierId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;qualifier-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">3</span><span class="p">]</span>
 
<span class="kr">if</span> <span class="n">value</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">formatUserValue</span><span class="p">(</span><span class="n">value</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">elseif</span> <span class="n">args</span><span class="p">.</span><span class="n">wd</span> <span class="o">~=</span> <span class="s1">&#39;no&#39;</span> <span class="kr">then</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">claims</span> <span class="ow">and</span> <span class="o">#</span><span class="n">claims</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">formattedQualifiers</span> <span class="o">=</span> <span class="p">{}</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="n">formattedQualifiers</span> <span class="o">=</span> <span class="n">formatQualifiers</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">qualifierId</span><span class="p">,</span> <span class="n">args</span><span class="p">,</span> <span class="kc">true</span><span class="p">,</span> <span class="n">formattedQualifiers</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">ret</span> <span class="o">=</span> <span class="o">#</span><span class="n">formattedQualifiers</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">and</span>
<span class="n">mw</span><span class="p">.</span><span class="n">text</span><span class="p">.</span><span class="n">listToText</span><span class="p">(</span><span class="n">formattedQualifiers</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">separator</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">conjunction</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce l&#39;indice dello statement con il valore richiesto, o nil se non trovato.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_indexOf</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span><span class="p">,</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">value</span><span class="p">,</span> <span class="n">claims</span>
 
<span class="c1">-- parametri posizionali</span>
<span class="n">propertyId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">propertyId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="n">value</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">value</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;value-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="n">claims</span> <span class="o">=</span> <span class="n">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">claims</span> <span class="ow">and</span> <span class="o">#</span><span class="n">claims</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="kr">then</span>
<span class="n">args</span><span class="p">.</span><span class="n">formatting</span> <span class="o">=</span> <span class="s1">&#39;raw&#39;</span>
<span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">claim</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">claims</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">formatStatement</span><span class="p">(</span><span class="n">claim</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="o">==</span> <span class="n">value</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">i</span>
<span class="kr">break</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce il numero di statement di una proprietà di Wikidata.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_N</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">claims</span>
 
<span class="c1">-- parametri posizionali</span>
<span class="n">propertyId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">propertyId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="c1">-- get claims</span>
<span class="n">claims</span> <span class="o">=</span> <span class="n">getClaims</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
 
<span class="kr">return</span> <span class="n">claims</span> <span class="ow">and</span> <span class="o">#</span><span class="n">claims</span> <span class="ow">or</span> <span class="mi">0</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce true se la propriertà specificata ha come valore</span>
<span class="c1">-- almeno uno tra gli entityId passati come argomento.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_propertyHasEntity</span><span class="p">(</span><span class="n">propertyId</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">statements</span> <span class="o">=</span> <span class="n">p</span><span class="p">.</span><span class="n">_getProperty</span><span class="p">({</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">from</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">from</span><span class="p">,</span> <span class="n">formatting</span> <span class="o">=</span> <span class="s1">&#39;raw&#39;</span> <span class="p">},</span> <span class="kc">true</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">statements</span> <span class="kr">then</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">statement</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">statements</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">entityId</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">args</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="n">statement</span> <span class="o">==</span> <span class="n">entityId</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="kc">true</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="c1">-- Se non è stato trovato alcun valore, controlla se questo sia ereditato</span>
<span class="c1">-- tramite la proprietà &quot;sottoclasse di&quot; (P279) scavando in profondità</span>
<span class="c1">-- fino all&#39;esaurirsi del numero specificato in args.recursion.</span>
<span class="cm">--[[ TODO: Valutare se sia opportuna una ricerca ricorsiva potenzialmente infinita.</span>
<span class="cm"> Per farlo si può aggiungere un parametro (opzionale) maxDepth</span>
<span class="cm"> che svolga l&#39;attuale funzione di recursion e cambiare quest&#39;ultimo</span>
<span class="cm"> in un parametro booleano.</span>
<span class="cm"> ]]</span>
<span class="n">args</span><span class="p">.</span><span class="n">recursion</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">recursion</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">.</span><span class="n">recursion</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">recursion</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">recursion</span>
<span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span><span class="p">)</span> <span class="o">~=</span> <span class="s1">&#39;table&#39;</span> <span class="kr">then</span>
<span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span> <span class="o">=</span> <span class="nb">setmetatable</span><span class="p">({},</span> <span class="p">{</span>
<span class="n">__newindex</span> <span class="o">=</span> <span class="kr">function</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
<span class="nb">rawset</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">k</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span>
<span class="nb">rawset</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="o">#</span><span class="n">t</span><span class="o">+</span><span class="mi">1</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span>
<span class="kr">end</span> <span class="p">})</span>
<span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span><span class="p">[</span><span class="n">args</span><span class="p">.</span><span class="n">from</span> <span class="ow">or</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntityIdForCurrentPage</span><span class="p">()]</span> <span class="o">=</span> <span class="kc">true</span>
<span class="kr">end</span>
<span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">statement</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">statements</span><span class="p">)</span> <span class="kr">do</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span><span class="p">[</span><span class="n">statement</span><span class="p">]</span> <span class="kr">then</span>
<span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span><span class="p">[</span><span class="n">statement</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span>
<span class="n">args</span><span class="p">.</span><span class="n">recursion</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">recursion</span> <span class="o">-</span> <span class="mi">1</span>
<span class="n">args</span><span class="p">.</span><span class="n">from</span> <span class="o">=</span> <span class="n">statement</span>
<span class="kr">if</span> <span class="n">p</span><span class="p">.</span><span class="n">_propertyHasEntity</span><span class="p">(</span><span class="s1">&#39;P279&#39;</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span> <span class="kr">then</span>
<span class="kr">return</span> <span class="kc">true</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span>
<span class="kr">end</span>
<span class="n">args</span><span class="p">.</span><span class="n">recursion</span> <span class="o">=</span> <span class="n">recursion</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="kc">false</span><span class="p">,</span> <span class="n">args</span><span class="p">.</span><span class="n">loadedEntities</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce true se la proprietà P31 (instance of) ha come valore almeno uno tra gli entityId specificati</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_instanceOf</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_propertyHasEntity</span><span class="p">(</span><span class="s1">&#39;P31&#39;</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce true se la proprietà P279 (subclass of) ha come valore almeno uno tra gli entityId specificati</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_subclassOf</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_propertyHasEntity</span><span class="p">(</span><span class="s1">&#39;P279&#39;</span><span class="p">,</span> <span class="n">args</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce l&#39;etichetta di un item o di una proprietà Wikidata.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getLabel</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">entityId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getLabelByLang</span><span class="p">(</span><span class="n">entityId</span><span class="p">,</span> <span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getLabel</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce il titolo della pagina collegata a un dato item Wikidata.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getLink</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="c1">-- parametri posizionali</span>
<span class="kd">local</span> <span class="n">entityId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">entityId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;entityid-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">entityId</span><span class="p">:</span><span class="n">sub</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="s1">&#39;Q&#39;</span> <span class="ow">and</span> <span class="n">formatEntityId</span><span class="p">(</span><span class="n">entityId</span><span class="p">)</span> <span class="ow">or</span> <span class="kc">nil</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce il datatype di una proprietà Wikidata.</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getDatatype</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">propertyId</span><span class="p">,</span> <span class="n">entity</span>
 
<span class="c1">-- parametri posizionali</span>
<span class="n">propertyId</span> <span class="o">=</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">and</span> <span class="nb">string.upper</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">propertyId</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;property-param-not-provided&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="n">entity</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntity</span><span class="p">(</span><span class="n">propertyId</span><span class="p">)</span>
<span class="kr">if</span> <span class="ow">not</span> <span class="n">entity</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;entity-not-found&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">if</span> <span class="ow">not</span> <span class="n">i18n</span><span class="p">.</span><span class="n">datatypes</span><span class="p">[</span><span class="n">entity</span><span class="p">.</span><span class="n">datatype</span><span class="p">]</span> <span class="kr">then</span>
<span class="nb">error</span><span class="p">(</span><span class="n">i18n</span><span class="p">.</span><span class="n">errors</span><span class="p">[</span><span class="s1">&#39;unknown-datavalue-type&#39;</span><span class="p">],</span> <span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">i18n</span><span class="p">.</span><span class="n">datatypes</span><span class="p">[</span><span class="n">entity</span><span class="p">.</span><span class="n">datatype</span><span class="p">]</span>
<span class="kr">end</span>
 
<span class="c1">-- Restituisce l&#39;ID dell&#39;item Wikidata collegato alla pagina corrente o a una pagina specificata</span>
<span class="c1">-- (nota: segue i redirect fermandosi al primo redirect collegato a un elemento)</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">_getId</span><span class="p">(</span><span class="n">args</span><span class="p">)</span>
<span class="kd">local</span> <span class="n">ret</span>
<span class="kr">if</span> <span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="kr">then</span>
<span class="kd">local</span> <span class="n">title</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">title</span><span class="p">.</span><span class="n">new</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="kr">while</span> <span class="n">title</span> <span class="kr">do</span>
<span class="kd">local</span> <span class="n">id</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntityIdForTitle</span><span class="p">(</span><span class="n">title</span><span class="p">.</span><span class="n">prefixedText</span><span class="p">)</span>
<span class="kr">if</span> <span class="n">id</span> <span class="kr">then</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">id</span>
<span class="kr">break</span>
<span class="kr">else</span>
<span class="n">title</span> <span class="o">=</span> <span class="n">title</span><span class="p">.</span><span class="n">redirectTarget</span>
<span class="kr">end</span>
<span class="kr">end</span>
<span class="kr">else</span>
<span class="n">ret</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">wikibase</span><span class="p">.</span><span class="n">getEntityIdForCurrentPage</span><span class="p">()</span>
<span class="kr">end</span>
<span class="kr">return</span> <span class="n">ret</span>
<span class="kr">end</span>
 
<span class="c1">-------------------------------------------------------------------------------</span>
<span class="c1">-- Funzioni esportate per i template</span>
<span class="c1">-------------------------------------------------------------------------------</span>
 
<span class="c1">-- Funzione per il template {{Wikidata}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getProperty</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getProperty</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataQ}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getQualifier</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getQualifier</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataIdx}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">indexOf</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_indexOf</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataN}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">N</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_N</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataLabel}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getLabel</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getLabel</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataLink}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getLink</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getLink</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataIstanza}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">instanceOf</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_instanceOf</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span> <span class="ow">and</span> <span class="mi">1</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataTipo}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getDatatype</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getDatatype</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataId}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">getId</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_getId</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="c1">-- Funzione per il template {{WikidataValido}}</span>
<span class="kr">function</span> <span class="nc">p</span><span class="p">.</span><span class="nf">checkProperty</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span>
<span class="kr">return</span> <span class="nb">select</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span> <span class="nb">xpcall</span><span class="p">(</span><span class="kr">function</span><span class="p">()</span>
<span class="kr">return</span> <span class="n">p</span><span class="p">.</span><span class="n">_N</span><span class="p">(</span><span class="n">getArgs</span><span class="p">(</span><span class="n">frame</span><span class="p">,</span> <span class="p">{</span> <span class="n">parentOnly</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}))</span> <span class="o">&gt;</span> <span class="mi">0</span> <span class="ow">and</span> <span class="mi">1</span> <span class="ow">or</span> <span class="s1">&#39;&#39;</span>
<span class="kr">end</span><span class="p">,</span> <span class="n">errhandler</span><span class="p">))</span>
<span class="kr">end</span>
 
<span class="kr">return</span> <span class="n">p</span>
</pre></div>
</div></div>
<div class="printfooter">Estratto da "<a dir="ltr" href="https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata&amp;oldid=109802505">https://it.wikipedia.org/w/index.php?title=Modulo:Wikidata&amp;oldid=109802505</a>"</div>
<div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Categoria:Categorie" title="Categoria:Categorie">Categoria</a>: <ul><li><a href="/wiki/Categoria:Moduli" title="Categoria:Moduli">Moduli</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-user-shown">Categoria nascosta: <ul><li><a href="/wiki/Categoria:Moduli_protetti" title="Categoria:Moduli protetti">Moduli protetti</a></li></ul></div></div>
<div class="visualClear"></div>
</div>
</div>
<div id='mw-data-after-content'>
<div class="read-more-container"></div>
</div>
 
<div id="mw-navigation">
<h2>Menu di navigazione</h2>
<div id="mw-head">
<div id="p-personal" role="navigation" class="" aria-labelledby="p-personal-label">
<h3 id="p-personal-label">Strumenti personali</h3>
<ul >
<li id="pt-userpage"><a href="/wiki/Utente:ValterVB" dir="auto" title="La tua pagina utente [.]" accesskey=".">ValterVB</a></li><li id="pt-notifications-alert"><a href="/wiki/Speciale:Notifiche" class="mw-echo-notifications-badge mw-echo-notification-badge-nojs oo-ui-icon-bell mw-echo-notifications-badge-all-read" data-counter-num="0" data-counter-text="0" title="I tuoi avvisi">Avvisi (0)</a></li><li id="pt-notifications-notice"><a href="/wiki/Speciale:Notifiche" class="mw-echo-notifications-badge mw-echo-notification-badge-nojs oo-ui-icon-tray mw-echo-notifications-badge-all-read" data-counter-num="0" data-counter-text="0" title="Le tue notizie">Notizie (0)</a></li><li id="pt-mytalk"><a href="/wiki/Discussioni_utente:ValterVB" title="La tua pagina di discussione [n]" accesskey="n">discussioni</a></li><li id="pt-sandbox"><a href="/wiki/Utente:ValterVB/Sandbox" title="La tua pagina delle prove">prove</a></li><li id="pt-preferences"><a href="/wiki/Speciale:Preferenze" title="Le tue preferenze">preferenze</a></li><li id="pt-betafeatures"><a href="/wiki/Speciale:Preferenze#mw-prefsection-betafeatures" title="Funzionalità sperimentali">beta</a></li><li id="pt-watchlist"><a href="/wiki/Speciale:OsservatiSpeciali" title="La lista delle pagine che stai tenendo sotto osservazione [l]" accesskey="l">osservati speciali</a></li><li id="pt-mycontris"><a href="/wiki/Speciale:Contributi/ValterVB" title="La lista dei tuoi contributi [y]" accesskey="y">contributi</a></li><li id="pt-logout"><a href="/w/index.php?title=Speciale:Esci&amp;returnto=Modulo%3AWikidata" data-mw="interface" title="Uscita (logout)">esci</a></li>
</ul>
</div>
<div id="left-navigation">
<div id="p-namespaces" role="navigation" class="vectorTabs " aria-labelledby="p-namespaces-label">
<h3 id="p-namespaces-label">Namespace</h3>
<ul >
<li id="ca-nstab-module" class="selected"><a href="/wiki/Modulo:Wikidata" title="Vedi la pagina del modulo">Modulo</a></li><li id="ca-talk"><a href="/wiki/Discussioni_modulo:Wikidata" rel="discussion" title="Vedi le discussioni relative a questa pagina [t]" accesskey="t">Discussione</a></li>
</ul>
</div>
<div id="p-variants" role="navigation" class="vectorMenu emptyPortlet" aria-labelledby="p-variants-label">
<input type="checkbox" class="vectorMenuCheckbox" aria-labelledby="p-variants-label" />
<h3 id="p-variants-label">
<span>Varianti</span>
</h3>
<ul class="menu" >
</ul>
</div>
</div>
<div id="right-navigation">
<div id="p-views" role="navigation" class="vectorTabs " aria-labelledby="p-views-label">
<h3 id="p-views-label">Visite</h3>
<ul >
<li id="ca-view" class="collapsible selected"><a href="/wiki/Modulo:Wikidata">Leggi</a></li><li id="ca-edit" class="collapsible"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=edit" title="Modifica questa pagina [e]" accesskey="e">Modifica wikitesto</a></li><li id="ca-history" class="collapsible"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=history" title="Versioni precedenti di questa pagina [h]" accesskey="h">Cronologia</a></li><li id="ca-unwatch" class="collapsible icon mw-watchlink"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=unwatch" data-mw="interface" title="Rimuovi questa pagina dalla tua lista degli osservati speciali [w]" accesskey="w">Non seguire</a></li>
</ul>
</div>
<div id="p-cactions" role="navigation" class="vectorMenu " aria-labelledby="p-cactions-label">
<input type="checkbox" class="vectorMenuCheckbox" aria-labelledby="p-cactions-label" />
<h3 id="p-cactions-label">
<span>Altro</span>
</h3>
<ul class="menu" >
<li id="ca-delete"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=delete" title="Cancella questa pagina [d]" accesskey="d">Cancella</a></li><li id="ca-move"><a href="/wiki/Speciale:Sposta/Modulo:Wikidata" title="Sposta questa pagina (cambia titolo) [m]" accesskey="m">Sposta</a></li><li id="ca-unprotect"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=unprotect" title="Modifica la protezione di questa pagina [=]" accesskey="=">Cambia la protezione</a></li>
</ul>
</div>
<div id="p-search" role="search">
<h3 >
<label for="searchInput">Ricerca</label>
</h3>
<form action="/w/index.php" id="searchform">
<div id="simpleSearch">
<input type="search" name="search" placeholder="Cerca in Wikipedia" title="Cerca in Wikipedia [f]" accesskey="f" id="searchInput"/>
<input type="hidden" value="Speciale:Ricerca" name="title"/>
<input type="submit" name="fulltext" value="Ricerca" title="Cerca il testo indicato nelle pagine" id="mw-searchButton" class="searchButton mw-fallbackSearchButton"/>
<input type="submit" name="go" value="Vai" title="Vai a una pagina con il titolo indicato, se esiste" id="searchButton" class="searchButton"/>
</div>
</form>
</div>
</div>
</div>
<div id="mw-panel">
<div id="p-logo" role="banner">
<a title="Visita la pagina principale" class="mw-wiki-logo" href="/wiki/Pagina_principale"></a>
</div>
<div class="portal" role="navigation" id="p-navigation" aria-labelledby="p-navigation-label">
<h3 id="p-navigation-label">
Navigazione
</h3>
<div class="body">
<ul><li id="n-mainpage"><a href="/wiki/Pagina_principale" title="Visita la pagina principale [z]" accesskey="z">Pagina principale</a></li><li id="n-recentchanges"><a href="/wiki/Speciale:UltimeModifiche" title="Elenco delle ultime modifiche del sito [r]" accesskey="r">Ultime modifiche</a></li><li id="n-randompage"><a href="/wiki/Speciale:PaginaCasuale" title="Mostra una pagina a caso [x]" accesskey="x">Una voce a caso</a></li><li id="n-mobile-frontend-nearby-title"><a href="/wiki/Speciale:NelleVicinanze">Nelle vicinanze</a></li><li id="n-vetrina"><a href="/wiki/Wikipedia:Vetrina">Vetrina</a></li><li id="n-help"><a href="/wiki/Aiuto:Aiuto" title="Pagine di aiuto">Aiuto</a></li><li id="n-Sportello-informazioni"><a href="/wiki/Aiuto:Sportello_informazioni">Sportello informazioni</a></li></ul>
</div>
</div>
<div class="portal" role="navigation" id="p-Comunità" aria-labelledby="p-Comunità-label">
<h3 id="p-Comunità-label">
Comunità
</h3>
<div class="body">
<ul><li id="n-portal"><a href="/wiki/Portale:Comunit%C3%A0" title="Descrizione del progetto, cosa puoi fare, dove trovare le cose">Portale Comunità</a></li><li id="n-villagepump"><a href="/wiki/Wikipedia:Bar">Bar</a></li><li id="n-wikipediano"><a href="/wiki/Wikipedia:Wikipediano">Il Wikipediano</a></li><li id="n-sitesupport"><a href="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&amp;utm_medium=sidebar&amp;utm_campaign=C13_it.wikipedia.org&amp;uselang=it" title="Sostienici">Fai una donazione</a></li><li id="n-contactpage"><a href="/wiki/Wikipedia:Contatti">Contatti</a></li></ul>
</div>
</div>
<div class="portal" role="navigation" id="p-tb" aria-labelledby="p-tb-label">
<h3 id="p-tb-label">
Strumenti
</h3>
<div class="body">
<ul><li id="t-whatlinkshere"><a href="/wiki/Speciale:PuntanoQui/Modulo:Wikidata" title="Elenco di tutte le pagine che sono collegate a questa [j]" accesskey="j">Puntano qui</a></li><li id="t-recentchangeslinked"><a href="/wiki/Speciale:ModificheCorrelate/Modulo:Wikidata" rel="nofollow" title="Elenco delle ultime modifiche alle pagine collegate a questa [k]" accesskey="k">Modifiche correlate</a></li><li id="t-upload"><a href="/wiki/Speciale:Carica" title="Carica file multimediali [u]" accesskey="u">Carica un file</a></li><li id="t-specialpages"><a href="/wiki/Speciale:PagineSpeciali" title="Elenco di tutte le pagine speciali [q]" accesskey="q">Pagine speciali</a></li><li id="t-permalink"><a href="/w/index.php?title=Modulo:Wikidata&amp;oldid=109802505" title="Collegamento permanente a questa versione della pagina">Link permanente</a></li><li id="t-info"><a href="/w/index.php?title=Modulo:Wikidata&amp;action=info" title="Ulteriori informazioni su questa pagina">Informazioni pagina</a></li><li id="t-wikibase"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q24575438" title="Collegamento all&#039;elemento connesso dell&#039;archivio dati [g]" accesskey="g">Elemento Wikidata</a></li></ul>
</div>
</div>
<div class="portal" role="navigation" id="p-wikibase-otherprojects" aria-labelledby="p-wikibase-otherprojects-label">
<h3 id="p-wikibase-otherprojects-label">
In altri progetti
</h3>
<div class="body">
<ul><li class="wb-otherproject-link wb-otherproject-commons"><a href="https://commons.wikimedia.org/wiki/Module:Wikidata2" hreflang="en">Wikimedia Commons</a></li><li class="wb-otherproject-link wb-otherproject-meta"><a href="https://meta.wikimedia.org/wiki/Module:Wikidata" hreflang="en">Meta-Wiki</a></li><li class="wb-otherproject-link wb-otherproject-species"><a href="https://species.wikimedia.org/wiki/Module:Wikidata" hreflang="en">Wikispecies</a></li><li class="wb-otherproject-link wb-otherproject-wikibooks"><a href="https://it.wikibooks.org/wiki/Modulo:Wikidata" hreflang="it">Wikibooks</a></li><li class="wb-otherproject-link wb-otherproject-wikidata"><a href="https://www.wikidata.org/wiki/Module:Wikidata" hreflang="en">Wikidata</a></li><li class="wb-otherproject-link wb-otherproject-wikiquote"><a href="https://it.wikiquote.org/wiki/Modulo:Wikidata" hreflang="it">Wikiquote</a></li><li class="wb-otherproject-link wb-otherproject-wikisource"><a href="https://it.wikisource.org/wiki/Modulo:Wikidata" hreflang="it">Wikisource</a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage"><a href="https://it.wikivoyage.org/wiki/Modulo:Wikidata" hreflang="it">Wikivoyage</a></li></ul>
</div>
</div>
<div class="portal" role="navigation" id="p-electronpdfservice-sidebar-portlet-heading" aria-labelledby="p-electronpdfservice-sidebar-portlet-heading-label">
<h3 id="p-electronpdfservice-sidebar-portlet-heading-label">
Stampa/esporta
</h3>
<div class="body">
<ul><li id="electron-print_pdf"><a href="/w/index.php?title=Speciale:ElectronPdf&amp;page=Modulo%3AWikidata&amp;action=show-download-screen">Scarica in formato PDF</a></li></ul>
</div>
</div>
<div class="portal" role="navigation" id="p-lang" aria-labelledby="p-lang-label">
<h3 id="p-lang-label">
In altre lingue
</h3>
<div class="body">
<ul><li class="interlanguage-link interwiki-ab"><a href="https://ab.wikipedia.org/wiki/%D0%90%D0%BC%D0%BE%D0%B4%D1%83%D0%BB:Wikidata" title="Амодул:Wikidata - abcaso" lang="ab" hreflang="ab" class="interlanguage-link-target">Аҧсшәа</a></li><li class="interlanguage-link interwiki-ar"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Wikidata2" title="وحدة:Wikidata2 - arabo" lang="ar" hreflang="ar" class="interlanguage-link-target">العربية</a></li><li class="interlanguage-link interwiki-av"><a href="https://av.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - avaro" lang="av" hreflang="av" class="interlanguage-link-target">Авар</a></li><li class="interlanguage-link interwiki-az"><a href="https://az.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - azerbaigiano" lang="az" hreflang="az" class="interlanguage-link-target">Azərbaycanca</a></li><li class="interlanguage-link interwiki-ba"><a href="https://ba.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - baschiro" lang="ba" hreflang="ba" class="interlanguage-link-target">Башҡортса</a></li><li class="interlanguage-link interwiki-bat-smg"><a href="https://bat-smg.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - Samogitian" lang="sgs" hreflang="sgs" class="interlanguage-link-target">Žemaitėška</a></li><li class="interlanguage-link interwiki-be"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - bielorusso" lang="be" hreflang="be" class="interlanguage-link-target">Беларуская</a></li><li class="interlanguage-link interwiki-be-x-old"><a href="https://be-x-old.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:%D0%92%D1%96%D0%BA%D1%96%D0%B7%D1%8C%D0%B2%D0%B5%D1%81%D1%82%D0%BA%D1%96" title="Модуль:Вікізьвесткі - Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" class="interlanguage-link-target">Беларуская (тарашкевіца)‎</a></li><li class="interlanguage-link interwiki-ca"><a href="https://ca.wikipedia.org/wiki/M%C3%B2dul:Wikidata" title="Mòdul:Wikidata - catalano" lang="ca" hreflang="ca" class="interlanguage-link-target">Català</a></li><li class="interlanguage-link interwiki-ce"><a href="https://ce.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - ceceno" lang="ce" hreflang="ce" class="interlanguage-link-target">Нохчийн</a></li><li class="interlanguage-link interwiki-ceb"><a href="https://ceb.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - cebuano" lang="ceb" hreflang="ceb" class="interlanguage-link-target">Cebuano</a></li><li class="interlanguage-link interwiki-cs"><a href="https://cs.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - ceco" lang="cs" hreflang="cs" class="interlanguage-link-target">Čeština</a></li><li class="interlanguage-link interwiki-cv"><a href="https://cv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - ciuvascio" lang="cv" hreflang="cv" class="interlanguage-link-target">Чӑвашла</a></li><li class="interlanguage-link interwiki-da"><a href="https://da.wikipedia.org/wiki/Modul:Wikidata2" title="Modul:Wikidata2 - danese" lang="da" hreflang="da" class="interlanguage-link-target">Dansk</a></li><li class="interlanguage-link interwiki-de"><a href="https://de.wikipedia.org/wiki/Modul:Wikidata2" title="Modul:Wikidata2 - tedesco" lang="de" hreflang="de" class="interlanguage-link-target">Deutsch</a></li><li class="interlanguage-link interwiki-diq"><a href="https://diq.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - Zazaki" lang="diq" hreflang="diq" class="interlanguage-link-target">Zazaki</a></li><li class="interlanguage-link interwiki-el"><a href="https://el.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - greco" lang="el" hreflang="el" class="interlanguage-link-target">Ελληνικά</a></li><li class="interlanguage-link interwiki-eo"><a href="https://eo.wikipedia.org/wiki/Modulo:Wikidata2" title="Modulo:Wikidata2 - esperanto" lang="eo" hreflang="eo" class="interlanguage-link-target">Esperanto</a></li><li class="interlanguage-link interwiki-ht"><a href="https://ht.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - haitiano" lang="ht" hreflang="ht" class="interlanguage-link-target">Kreyòl ayisyen</a></li><li class="interlanguage-link interwiki-hu"><a href="https://hu.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - ungherese" lang="hu" hreflang="hu" class="interlanguage-link-target">Magyar</a></li><li class="interlanguage-link interwiki-hy"><a href="https://hy.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Wikidata" title="Մոդուլ:Wikidata - armeno" lang="hy" hreflang="hy" class="interlanguage-link-target">Հայերեն</a></li><li class="interlanguage-link interwiki-hyw"><a href="https://hyw.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:Wikidata" title="Մոդուլ:Wikidata - Western Armenian" lang="hyw" hreflang="hyw" class="interlanguage-link-target">Արեւմտահայերէն</a></li><li class="interlanguage-link interwiki-inh"><a href="https://inh.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - ingush" lang="inh" hreflang="inh" class="interlanguage-link-target">ГӀалгӀай</a></li><li class="interlanguage-link interwiki-ja"><a href="https://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Wikidata2" title="モジュール:Wikidata2 - giapponese" lang="ja" hreflang="ja" class="interlanguage-link-target">日本語</a></li><li class="interlanguage-link interwiki-ka"><a href="https://ka.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:Wikidata" title="მოდული:Wikidata - georgiano" lang="ka" hreflang="ka" class="interlanguage-link-target">ქართული</a></li><li class="interlanguage-link interwiki-kk"><a href="https://kk.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - kazako" lang="kk" hreflang="kk" class="interlanguage-link-target">Қазақша</a></li><li class="interlanguage-link interwiki-krc"><a href="https://krc.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - karachay-Balkar" lang="krc" hreflang="krc" class="interlanguage-link-target">Къарачай-малкъар</a></li><li class="interlanguage-link interwiki-ku"><a href="https://ku.wikipedia.org/wiki/Modul:W%C3%AEk%C3%AEdane2" title="Modul:Wîkîdane2 - curdo" lang="ku" hreflang="ku" class="interlanguage-link-target">Kurdî</a></li><li class="interlanguage-link interwiki-kv"><a href="https://kv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - komi" lang="kv" hreflang="kv" class="interlanguage-link-target">Коми</a></li><li class="interlanguage-link interwiki-ky"><a href="https://ky.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - kirghiso" lang="ky" hreflang="ky" class="interlanguage-link-target">Кыргызча</a></li><li class="interlanguage-link interwiki-lez"><a href="https://lez.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - lesgo" lang="lez" hreflang="lez" class="interlanguage-link-target">Лезги</a></li><li class="interlanguage-link interwiki-lmo"><a href="https://lmo.wikipedia.org/wiki/Modulo:Wikidata" title="Modulo:Wikidata - lombardo" lang="lmo" hreflang="lmo" class="interlanguage-link-target">Lumbaart</a></li><li class="interlanguage-link interwiki-ltg"><a href="https://ltg.wikipedia.org/wiki/Modulis:Wikidata" title="Modulis:Wikidata - letgallo" lang="ltg" hreflang="ltg" class="interlanguage-link-target">Latgaļu</a></li><li class="interlanguage-link interwiki-mhr"><a href="https://mhr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - Eastern Mari" lang="mhr" hreflang="mhr" class="interlanguage-link-target">Олык марий</a></li><li class="interlanguage-link interwiki-mrj"><a href="https://mrj.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - mari occidentale" lang="mrj" hreflang="mrj" class="interlanguage-link-target">Кырык мары</a></li><li class="interlanguage-link interwiki-myv"><a href="https://myv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - erzya" lang="myv" hreflang="myv" class="interlanguage-link-target">Эрзянь</a></li><li class="interlanguage-link interwiki-nap"><a href="https://nap.wikipedia.org/wiki/Modulo:Wikidata" title="Modulo:Wikidata - napoletano" lang="nap" hreflang="nap" class="interlanguage-link-target">Napulitano</a></li><li class="interlanguage-link interwiki-nds"><a href="https://nds.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - basso tedesco" lang="nds" hreflang="nds" class="interlanguage-link-target">Plattdüütsch</a></li><li class="interlanguage-link interwiki-nn"><a href="https://nn.wikipedia.org/wiki/Modul:Wikidata2" title="Modul:Wikidata2 - norvegese nynorsk" lang="nn" hreflang="nn" class="interlanguage-link-target">Norsk nynorsk</a></li><li class="interlanguage-link interwiki-no"><a href="https://no.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - norvegese bokmål" lang="nb" hreflang="nb" class="interlanguage-link-target">Norsk bokmål</a></li><li class="interlanguage-link interwiki-oc"><a href="https://oc.wikipedia.org/wiki/M%C3%B2dul:Wikidata" title="Mòdul:Wikidata - occitano" lang="oc" hreflang="oc" class="interlanguage-link-target">Occitan</a></li><li class="interlanguage-link interwiki-olo"><a href="https://olo.wikipedia.org/wiki/Moduuli:Wikidata" title="Moduuli:Wikidata - Livvi-Karelian" lang="olo" hreflang="olo" class="interlanguage-link-target">Livvinkarjala</a></li><li class="interlanguage-link interwiki-os"><a href="https://os.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - ossetico" lang="os" hreflang="os" class="interlanguage-link-target">Ирон</a></li><li class="interlanguage-link interwiki-pms"><a href="https://pms.wikipedia.org/wiki/Modulo:Wikidata" title="Modulo:Wikidata - piemontese" lang="pms" hreflang="pms" class="interlanguage-link-target">Piemontèis</a></li><li class="interlanguage-link interwiki-ps"><a href="https://ps.wikipedia.org/wiki/Module:Wikidata2" title="Module:Wikidata2 - pashto" lang="ps" hreflang="ps" class="interlanguage-link-target">پښتو</a></li><li class="interlanguage-link interwiki-pt"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:Infobox/Wikidata" title="Módulo:Infobox/Wikidata - portoghese" lang="pt" hreflang="pt" class="interlanguage-link-target">Português</a></li><li class="interlanguage-link interwiki-ru"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - russo" lang="ru" hreflang="ru" class="interlanguage-link-target">Русский</a></li><li class="interlanguage-link interwiki-sa"><a href="https://sa.wikipedia.org/wiki/%E0%A4%AA%E0%A4%9F%E0%A4%B2%E0%A4%AE%E0%A5%8D:Wikidata2" title="पटलम्:Wikidata2 - sanscrito" lang="sa" hreflang="sa" class="interlanguage-link-target">संस्कृतम्</a></li><li class="interlanguage-link interwiki-sah"><a href="https://sah.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - yakut" lang="sah" hreflang="sah" class="interlanguage-link-target">Саха тыла</a></li><li class="interlanguage-link interwiki-sc"><a href="https://sc.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - sardo" lang="sc" hreflang="sc" class="interlanguage-link-target">Sardu</a></li><li class="interlanguage-link interwiki-scn"><a href="https://scn.wikipedia.org/wiki/Modulo:Wikidata" title="Modulo:Wikidata - siciliano" lang="scn" hreflang="scn" class="interlanguage-link-target">Sicilianu</a></li><li class="interlanguage-link interwiki-se"><a href="https://se.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - sami del nord" lang="se" hreflang="se" class="interlanguage-link-target">Davvisámegiella</a></li><li class="interlanguage-link interwiki-sk"><a href="https://sk.wikipedia.org/wiki/Modul:Wiki%C3%BAdaje" title="Modul:Wikiúdaje - slovacco" lang="sk" hreflang="sk" class="interlanguage-link-target">Slovenčina</a></li><li class="interlanguage-link interwiki-sl"><a href="https://sl.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - sloveno" lang="sl" hreflang="sl" class="interlanguage-link-target">Slovenščina</a></li><li class="interlanguage-link interwiki-sr"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Wikidata2" title="Модул:Wikidata2 - serbo" lang="sr" hreflang="sr" class="interlanguage-link-target">Српски / srpski</a></li><li class="interlanguage-link interwiki-sv"><a href="https://sv.wikipedia.org/wiki/Modul:Wikidata" title="Modul:Wikidata - svedese" lang="sv" hreflang="sv" class="interlanguage-link-target">Svenska</a></li><li class="interlanguage-link interwiki-tg"><a href="https://tg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Wikidata" title="Модул:Wikidata - tagico" lang="tg" hreflang="tg" class="interlanguage-link-target">Тоҷикӣ</a></li><li class="interlanguage-link interwiki-tk"><a href="https://tk.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - turcomanno" lang="tk" hreflang="tk" class="interlanguage-link-target">Türkmençe</a></li><li class="interlanguage-link interwiki-tt"><a href="https://tt.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata2" title="Модуль:Wikidata2 - tataro" lang="tt" hreflang="tt" class="interlanguage-link-target">Татарча/tatarça</a></li><li class="interlanguage-link interwiki-tyv"><a href="https://tyv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - tuvinian" lang="tyv" hreflang="tyv" class="interlanguage-link-target">Тыва дыл</a></li><li class="interlanguage-link interwiki-udm"><a href="https://udm.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - udmurt" lang="udm" hreflang="udm" class="interlanguage-link-target">Удмурт</a></li><li class="interlanguage-link interwiki-uk"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Wikidata" title="Модуль:Wikidata - ucraino" lang="uk" hreflang="uk" class="interlanguage-link-target">Українська</a></li><li class="interlanguage-link interwiki-ur"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:Wikidata2" title="ماڈیول:Wikidata2 - urdu" lang="ur" hreflang="ur" class="interlanguage-link-target">اردو</a></li><li class="interlanguage-link interwiki-uz"><a href="https://uz.wikipedia.org/wiki/Module:Wikidata" title="Module:Wikidata - uzbeco" lang="uz" hreflang="uz" class="interlanguage-link-target">Oʻzbekcha/ўзбекча</a></li><li class="interlanguage-link interwiki-vec"><a href="https://vec.wikipedia.org/wiki/Modulo:Wikidata" title="Modulo:Wikidata - veneto" lang="vec" hreflang="vec" class="interlanguage-link-target">Vèneto</a></li><li class="interlanguage-link interwiki-zh"><a href="https://zh.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:Wikidata2" title="模块:Wikidata2 - cinese" lang="zh" hreflang="zh" class="interlanguage-link-target">中文</a></li></ul>
<div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q24575438#sitelinks-wikipedia" title="Modifica collegamenti interlinguistici" class="wbc-editpage">Modifica collegamenti</a></span></div>
</div>
</div>
</div>
</div>
 
<div id="footer" role="contentinfo" >
<ul id="footer-info" class="">
<li id="footer-info-lastmod"> Questa pagina è stata modificata per l'ultima volta il&#160;3 gen 2020 alle 16:43.</li>
<li id="footer-info-copyright">Il testo è disponibile secondo la <a href="https://creativecommons.org/licenses/by-sa/3.0/deed.it">licenza Creative Commons Attribuzione-Condividi allo stesso modo</a>; possono applicarsi condizioni ulteriori. Vedi le <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Terms_of_Use/it">condizioni d'uso</a> per i dettagli.</li>
</ul>
<ul id="footer-places" class="">
<li id="footer-places-privacy"><a href="https://meta.wikimedia.org/wiki/Privacy_policy/it" class="extiw" title="m:Privacy policy/it">Informativa sulla privacy</a></li>
<li id="footer-places-about"><a href="/wiki/Wikipedia:Sala_stampa/Wikipedia" title="Wikipedia:Sala stampa/Wikipedia">Informazioni su Wikipedia</a></li>
<li id="footer-places-disclaimer"><a href="/wiki/Wikipedia:Avvertenze_generali" title="Wikipedia:Avvertenze generali">Avvertenze</a></li>
<li id="footer-places-developers"><a href="https://www.mediawiki.org/wiki/Special:MyLanguage/How_to_contribute">Sviluppatori</a></li>
<li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/it.wikipedia.org">Statistiche</a></li>
<li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Cookie_statement">Dichiarazione sui cookie</a></li>
<li id="footer-places-mobileview"><a href="//it.m.wikipedia.org/w/index.php?title=Modulo:Wikidata&amp;mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Versione mobile</a></li>
</ul>
<ul id="footer-icons" class="noprint">
<li id="footer-copyrightico"><a href="https://wikimediafoundation.org/"><img src="/static/images/wikimedia-button.png" srcset="/static/images/wikimedia-button-1.5x.png 1.5x, /static/images/wikimedia-button-2x.png 2x" width="88" height="31" alt="Wikimedia Foundation"/></a></li>
<li id="footer-poweredbyico"><a href="https://www.mediawiki.org/"><img src="/static/images/poweredby_mediawiki_88x31.png" alt="Powered by MediaWiki" srcset="/static/images/poweredby_mediawiki_132x47.png 1.5x, /static/images/poweredby_mediawiki_176x62.png 2x" width="88" height="31"/></a></li>
</ul>
<div style="clear: both;"></div>
</div>
 
<script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgPageParseReport":{"limitreport":{"cputime":"0.092","walltime":"0.132","ppvisitednodes":{"value":242,"limit":1000000},"postexpandincludesize":{"value":12675,"limit":2097152},"templateargumentsize":{"value":474,"limit":2097152},"expansiondepth":{"value":6,"limit":40},"expensivefunctioncount":{"value":1,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":8174,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 103.439 1 -total","100.00% 103.439 1 Modulo:Wikidata/man"," 44.36% 45.882 1 Template:Protetta"," 27.45% 28.390 1 Template:Interprogetto"," 16.74% 17.317 1 Template:Man_modulo"," 5.35% 5.538 5 Template:·"," 4.18% 4.328 22 Template:Tl"]},"scribunto":{"limitreport-timeusage":{"value":"0.034","limit":"10.000"},"limitreport-memusage":{"value":947300,"limit":52428800}},"cachereport":{"origin":"mw1273","timestamp":"20200403142032","ttl":2592000,"transientcontent":false}}});mw.config.set({"wgBackendResponseTime":342,"wgHostname":"mw1273"});});</script></body></html>
 
</nowiki>