Discussioni modulo:Wikidata

message: Sarebbe interessante, per un futuro utilizzo di questo modulo nei template sinottici, la possibilità di poter richiedere solo l'n-esimo valore di ogni proprietà. Per esempio, il template  richiede di inserire il linguaggio con cui è stato scritto il software in un parametro, se il software è stato scritto in due linugaggi bisogna usare due parametri e scrivere solo un linguaggio per parametro. Io propongo di fare una cosa tipo , e mi restituisce il quinto valore della property 999.--dega180 (msg) 20:49, 26 giu 2013 (CEST)
replies: text: Navigando tra i moduli ho visto questa discussione. Posso aggiungere facilmente la funzionalità. Il termine corretto è "statement", cioè ogni proprietà può avere tanti statement (infatti attualmente la funzione l'hanno chiamata "formatStatement"). Non c'è neanche bisogno di creare una nuova funzione, posso aggiungere alla funzione "formatStatements" un nuovo parametro con nome che chiamerei "n", per simmetria con la funzione N che ritorna proprio il numero di statement. Quindi la chiamata sarebbe:  per ritornare il valore del terzo statement. Ovviamente se n > del numero di statement presenti ritornerà una stringa vuota o un errore, a scelta. --Rotpunkt (msg) 14:08, 25 ott 2013 (CEST)
replies: text: Personalmente preferisco la stringa vuota.--dega180 (msg) 16:17, 25 ott 2013 (CEST)
replies: text:  e ho aggiornato la documentazione. --Rotpunkt (msg) 16:59, 25 ott 2013 (CEST)
thread_title:  Proposta aggiunta funzione 

message: Segnalo che in Discussioni_template:Divisione_amministrativa#Integrazione_wikidata si parla dell'uso su larga scala di Wikidata con questo modulo, ma si è visto che ancora ha dei seri limiti --Bultro (m) 12:12, 11 ago 2013 (CEST)
thread_title: Applicazioni pratiche

message: Sarebbe ora carino introdurre anche il parametro "pattern" che si trova sul modulo test, questo parametro mi permette di decidere il modo in cui dovrà essere formattato l'elemento di wikidata.--dega180 (msg) 12:41, 26 ott 2013 (CEST)
replies: text: Fatto, anche qui ho aggiornato la documentazione, con un esempio un più pratico di quello su test2. --Rotpunkt (msg) 13:43, 26 ott 2013 (CEST)
thread_title:  Funzionalità "pattern" 

message: Testando il modulo, mi sono accorto di un problema che c'è quasi sicuramente da sempre e si verifica quando un elemento su Wikidata non ha label né sitelink in italiano.
Si può verificare prendendo Malmö (comune) e richiedendo la p361 ("Malmö metropolitan area") che non ha label e sitelink in italiano, e otteniamo:
* con  => Q94298
* con  => Tipo di dato sconosciuto
Ora, a parte fixare l'errore (il bug nel codice è evidente e già noto a chi ha sviluppato inizialmente il modulo perché ha commentato: "TODO what if no links and label + fallback language?"), volevo sapere: cosa dovrebbe ritornare esattamente il modulo per questi casi? Q94298, o altro? Magari anche ValterVB ci può aiutare. --Rotpunkt (msg) 22:06, 26 gen 2014 (CET)
replies: text: Probabilmente, basterebbe far apparire Q94298 con link, in modo da poter andare facilmente su Wikidata e aggiungere l'etichetta, se poi fosse possibile, magari creare una categoria apposta per segnalare queste proprietà sarebbe perfetto (qualcosa tipo :Categoria:Proprietà Wikidata usate ma senza etichetta). --ValterVB (msg) 22:16, 26 gen 2014 (CET)
replies: text:  Intendi un link così: Q94298? Scusami, faccio che chiederti un'altra cosa. Le altre tre possibilità sono: (1) solo label => ritorna la stringa della label senza link e (2) solo sitelink => ritorna il wikilink alla voce (3) sia label che sitelink => ritorna un piped wlink usando label come etichetta. Sono corretti questi tre invece giusto? --Rotpunkt (msg) 22:34, 26 gen 2014 (CET)
replies: text:  Esatto pensavo così, in maniera che sia subito evidente e allo stesso tempo è facile andare a correggere il problema, inserendo l'etichetta e quindi ricadendo nella possibilità (1) o aggiungendo un link e quindi si ricade nella possibilità (2) o (3). Per i 3 punti indicati direi che mi sembra corretto, forse per il punto (1) farei apparire il link rosso, perché penso che le proprietà siano sempre enciclopediche. --ValterVB (msg) 23:01, 26 gen 2014 (CET)
replies: text:  Grazie ValterVB! Ho implementato la funzionalità del link a wikidata nella sandbox, si può provare sempre in Malmö (comune) usando  e . Se va bene comincerei ad aggiungere questa modifica per poter continuare nei test, per poi vedere successivamente le altre due funzionalità a cui accennavi (categoria:Proprietà Wikidata usate ma senza etichetta e wlink rosso). --Rotpunkt (msg) 00:42, 27 gen 2014 (CET)
replies: text: Certo per il lettore quel codicillo non è molto amichevole... Per chi non se ne intende si capisce poco anche dopo averlo cliccato. Non c'è modo di ottenere almeno un'etichetta in lingua straniera? --Bultro (m) 17:54, 27 gen 2014 (CET)
replies: text: A meno di funzionalità non documentate non è possibile. La documentazione di "mw.wikibase.label( id )" è "takes an item ID and returns the label in the language of the local wiki." e non ci sono altre funzioni. Le alternative sono fare come fa #property che ritorna una stringa, invece del wikilink, oppure non ritornare proprio nulla. A me va bene come dice ValterVB (il wlink), ma in alternativa mi va bene anche come fa #property, che in fondo è parte del software su cui ci basiamo. --Rotpunkt (msg) 18:42, 27 gen 2014 (CET)

text: Gli altri cosa pensano? Io avrei preferito fare come ValterVB o in seconda istanza come #property, ma comunque anche toglierlo del tutto è sempre meglio di lasciare l'errore come adesso. --Rotpunkt (msg) 14:28, 28 gen 2014 (CET)
replies: text: IMHO dato che questo modulo non dovrebbe essere usato direttamente in ns0 ma essere di appoggio a template e moduli dovrebbe "girare la patata" al livello superiore. Quindi ritornare stringa nulla normalmente, oppure (in caso sia settata un parametro di debug) ritornare lo stato di errore e lasciare al modulo/template chiamante decidere cosa fare--Moroboshi scrivimi 17:12, 28 gen 2014 (CET)
replies: text: Grazie Moroboshi, l'unico "problema" è che vedo è che così andrebbe bene quando la proprietà ha 1 singolo statement, ma quando ne ha molti? Per esempio, basta che un solo statement non abbia link e label per ottenere: Staffanstorp, Svedala, Vellinge, Tipo di dato sconosciuto, Tårnby, Dragør, Solrød, Greve e Burlöv, mentre per la stessa richiesta #property ritornerebbe: Staffanstorp, Svedala, Vellinge, Q504125, Tårnby, Dragør, Solrød, Greve e Burlöv. Poi come farebbe il template a gestire il caso? Invaliderebbe tutto il risultato perché 1 solo degli statement non ha label e sitelink? P.S. Aggiungo per dovere di cronaca che ho visto che su fr.wiki utilizzano il metodo descritto da ValterVB. Si può verificare scrivendo  in fr:Malmö (commune). --Rotpunkt (msg) 17:31, 28 gen 2014 (CET)
replies: text: Hmmm ... usare una parametro di debug. Di default la funzione ritorna la lista purgata dagli elementi in errore, con il parametro di debug attivo la funzione ritorna lista con anche i link alle proprietà Qxxxx non valorizzate in italiano. Eventualmeente si potrebbe pensare a una funzione a uso solo per i moduli lua che invece di ritornare una stringa ritorni due array, uno con i valori buoni e l'altro con quelli in errore (se ci sono.--Moroboshi scrivimi 17:42, 28 gen 2014 (CET)
replies: text: Per me va bene, però facciamolo a step successivi. Per ora togliamoci dagli impicci dell'errore che potrebbero già apparire in qualunque voce (i casi in cui non ci sono label e sitelink sono magari rari) non facendo apparire l'elemento della lista come dicono Moroboshi e Dega180 e successivamente aggiungiamo le altre feature (parametri, categorie, ...). Se va bene a tutti procedo. --Rotpunkt (msg) 17:48, 28 gen 2014 (CET)

text: Passaggio veloce, questa settimana sono all'estero è ho qualche problema di connessione, visto che il tipo di errore è facilmente e velocemente risolvibile, si potrebbe tranquillamente omettere il valore, se viene indicato in qualche maniera l'errore (vedi categoria). Dopotutto basta inserire almeno l'etichetta su Wikidata e il problema è risolto. --ValterVB (msg) 19:55, 28 gen 2014 (CET)
replies: text: Ho cominciato a riportare la correzione della stringa vuota. @ValterVB possiamo pensare ora alla categoria, nel frattempo mi è venuto un dubbio. Wikidata è un database per eccellenza (rispetto a itwiki intendo), e quindi sapere quali sono le voci senza label in italiano immagino sia banale (tant'è che ho trovato esiste una pagina speciale apposita d:Special:EntitiesWithoutLabel per ottenerle). Quindi mi chiedo se ha senso che su itwiki ci ricreiamo una sorta di database di queste informazioni. Ci sarebbe in più la differenza se questa pagina è veramente usata su itwiki o meno, ma a parte l'importanza o meno di questo fatto, immagino che anche per questo, se interessa, ci sarà il modo di ottenerlo. --Rotpunkt (msg) 13:05, 29 gen 2014 (CET)
replies: text:  In realtà su etichette e descrizioni ci "lavoro" parecchio: vedi qui e  qui per alcune statistiche. Normalmente l'aggiornamento è quotidiano. Se serve posso riportarle anche di qua. --ValterVB (msg) 14:16, 29 gen 2014 (CET)
thread_title:  Entità senza label e sitelink in italiano 

message: Ho corretto in Modulo:Wikidata/sandbox un problema che ci si porta dietro dall'inizio dovuto a due fattori concomitanti:
# entity.claims[property] è una sequence Lua, con la peculiarità di iniziare da 0 invece che da 1, anche se mi è stato detto che è in progetto di fixarlo (ma su una nuova interfaccia per mantenere la retrocompatibilità, quindi si potrà eventualmente poi aggiornare il codice)
# chi ha scritto inizialmente questo codice iterava su claims con pairs() invece che con un indice
Questo fa sì che se abbiamo una lista di statement (esempio p47 per il solito Malmö (comune)) otteniamo:
*  => Staffanstorp, Svedala, Vellinge, Copenaghen, Tårnby, Dragør, Solrød, Greve e Burlöv
Ma se poi richiediamo il primo elemento otteniamo:
*  => Burlöv
Ho quindi rimosso in Modulo:Wikidata/sandbox l'utilizzo di pairs() ottenendo:
*  => Burlöv, Staffanstorp, Svedala, Vellinge, Copenaghen, Tårnby, Dragør, Solrød e Greve
*  => Burlöv
Tra l'altro l'ordine ottenuto è così quello degli elementi come sono visualizzati su Wikidata, se non è stato modificato attraverso l'interfaccia web. Mantenere l'ordine anche con quando questo è stato modificato attraverso l'interfaccia web lo farei in uno step successivo. Comincerei da questo che dà comunque un risultato consistente tra la lista e l'accesso al singolo elemento. Se non ci sono pareri contrari procedo tra un po' a riportarlo su Modulo:Wikidata. --Rotpunkt (msg) 14:38, 28 gen 2014 (CET)
replies: text: Questa cosa l'ho notata anche io, se sei riuscito a correggerla per me puoi sostituirla al modulo.--dega180 (msg) 12:25, 1 feb 2014 (CET)
thread_title:  Ordine statements 

message: Il modulo formatta la data utilizzando la funzione mw.language:formatDate() che a sua volta si basa sulla funzione parser #time. Questa funzione ha un problema: le date che si riferiscono al primo giorno del mese, per esempio 1-10-2014 vengono formattate nel seguente modo:
:1 ottobre 2014
secondo le nostre convenzioni di stile però la data andrebbe formattata così
:1º ottobre 2014
da notare il simbolo º dopo il numero 1.
Le cose sono due: o chiediamo agli sviluppatori di mediawiki di modificare il funzionamento della funzione mw.language.formatDate() (e dunque penso anche della funzione parser #time), oppure dobbiamo modificare il nostro modulo. Alla riga 218, dopo aver formattato la data con mw.language.formatDate(), potremmo controllare se i primi due caratteri della stringa sono un "1" seguito da uno spazio vuoto, in tal caso sostituiamo 1 con 1º. Voi cosa ne pensate?--dega180 (msg) 21:34, 4 feb 2014 (CET)
replies: text: Per me va bene la seconda, avevo fatto una funzione con scopo simile in Modulo:Bio (fixFirstOfMonth), se vuoi la riporto (parzialmente) qui, oppure integro semplicemente il date = date:gsub("^1%s", "1º "). Oppure fallo tu, io al massimo mi permetto di ricontrollare. Ciao. --Rotpunkt (msg) 22:07, 4 feb 2014 (CET)
replies: text: Beh creare una funzione apposta per utilizzarla una volta sola mi sembra esagerato, per me si può benissimo aggiungere dopo la riga 218 di questo modulo i due comandi che si trovano nella funzione fixFirstOfMonth() del Modulo:Bio. Non capisco però a cosa serva questo comando date = date:gsub("^1\194\176", "1º").--dega180 (msg) 22:52, 4 feb 2014 (CET)
replies: text: Quella funzione come documentato esegue (eventualmente) due replace, quello è il secondo... --Rotpunkt (msg) 23:19, 4 feb 2014 (CET)
replies: text: Ci sarebbero anche da aggiungere anche la altre precisioni. La funzione l'avevo importata da Modulo:Bio, dove l'avevo scritta inizialmente. --Rotpunkt (msg) 23:31, 4 feb 2014 (CET)
replies: text: È che non capisco cosa indichi la regex \194\176. Ho notato anche io che c'è questa "precision" è solo che non riesco a capire il valore 11 e 9 a cosa si riferiscono, ho capito che c'entra col fatto che la data può essere espressa in giorno-mese-anno oppure in mese-anno oppure anche in giorno-mese-anno-ora, ma non capisco il numero a cosa sia legato.--dega180 (msg) 23:46, 4 feb 2014 (CET)
replies: text: Non è una regex, è un codice carattere. Riguardo al formato dei dati di wikidata, qualunque possibile informazione la trovi ovviamente su wikidata.org, dove altro altrimenti :) --Rotpunkt (msg) 23:55, 4 feb 2014 (CET)

text: No grazie ho trovato in d:Special:ListDatatypes.--dega180 (msg) 00:04, 5 feb 2014 (CET)
thread_title:  Formattazione data 

message: C'è una funzione da qualche parte che, preso il titolo di una pagina qui, mi dà l'ID corrispondente in Wikidata (se esistente e trascurando ritardi negli aggiornamenti)? --Nemo 18:27, 1 mag 2014 (CEST)
replies: text: In che contesto la vorresti usare? C'è l'API di Wikidata con cui potresti fare quella ricerca. Scusa per il rb mi è scappato il mouse. --Rotpunkt (msg) 18:39, 1 mag 2014 (CEST)
replies: text:  Pensavo a qualcosa come una parola magica che si possa tenere tranquillamente in una pagina wiki. La documentazione dell'API l'avevo già letta, ma non c'è nulla di veramente comodo a quanto vedo. --Nemo 00:05, 2 mag 2014 (CEST)
replies: text:  Ho anche chiesto dell'inverso, cioè un template per andare dall'ID al titolo. --Nemo 13:04, 5 ott 2014 (CEST)
replies: text:  Anche in questo caso puoi farlo con l'API di Wikidata. Il template Q funziona solo su Wikidata al momento. Questa particolare conversione tuttavia puoi farla diversamente dal template Q su Wikidata usando mw.wikibase.label('Q41'), e questo funziona da sempre anche qui. --Rotpunkt (msg) 13:19, 5 ott 2014 (CEST)
thread_title:  Dal titolo all'ID in Wikidata 

message: Sollecitato da Umberto NURS che ne avrebbe fatto uso, ho aggiunto il supporto alle reference nella sandbox del modulo (diff). Ho messo una prova qui. Va bene per Pentium ma non ancora per Londra. Mi servirebbe in pratica sapere ( magari ci può aiutare) se c'è qualche standard nella creazione di una reference su Wikidata, nel qual caso si potrebbero anche usare i vari template cita. PS Tuttavia anche senza cita web le note 3 e 4 di Londra posso già fare che unirle visto che fanno parte di una sola reference su Wikidata. --Rotpunkt (msg) 12:15, 10 nov 2014 (CET)
replies: text: La linea guida delle reference su Wikidata si trova in d:Help:Sources.--dega180 (msg) 12:57, 10 nov 2014 (CET)
replies: text: Ah bene grazie. Nel frattempo sono riuscito a raggruppare le sottoproprietà di una singola reference (mantenendo anche l'ordine), diff. L'esempio sempre qui. Non è proprio come usare un cita web ma è già quasi utilizzabile. --Rotpunkt (msg) 13:21, 10 nov 2014 (CET)
replies: text: Secondo me dovremmo farci aiutare da qualche esperto di wikidata per far "capire" al modulo quando ci sono i presupposti per utilizzare il template . Per esempio il modulo potrebbe controllare se è compilata la proprietà d:Property:P357 (chiamata "titolo") e in caso affermativo utilizzare il template .--dega180 (msg) 13:57, 10 nov 2014 (CET)

text:  Il problema che vedo in questo momento, è che una fonte di un dato, soprattutto in caso di fonti letterarie, è un item stesso che contiene tutti i dati e quindi ricadiamo nel problema dell'accesso arbitrario agli elementi di Wikidata. Per capirci, se la fonte è una edizione di un certo libro, troveremo come fonte semplicemente il titolo di quella edizione del libro e se volessimo i dati dell'autore o della casa editrice dovremmo andare a pescare questi dati nell'item dell'edizione. In altri casi fortunatamente è più semplice --ValterVB (msg) 22:45, 10 nov 2014 (CET)
replies: text:  Come siamo rimasti qui? Perchè l'idea di poter avere un semplice modulo che evochi un  ogni volta che ci sia ,  e magari anche un  sarebbe già decisamente moltissimo :) --Valerio Bozzolan (msg) 21:51, 26 mar 2017 (CEST)
replies: text:  Dato che di recente è stata aperta una discussione analoga in DP:Coordinamento/Wikidata#Rendere visibili le fonti, vi pingo per un parere tecnico. --Horcrux (msg) 16:47, 4 mar 2021 (CET)
replies: text:  , la discussione dove è unificata? Altrimenti discutiamo su 3 posti diversi. -- Blackcat  21:09, 4 mar 2021 (CET)
thread_title:  References 

message: C'è modo di recuperare il sitelink dell'Item? --ValterVB (msg) 18:21, 10 gen 2015 (CET)
replies: text: Sì, l'entity ha una table "sitelinks" con queste informazioni. Servono? --Rotpunkt (msg) 22:09, 11 gen 2015 (CET)
replies: text:   Non ne sono ancora sicuro, ma stavo cercando di immaginare come creare un wikilink da un item nel momento che sarà disponibile l'accesso arbitrario. Per esempio nel template , c'è il parametro città o attraversa, che viene mostrato come wikilink, penso che l'unico modo per creare il wikilink sia utilizzate il sitelink presente nell'Item o c'è qualche altro sistema? --ValterVB (msg) 20:32, 12 gen 2015 (CET)
replies: text:  Per quello c'è la funzione mw.wikibase.sitelink, no? --Rotpunkt (msg) 21:18, 12 gen 2015 (CET)
replies: text:   Non conosco molto le funzioni sviluppate per Wikidata, però ho trovato il manuale, e in effetti sembra proprio quella, quindi come non detto. --ValterVB (msg) 21:34, 12 gen 2015 (CET)
thread_title:  Sitelink 

message: Nei prossimi giorni, con la versione 1.25/wmf19 di MediaWiki, arriverà una nuova funzione mw.wikibase.renderSnak (Phab:T76213) che dovrebbe facilitare le varie funzioni in formatDatavalue. Bisogna solo verificare se compatibile con quanto fin'ora ritornato dal modulo, eventualmente aggiornando i template chiamanti se possibile. --Rotpunkt (msg) 22:57, 26 feb 2015 (CET)
thread_title:  mw.wikibase.renderSnak 

message: Bisognerebbe aggiungere il tipo dati "monolingualtext" alla funzione "formatDatavalue" (riga 106 circa). Questo servirebbe ad esempio per leggere il titolo di un'opera, vedi anche WP:Pagina delle prove di Wikidata.
	--Default formatters
	if datavalue.type == 'wikibase-entityid' then
		ret = formatEntityId(getEntityIdFromValue(datavalue.value), options, formatting)
	elseif datavalue.type == 'string' then
		ret = datavalue.value
	elseif datavalue.type == 'monolingualtext' then
		ret = datavalue.value.text
... ecc. ecc.
Grazie. --FRacco (msg) 19:17, 20 mar 2015 (CET)
replies: text: --Rotpunkt (msg) 20:42, 20 mar 2015 (CET)
replies: text: Ottimo (e velocissimo!!!) --FRacco (msg) 11:51, 21 mar 2015 (CET)
thread_title:  monolingualtext 

message: Ciao, su Wikiquote ho aggiunto al corrispondente q:Modulo:Wikidata una funzione che verifica se una data proprietà ha un dato valore. Ad esempio lo utilizziamo per categorizzare automaticamente cortometraggi o film a episodi in base ai dati disponibili su Wikidata. Se pensate possa essere utile anche qua fatemi un fischio per adattarne il codice. --FRacco (msg) 19:00, 21 mar 2015 (CET)
thread_title:  checkStatements 

message: Ho aggiunto al modulo il parametro "from" per poter utilizzare l'accesso arbitrario, attivato in it.wiki 1° giugno 2015. L'ho chiamato "from" per uniformità con #property (nel vecchio modulo di test che si era importato inizialmente nel 2013, quando ancora l'accesso arbitrario era solo in programma, il parametro era stato invece chiamato "entityId"). L'accesso arbitrario a oggi è abilitato solo su: fa.wiki, he.wiki, it.wiki, nl.wiki e poi su en.wikivoyage, wikisource, wikidata stessa e test.wiki. Ho documentato la funzionalità a Template:Wikidata. --Rotpunkt (msg) 17:51, 1 giu 2015 (CEST)
replies: text: Tra ieri e oggi ho aggiunto anche il parametro formatting=raw per ritornare l'id in caso di proprietà di tipo item e l'utilizzo di frame.preprocess col parametro pattern. Ho sperimentato queste due funzionalità insieme al parametro from in questa sandbox. Quello che succede è che con il formatting=raw viene ritornato l'id degli item, che a sua volta è usato come valore del from nel pattern. In questo modo credo che in certi casi si possano sfruttare le funzionalità offerte dall'accesso arbitrario in modo veloce, anche solo per fare dei test. Pingo  se gli interessasse. --Rotpunkt (msg) 16:34, 3 giu 2015 (CEST)
replies: text:  Visto e testato. --ValterVB (msg) 22:06, 3 giu 2015 (CEST)
replies: text:   Bello. Ti informo che ho esportato dal modulo la funzione per ottenere label e sitelink dato l'id numerico di un item, vedi Template:WikidataLink (usato per esempio qui). Il modulo la usava internamente per ritornare il valore di una proprietà di tipo item, ma esportandola si integra così quell'unica funzionalità a cui serviva il modulo Wikibase. Quelle due funzioni Lua utilizzate,  mw.wikibase.label e mw.wikibase.sitelink (insieme a mw.wikibase.getEntity) erano proprio le sole funzioni esistenti nella libreria ad aprile 2013, quando importasti il modulo Wikibase (vedi qui). In pratica quello che avevi trovato su test2.wikipedia.org era lo stesso identico esempio della documentazione. Il fatto di poter ottenere il titolo della pagina dall'id dell'item era comunque una funzionalità che era giusto avere, immagino che con l'accesso arbitrario possa servire (come mi è capitato in quell'esempio nella sandbox). Ciao. --Rotpunkt (msg) 00:03, 4 giu 2015 (CEST)
thread_title:  Parametro from per l'accesso arbitrario 

message: Poco inerente. Ma di preciso, dove è implementato ? Dove sta la sua documentazione? --Valerio Bozzolan (msg) 21:47, 19 feb 2017 (CET)
replies: text: Credo sia integrato direttamente nell'estensione Wikibase, puo trovare qualcosa in questa pagina --ValterVB (msg) 22:07, 19 feb 2017 (CET)
thread_title:  #property 

message: Domanda. Ma perchè  non dà 1 nella voce DotNetNuke (d:Q1251148)? E.g.: "". --Valerio Bozzolan (msg) 02:26, 28 feb 2017 (CET)
replies: text: P.S. A dirla tutta non va manco con . E.g.: "" --Valerio Bozzolan (msg) 02:29, 28 feb 2017 (CET)
replies: text:  Ciao, se provi a scrivere in DotNetNuke  e fai anteprima vedrai che otterrai solo . L'altro valore di P31  è ignorato perché  è stato impostato come "preferito" (è quella freccetta posta subito alla sinistra), probabilmente inavvertitamente, o per errore non conoscendo il significato diff. Basta che la reimposti con classificazione "normale". --Rotpunkt (msg) 10:54, 28 feb 2017 (CET)
replies: text:  Ho sistemato anche su Wikidata, non aveva senso avere come istanza :Sowtware libero, per questo esiste la prorprità sul tipo di licenza P275. --ValterVB (msg) 13:06, 28 feb 2017 (CET)
replies: text:  Sicuro? La maggior parte dei software che incontro hanno instanceof free software. --Valerio Bozzolan (msg) 13:51, 28 feb 2017 (CET)
replies: text:  Diciamo che ne sono ragionevolmente sicuro, ma per sicurezza ho preferito chiedere :) Vediamo le risposte. --ValterVB (msg) 18:05, 28 feb 2017 (CET)
replies: text:  (Ho letto la risposta) Quindi per sapere se una voce è software libero meglio cercare fra i valori della . Detto ciò, come mi consigliereste di precedere? Con un pre-noto set di licenze libere (alla fine sono una dozzina)... o più "Wikidata-oriented" richiedendo a sua volta da ogni singola licenza trovata tipo  se ha  di ? E nel secondo caso, non sarebbe richiesto il parametro from=, sconsigliato in quanto funzione dispendiosa? --Valerio Bozzolan (msg) 00:28, 2 mar 2017 (CET)
replies: text:  Non so cosa devi fare ma se lo devi usare in un template riporti direttamente la licenza indicata. Puoi vedere come è attualmente utilizzato nel template  --ValterVB (msg) 08:15, 2 mar 2017 (CET)
replies: text:  XD Sono un po' spiazzato perchè stiamo parlando proprio del  che sto (poverino) scarnificando da molti giorni (e che appunto fra l'altro non ho ancora ricevuto un solo feedback... significa che tutto funziona? asd.) sviluppando Modulo:Software per iniziare (pian piano, eh!) ad integrare i dati specificati dal template con quelli in Wikidata. Nello specifico Modulo:Software#isFreeSoftware sta già operando in molte voci che non specificano SoftwareLibero=sì/no. Ad esempio se vai in Ekiga e levi SoftwareLibero=, dall'anteprima noterai che è come se ci fosse. Anteponendo ciò, ripongo la domanda 00:28, 2 mar 2017 (CET)
replies: text:  Non lo so, io ho solo verificato se era una proprietà utilizzata e ho visto che è usata si ain  che in , e ho pensato fossero corrette, non pensavo che stessi lavorando su un template già utilizzato. Queste prove è sempre meglio farle in una sandbox se no si rischia di fare casini. Comunque il parametro from lo puoi utilizzare. --ValterVB (msg) 13:07, 2 mar 2017 (CET)
replies: text:  Comunque sìsì, ho operato prima dal Template:Software/Sandbox?  ;) Procedo allora fruendo del from che a lungo termine è meglio, sebbene sia potenzialmente dispendioso. --Valerio Bozzolan (msg) 16:43, 2 mar 2017 (CET)
thread_title:  Istanze che non s'istanziano 

message: Non ho capito una cosa. local function getClaims() dovrebbe eventualmente filtrare per rank best / normal / preferred. Di fatto però non vedo come si possa evitare tale filtro. --Valerio Bozzolan (msg) 21:37, 3 mar 2017 (CET)
replies: text: Mi spiego meglio: mi aspetterei che getClaims() abbia la possibilità di ritornare tutti i valori, invece filtra sempre per qualche rank specificato, escludendo quindi sempre qualcosa. --Valerio Bozzolan (msg) 14:55, 5 mar 2017 (CET)
replies: text:  È corretto che il default sia il rank best, esattamente come si comporta #property, altrimenti si dovrebbe aggiungere rank=best per ogni singolo utilizzo del trmplate Wikidata. --Rotpunkt (msg) 17:04, 5 mar 2017 (CET)
replies: text:  Sì, ma quello che voglio dire io è: posso eventualmente evitare di filtrare per rank? Posso volerli tutti? Ora come ora no, vero? Nel caso, si può aggiungere un parametro norank o qualcosa del genere? :) --Valerio Bozzolan (msg) 17:36, 5 mar 2017 (CET)
replies: text:  Il fatto è che non dovresti mai avere bisogno di leggerli tutti. L'unico caso, mai usato finora, in cui potresti volere leggere esplicitamente il solo rank normal è per conoscere, per esempio, i passati sindaci di una città o le precedenti versioni di un software (in entrambi i casi il corrente è preferred, i passati sono normal). Se proprio stai facendo una richiesta "storica", fai una richiesta per i preferred e una per i normal (pure per deprecated se ti serve). --Rotpunkt (msg) 17:47, 5 mar 2017 (CET)
thread_title:  getClaims: tutti 

message: Sempre io :) Si potrebbe creare una funzione che generalizzi _instanceOf()? Perchè oltre che  c'è anche ad esempio . --Valerio Bozzolan (msg) 15:16, 6 mar 2017 (CET)
replies: text: Penso ad esempio a:
function p._propertyHasEntity(property, args)
	local statements = p._getProperty( {property, from = args.from, formatting = 'raw' }, true)
	if statements then
		for _, statement in ipairs(statements) do
			for _, entityId in ipairs(args) do
				if statement == entityId then
					return true
				end
			end
		end
	end
	return false
end
function p._instanceOf(args)
	return p._propertyHasEntity('P31', args)
end
function p._subclassOf(args)
	return p._propertyHasEntity('P279', args)
end
 --Valerio Bozzolan (msg) 15:26, 6 mar 2017 (CET)

text: --Valerio Bozzolan (msg) 10:49, 28 mar 2017 (CEST)
replies: text:  Invitando a prendere in considerazione questo problema, aggiungo un'altra domanda :) non bisognerebbe impostare args.from = nil, una volta letto? O è un don't care? --Valerio Bozzolan (msg) 20:00, 7 mar 2017 (CET)
thread_title:  Generalizzare InstanceOf 

message: Si potrebbe aggiungere una variante di formatEntityId(entityId) che abbia la label uguale a . --Valerio Bozzolan (msg) 01:06, 15 mar 2017 (CET)
thread_title:  formatEntityIdShort 

message: Lavorando sul Modulo:Collegamenti esterni mi sono accorto di un grosso problema della fondamentale funzione mw.wikibase.getEntity fornita da mw:Extension:Wikibase Client/Lua. Quando la funzione è richiamata più volte durante l'esecuzione di un modulo (esempio dal modulo:Collegamenti esterni), specificando lo stesso elemento Wikidata, è vero sì che conta come 1 sola funzione expensive ("Loading entities doesn't count as expensive if the same entity is loaded twice during a module run") ma il tempo di esecuzione è alto, e soprattutto è direttamente proporzionale a quante proprietà possiede l'elemento.
Per evidenziare il problema ho creato il modulo Modulo:Sandbox/Rotpunkt/TestEntity. Prova di utilizzo in Utente:Rotpunkt/Sandbox12: si vede che per eseguire 300 volte mw.wikibase.getEntity con lo stesso elemento Wikidata ("Q38", l'Italia) impiega ben 6,5 secondi! (dei 10 totali che abbiamo a disposizione). Se invece di Q38 si usa un elemento Wikidata più piccolo (esempio Q2352616), impiega allora 0,1 secondi invece di 6,5.
Il problema posso risolverlo facilmente creando una cache degli entityId già richiesti nel Modulo:Wikidata (soluzione vedo già adottata in frwiki), però mi chiedo perché non lo faccia già mw:Extension:Wikibase Client, che saprà benissimo che la stessa entity è già stata richiesta, e quindi non dovrebbe ricreare la table tutte le volte. Pingo per conoscenza . --Rotpunkt (msg) 14:27, 9 dic 2017 (CET)
replies: text: Ma ogni chiamata del modulo non è indipendente dalle precedenti anche se fatta nella stessa pagina ? --Moroboshi scrivimi 14:33, 9 dic 2017 (CET)
replies: text: Ciao, mi sto riferendo a quando si usa il modulo:Wikidata da un altro modulo. Esempio il modulo:Collegamenti esterni ha caricato il modulo:Wikidata tramite mWikidata = require('Modulo:Wikidata'). Ora esegue 300 volte una funzione mWikidata.nomeFunzione che al suo interno contiene mw.wikibase.getEntity. La funzione mw.wikibase.getEntity (quando usata con lo stesso elemento Wikidata) dovrebbe impiegare quasi lo stesso tempo che la chiami 1 o 300 volte, invece, il richiamare addirittura unicamente quella funzione 300 volte, come si vede nel modulo di test, richiede anche 6,5 secondi. --Rotpunkt (msg) 14:38, 9 dic 2017 (CET)
replies: text:  Sbaglo o dice anche "However, due to restrictions in the caching, if more than 14 other entities are loaded inbetween, the entity must be fetched again, which then counts as expensive." Non è questo i lproblema? --ValterVB (msg) 14:49, 9 dic 2017 (CET)
replies: text:  Non è questo il caso perché non carichiamo "other entities" ma sempre la stesso elemento Wikidata (nell'esempio Q38), infatti vedi che in Utente:Rotpunkt/Sandbox12 il numero di funzioni expensive vale sempre "1". Tutto il discorso è nato proprio sul fatto di quando mw.wikibase.getEntity si usa con lo stesso elemento Wikidata, l'ho chiarito nel primo post. --Rotpunkt (msg) 14:54, 9 dic 2017 (CET)
replies: text:  Il dubbio ce lo avevo, ma mi sembrava strana quella frase subito dopo aver detto che caricare lo stesso item 2 volte non è un problema, pensavo a un errore,  quel "Hower" mi ha un po' confuso. Se non ci dovrebbero essere limiti magari è il caso di segnalarlo nella pagina di discussione --ValterVB (msg) 15:10, 9 dic 2017 (CET)
replies: text:  La soluzione è semplice ed è come quella che ho scritto ora in Modulo:Sandbox/Rotpunkt/TestEntityCached. Basta sostituire in Utente:Rotpunkt/Sandbox12 TestEntity con TestEntityCached e si vede che il tempo di esecuzione passa da 6,5 secondi a 0,1 secondi. Io la adotterei subito in Modulo:Wikidata, darà già da subito dei miglioramenti nel tempo di salvataggio e anteprima in alcune voci, e nel frattempo apro una segnalazione su phabricator indicando Modulo:Sandbox/Rotpunkt/TestEntity e Utente:Rotpunkt/Sandbox12 come esempi. --Rotpunkt (msg) 15:17, 9 dic 2017 (CET)
replies: text:  Per me è OK, mi sembra chiaro il funzionamento. --ValterVB (msg) 15:29, 9 dic 2017 (CET)
replies: text:  Semplice per voi :-) Io l'ho capito solo ora che ho visto il codice il perché del table. La segnalazione mi pare doverosa, ma comunque ho un dubbio: quando carico il modulo con Q38, il tempo di utilizzo di Lua mi varia dai tre ai quattro secondi (mai 6.5). La differenza dipende anche dal browser o dal lato hardware del singolo utente? Mai possibile che per alcuni un modulo possa andare in timeout, mentre per altri no?--Sakretsu (炸裂) 15:32, 9 dic 2017 (CET)
replies: text:  Anche a me adesso (uso l'anteprima di Utente:Rotpunkt/Sandbox12 e poi guardo la tabella al fondo), dipende solo dal carico di lavoro del server in quel momento, è indipendente dal client. Questo problema credo sia molto circoscritto, solo alle pagine che usano centinaia di mw.wikibase.getEntity, come il modulo Collegamenti esterni, e quando l'elemento Wikidata collegato è particolarmente grande.  --Rotpunkt (msg) 15:52, 9 dic 2017 (CET)
replies: text: Ah ecco, mi sembrava strano. Comunque ovviamente per me puoi procedere.--Sakretsu (炸裂) 16:04, 9 dic 2017 (CET)
replies: text: Avevo dimenticato in Modulo:Sandbox/Rotpunkt/TestEntityCached la gestione di entityId = nil (significa che ci si riferisce all'elemento Wikidata collegato alla voce corrente) e del caso in cui la voce non abbia un elemento Wikidata collegato. Ho aggiunto i due casi e verificato che il tempo di esecuzione rimane sempre a 0,1 secondi (getEntityIdForCurrentPage è ininfluente). Inizio ad aggiungerlo a Modulo:Wikidata/sandbox. --Rotpunkt (msg) 16:12, 9 dic 2017 (CET)

text: diff. Segnalerò comunque su phabricator il problema di mw.wikibase.getEntity, che quando risolto renderà superflua la funzione getEntityCached (il risultato è comunque pressoché identico sia che la cache la teniamo noi nel modulo che la tengano loro nell'estensione). --Rotpunkt (msg) 18:05, 9 dic 2017 (CET)
replies: text:  Dato lo scopo specifico, per curiosità, giusto per fare emergere altri problemi, qualcuno con niente da fare proverebbe a ripetere 300 volte getBestStatements( entityId, propertyId ) o altri amici simili? --Valerio Bozzolan (msg) 18:58, 9 dic 2017 (CET)
replies: text:  Dopo provo, intanto c'è un problema, emerso con Mosella (dipartimento). Il solo salvataggio di un puntatore alla table restituita da mw.wikibase.getEntity sembra che faccia aumentare la memoria Lua che utilizziamo, non del puntatore, ma della dimensione della table, così che in certe voci come quella indicata (che ha un elemento con 800 valori per la proprietà P150) dà problemi di memoria (ma in generale l'utilizzo della memoria Lua aumenta in tutte le voci). Bisognerà che questo utilizzo di mw.wikibase.getEntityCached sia fatto solo su richiesta, tramite un parametro, non di default, altrimenti dà il problema della memoria Lua. Ritorno alla versione precedente, aggiungo un nuovo parametro (faccio anche i test con altre funzioni mw.wikibase). --Rotpunkt (msg) 19:18, 9 dic 2017 (CET)
replies: text: Non so quanto cambi, ma invece di un meccanismo di cache generico per più entity da mettere in tabella, semplicemente esportare un oggetto che legga una volta l'entity e che venga richiamato per ulteriori letture di dati diversi? Alla fine nella stragrande maggioranza dei casi le voci leggono solo l'entity di wikidata corrispondente alla voce specifica in cui si trova il richiamo del modulo (non foss'altro perchè metterci ad aggiungere letture generiche di wikidata farebbe salire rapidamente le operazioni expensive).--Moroboshi scrivimi 19:40, 9 dic 2017 (CET)
replies: text: @Moroboshi, vuoi dire che un modulo che usa il Modulo:Wikidata e che vuole usare il caching dovrebbe salvarsi (dopo averla ottenuta, non c'è attualmente la funzione) la table entity da qualche parte, per poi ripassarla al modulo per ogni chiamata successiva? Si può fare ma mi sembra più semplice passare un boolean cache=true. Con l'ultima modifica che ho fatto (diff) basta aggiungere (cache=true) se si vuole riutilizzare la stessa table entity. --Rotpunkt (msg) 20:16, 9 dic 2017 (CET)
replies: text: Provo a fare diversamente come dici, penso. Ottenere l'entity è semplice, basta fare mw.wikibase.getEntity. Posso aggiungere invece di cache un parametro "entity": un modulo che usa Modulo:Wikidata e che vuole riusare più volte la stessa entity, farà esso stesso "mw.wikibase.getEntity" e poi la passarà nel nuovo parametro "entity" nelle chiamate successivo. Così, come dici, eliminiamo il bisogno di una cache (che sarebbe stata comoda se non fosse per il problema della memoria). --Rotpunkt (msg) 20:22, 9 dic 2017 (CET)
replies: text:  Una semplice modifica così, nei tre utilizzi di mw.wikibase.getEntity si dà la precedenza al parametro "entity" se valorizzato (che il chiamante si crea con una chiamata a mw.wikibase.getEntity), basta questo. Parametro che, ricordo nel caso qualcuno leggesse solo da qui, serve solo esclusivamente per un modulo che debba usare getProperty decine di volte con lo stesso elemento Wikidata, come fa il Modulo:Collegamenti esterni, e magari neanche più necessario in futuro se risolvessero il problema direttamente nell'estensione Wikibase client. --Rotpunkt (msg) 21:08, 9 dic 2017 (CET)
replies: text: Ho concluso allora con l'approccio semplice suggerito da Moroboshi, così, e utilizzato già dal Modulo:Collegamenti esterni. Spero comunque che in futuro non sia più necessario questo parametro. --Rotpunkt (msg) 22:58, 9 dic 2017 (CET)
thread_title:  Problema lentezza mw.wikibase.getEntity 

message: Nel loop di questo modulo ho necessità di avere la lingua, oppure filtrare direttamente solo per lingua italiana, in maniera che nell'ultima colonna di questa tabella ci siano solo le etichette in lingua italiana. Aiutino? :) --ValterVB (msg) 17:34, 6 gen 2018 (CET)
replies: text: @Valter Il modulo prevede già i parametri includelang/excludelang, li trovi descritti nel manuale template Wikidata, cerca "Per il solo tipo testo monolingua". Dovrebbe bastarti il template Wikidata quindi, senza scrivere un modulo, esempio per Gibilterra: . Se invece hai proprio bisogno di Lua te lo riguardo. --Rotpunkt (msg) 18:13, 6 gen 2018 (CET)
replies: text:  @Rotpunkt Credo ci voglia il modulo perché ho la necessità di avere le 4 voci corrette (maschile singolare, maschile plurale, femminile singolare e femminile plurale) ai primi 4 posti + eventuali altri valori in italiano che dovrei poi eliminare. Mi serve per controllare che non ci siano errori, e alla fine vorrei ottenere da Wikidata una cosa simile a Template:AggNaz/man/Riepilogo. Comunque non c'è fretta. --ValterVB (msg) 18:21, 6 gen 2018 (CET)
replies: text:  Ah ok, se devi fare controlli particolari su P518... Per filtrare sulla lingua, aggiungi "includelang = 'it'" al parametro "args" di getClaims. --Rotpunkt (msg) 18:27, 6 gen 2018 (CET)
replies: text:  Risolto, grazie anche a  che ci ha messo le mani. --ValterVB (msg) 21:10, 6 gen 2018 (CET)
replies: text:  @ValterVB Sì scusa, "di _formatStatement" non di getClaims :) Comunque lo riguardo, l'ho detto senza controllare perché logicamente dovrebbe stare in getClaims, vedo se c'erano ragioni storiche perché andasse usato in una e non nell'altra funzione. --Rotpunkt (msg) 21:39, 6 gen 2018 (CET)
replies: text:  Pensavo di aver sistemato con l'ultima modifica, ma non basta, perché che deve funzionare anche per filtrare i qualificatori (il cui unico utilizzo con includelang/excludelang è per la didascalia in italiano delle immagini lette da Wikidata, caso ancora poco usato ma che c'è e deve funzionare). Mi richiede ancora un po' di lavoro. Inoltre ho trovato che anche per i qualificatori c'è una selezione in base al parametro "nq" che è rimasta nella parte di formattazione, e va spostata per lo stesso motivo. Appena ho fatto ti riaggiorno il modulo, il funzionamento rimane sempre identico. --Rotpunkt (msg) 23:57, 6 gen 2018 (CET)
replies: text:  Ho ritrovato l'origine del fatto per cui la selezione dei qualificatori (possibile solo con il parametro nq o con includelang/excludelang) era fatta nella parte di formattazione. I qualificatori fino ai parametri nq/includelang/excludelang non avevano la possibilità di essere filtrati, ma solo visualizzati, con la dovuta formattazione, o non visualizzati. Quindi esisteva solo la funzione formatQualifiers. Andrebbe invece aggiunta anche una getQualifiers (rimuovendo di conseguenza il parametro "claim" di formatQualifiers). È una modifica un po' lunga, che necessita l'aggiornamento di un paio di altri moduli che usano formatQualifiers, ma penso che valga la pena di farla per rendere anche più flessibile il codice a future aggiunte di parametri che agiscono sulla selezione dei qualificatori. La metto in cantiere, non so ancora esattamente quanto ci vorrà. --Rotpunkt (msg) 12:23, 7 gen 2018 (CET)
thread_title:  Lingua su proprietà monolingua 

message: Stavo aggiornando il modulo alla nuova proprietà  che sostituirà P558 in cancellazione, quando ho notato che un sistema di fallback delle lingue servirà anche per il template  che usa P558. Aggiungerò un paramtro "fallbacklang", che si aggiungerà ai già esistenti includelang ed excludelang. --Rotpunkt (msg) 10:09, 24 apr 2018 (CEST)
thread_title:  P5061 

message: In seguito alla discussione Discussioni template:Divisione amministrativa#Problemi con stemmi inesistenti presi da wikidata (P94) ho fatto in modo che il filtro  snaktype=value ci sia di default. Quindi, di default il modulo non restituisce proprietà, né qualificatori, di tipo "nessun valore" o "valore sconosciuto". Il parametro snaktype non è mai stato usato se non qualche rara volta con appunto value. Da una ricerca che ho fatto sulle apparizioni che c'erano delle suddette scritte (qualche centinaio), non mi sono sembrate mai corrette o intenzionali (ad es. siti ufficiali in cui l'url diventava "nessun valore"). --Bultro (m) 01:49, 29 apr 2019 (CEST)
thread_title:  snaktype 

message: Segnalo questo problema. Non mi vengono in mente casi in cui i link alla voce stessa possano essere desiderabili, quindi meglio evitarli alla fonte. Se ho capito bene la fonte è questo modulo. Dovrebbe essere una modifica semplice da effettuare --Horcrux (msg) 12:25, 29 ago 2019 (CEST)
replies: text: Corretto . Dato che dovrebbe trattarsi solo di riferimenti autobiografici, ho passato direttamente il sitelink.--Sakretsu (炸裂) 13:19, 29 ago 2019 (CEST)
thread_title:  Self-link 

message: Segnalo --Horcrux (msg) 18:04, 29 mar 2020 (CEST)
thread_title:  Ricavare un interlink in automatico 

message: Non capisco come non ce ne siamo accorti prima, ma il parametro formatnum non funziona quando il dato è passato in locale, funziona solo col dato da Wikidata
* = 
* = 
--Bultro (m) 14:36, 31 lug 2021 (CEST)
replies: text: In effetti a giudicare dal manuale del template:Wikidata il modulo non è del tutto coerente. Ci sono parametri che funzionano anche col parametro locale e altri come formatnum e rounding che non lo fanno nonostante sarebbe possibile. La domanda è cosa ne facciamo dei valori inseriti che non corrispondono a un numero?--Sakretsu (炸裂) 15:57, 31 lug 2021 (CEST)
replies: text: Li passiamo al formatnum e poi se la vede lui. Attualmente dovrebbe dare una categoria di errore ma in realtà nessun problema visibile (discussione correlata) --Bultro (m) 20:19, 2 ago 2021 (CEST)
thread_title:  Errore formatnum