Tema de Usuari Discussió:Vriullop/Fitxer de Discussions Estructurades 1

Amadalvarez (discussiócontribucions)

He començat a treballar en {{Infotaula geografia política}}, que ha de venir a substituir la munió de plantilles de municipis, regions, etc. Entre les dades a recuperar de WD està l'enquadrament dins l'estructura de nivells administratius de municipis, regions, comarques, etc. Per a obtenir-lo i poder construir una llista com la que hi ha ara als articles, he fet una prova a Usuari:Amadalvarez/proves plantilla1, on donada una Q, construeix l'arbre en amunt fins a arribar a estat (P17). El [laberíntic] codi d'accessos el trobaràs a Usuari:Amadalvarez/asteroide. Sembla obvi que fent-lo en LUA sortiria més fàcil i net. Però amb tot, entenc que abusa d'accessos indirectes i, això no sé si té una solució millor. Per acabar-ho d'arredonir, he observat que sovint apareixen nivells intermedis que no tenen massa sentit en el coneixement general, com les àrees metropolitanes que es podrien saltar, o tenen noms massa específics com "municipi d'Espanya" o "departament francès" i s'entendria millor el genèric "municipi" i "departament". Per solventar aquestes situacions pensava tenir una llista d'excepcions a eliminar o substituir. Bé, aquest és l'enfocament que he estat capaç de trobar, però estic receptiu a les teves genials propostes.

Vriullop (discussiócontribucions)

Vist, sense profunditzar, queda pendent de tenir més temps. Primers comentaris:

  • Veig factible luaficar la plantilla, estalviarà accessos indirectes ja que pot desar el resultat en variables i no repetir les consultes.
  • El muntatge hauria de tenir alguna flexibilitat per usar en diferents casos, tipus estructura=municipi/comarca si només vull aquests dos valors.
  • Compte que l'estructura no sempre és jeràrquica. He afegit en les proves Puigcerdà que surt a la província de Lleida.
  • Les etiquetes crec que es podran arreglar amb Lua tallant per la preposició: "municipi( d'Espanya)", "regió( de França)", però alguns casos estan amb adjectiu, "departament francès".
Amadalvarez (discussiócontribucions)
  • Ho sospitava. Gràcies.
  • D'acord. De fet ara s'atura quan arriba al mateix nivell que el seu P17, però s'hauria de poder triar un altre nivell o fer peticions tipus "donem la comarca del municipi", tot i que no sigui el següent nivell necessàriament. També hauria de ser una solució oberta a altres similars com els tàxons.
  • Mal rotllo, perquè comptava amb "list=false" per a evitar obrir un arbre en comptes de tancar-lo, però a més veig que cal filtrar per la vigència de la info.
  • Bona idea lo de tallar per estalviar feina, però hauríem de mantenir el sistema que proposava per poder tractar els indeduïbles i per poder saltar-se els indesitjables.

Seguim pensant.

Per cert, què és el missatge misteriós de les "infoboxes franceses" ?.

Vriullop (discussiócontribucions)
Amadalvarez (discussiócontribucions)

He estat fent unes proves i pinta millor el mòdul que el contingut de WD. Confio que la visibilitat que hi donarem amb el seu ús, activi el manteniment correctiu. Haurem de pensar en el paràmetres (item=per on començar, property=de navegació, target=quina busquem (per allò de "la comarca de.."), stop=quan s'atura (n items o cert valor), i en l'output....

He vist que vas provant lo de retallar el nom. Hi ha una colla de "llista de municipis / districtes.. etc." que s'haurien d'arreglar, però igual són milers.

Bona feina !.

Vriullop (discussiócontribucions)
Amadalvarez (discussiócontribucions)

He construït (per un camí long and winding) Viquiprojecte:Adaptació de plantilles a Wikidata/infotaules de geografia política/ValorsP31 que recull totes les accepcions de P31 que tenen els 17.00050.000 articles de totes les plantilles de la categoria:infotaules de unitats geogràfiques, excepte:

  • "infotaula de municipi de França" i "Infotaules de cantó de França" perquè sumen 40.000 articles (no m'ho puc creure !) i em fan petar totes les eines.

* 1.000 articles -dels 32.000- que accedeixen directament "infotaula de municipi" (no via "infotaula de municipi de xxx", que si que estan) i que els aniré processant poc a poc.

Espero et sigui útil per al teu anàlisi sintàctic.

Amadalvarez (discussiócontribucions)

Suposo que això de retallar / canviar noms ho faràs com a funció autònoma, perquè em caldrà fer-lo servir per deduir el "tipus_infotaula" a construir. Merci,

Vriullop (discussiócontribucions)

Quin és el format de sortida, o tipus de sortides, a generar?

Amadalvarez (discussiócontribucions)

A partir d'un ítem, retornar la P31 reduïda.

Amb els músics vaig fer un experiment que era agafar el P31 i contrastar-lo contra els valors del switch que gestiona els colors de capçaleres. Si fallava, agafava el P31 de la subclasse de (p279) i ho tornava a provar. Dóna un percentatge molt alt d'èxit. La teva solució d'escurçar pot causar l'efecte de pujar un esglaó per la línia de la subclasse.

Tot i que estigui en qüestió el tema dels colors, penso que és vàlid tenir concentrat en un lloc la traducció dels "tipus" a l'acció que volem fer, perquè facilita el manteniment.

Vriullop (discussiócontribucions)

Més o menys ja ho tinc, a Wikidata/proves amb la funció tree_instance, a falta de revisar la lògica interna i d'integrar-ho amb les funcions actuals del mòdul. Prova-ho amb els paràmetres:

  • item
  • property, per defecte "P131" però es pot eliminar
  • stop, amb valor numèric o amb un label. El nom no m'acaba de convèncer, last_one? Per defecte és stop=10, per seguretat. Segueix el bucle fins que no troba la propietat en l'arbre d'instàncies, normalment molt menor a 10 bucles.
  • target, pel filtre de labels separats per /. El nom tampoc el veig clar, filter?
  • rowformat, amb claus $0 per label i $1 per link
  • separator, no hi he afegit conjunction, per defecte és salt de línia

El cas que deies de treure només el label retallat seria simplement: stop=1, rowformat=$0. No he profunditzat més en l'etiqueta adequada per a una infotaula, el label retallat. Funciona prou bé en la majoria de casos i és per anar afinant sobre la marxa. Hi ha una taula d'excepcions però en casos d'etiquetes en plural o amb "llista..." segurament és millor modificar-les a Wikidata.

Amadalvarez (discussiócontribucions)

Per polir: No li agraden els paràmetres buits.

Noms: target, m'ha semblat que són tots els vàlids, per què no dir-li validlabel o labelshow

Lo del label retallat no és el que em dius o no ens hem entès. Vull retallat el P31 de l'ítem i la funció, lògicament, comença pel següent nivell. D'acord a retocar a WD els casos rars, per això la llista de casos.

Aquí et deixo 500 casos extrets 1/100. (item-p31 / resultat).

Casca per excés de temps, però pots anar eliminant els que ja donis per superats i aniran executant-se els següents.

Per últim, culturalment ens haurem d'acostumar a veure la llista al revés. Ara va de més gran a menor i la funció ho fa al revés. Res que no es pugui superar; en quan desapareguin les plantilles antigues ningú se'n recordarà..

Merci,

Vriullop (discussiócontribucions)
  • Paràmetres buits, arreglats
  • Noms: "stop" passa a anomenar-se "upto" (wikt:up to, fins) i "target" és ara "fetch" (wikt:fetch, vés a buscar i porta'm)
  • Casos rars: alguns surten per l'ordre de les instàncies, potser s'haurien de marcar alguns com a preferred.
  • P31 de l'ítem: ara es pot obtenir amb "upto=0". Entenc que és això o la llista, o era afegit a la llista?
  • Ordre de la llista: l'he invertit. Potser hauria de ser opcional?
Amadalvarez (discussiócontribucions)
  • Els noms són més purs, però menys intuïtius. A mi ja m'està bé.
  • Casos rars: pensava fer neteja d'obvietats abans de considerar que de debò són rars.
  • upto=0. això o llista. No ha de sortir en llista. Em dóna error: Error de Lua a Mòdul:Wikidata/proves a la línia 22: bad argument #1 to 'gsub' (string expected, got nil).
  • Inversió: si no ho preveus com a opcional, algú ho demanarà (Murphy)

Bona feina. Està quedant com un bombonet.

Vriullop (discussiócontribucions)
  • Noms: he tornat a canviar, en lloc de "fetch" és "labelshow", de fet tot el que fa és un gran fetch.
  • Error: "string expected, got nil" vol dir que no l'ha trobat. Deus haver provat un cas rar sense cap instància. A Special:Permalink/17880831 surten tots bé els teus 500 de mostra. Bé, dóna un error per excés d'accessos aleatoris però inexplicablement després continua. De totes formes hi he afegit una protecció per a que no tregui res. En aquesta llista pots comprovar quines són les conversions d'etiquetes que fa.
  • Inversió: jo mateix he fet de Murphy. Amb labelshow=municipi/comarca m'ho donava al revès. Nou paràmetre sorting amb únic valor opcional sorting=-1.
Vriullop (discussiócontribucions)

Fet. Està ja al mòdul principal. Al final la funció es diu "getInstanceValue". Ho he afegit a la documentació. A Mòdul:Wikidata/labels hi ha la taula amb casos a corregir si no es pot fer de cap altra forma.

Vriullop (discussiócontribucions)

Una vegada integrat en el mòdul, ho he repensat millor. He definit case=infoboxlabel i així no cal la drecera upto=0. Es pot treure directament, de forma més flexible:

  • {{#invoke:Wikidata|claim|item=Q988702|property=P31}}: municipi d'Espanya
  • {{#invoke:Wikidata|claim|item=Q988702|property=P31|case=infoboxlabel}}: Municipi
  • {{#invoke:Wikidata|claim|item=Q988702|property=P31|case=infoboxlabel|formatting=internallink}}: Municipi
  • {{#invoke:Wikidata|claim|item=Q988702|property=P31|case=infoboxlabel|formatting=label}}: Municipi
Amadalvarez (discussiócontribucions)

Genial !: Vaig a muntar-ho a la infotaula.

Amadalvarez (discussiócontribucions)
Vriullop (discussiócontribucions)

Corregit: Special:Diff/17886647. Juraria que ho havia provat, però deuria ser en alguna versió anterior. Lua és flexible amb els tipus de valors, però el negatiu no li ha agradat.

Veig que els àmbits territorials, aka vegueries, no tenen instància i per Catalunya queda tallat a nivell de comarca. A banda ha quedat pendent algunes disfuncions territorials amb les províncies.

Amadalvarez (discussiócontribucions)

havia vist lo dels àmbits. Crec que deu ser perquè no hi havia article VP quan es va carregar. Hi ha algun altre a revisar com el País Basc que també és talla en comarques, però ells no tenen ni estat (p17). A saber, ...

No sé si és fer política, però a CAT jo trauria les províncies.

Amadalvarez (discussiócontribucions)

per tancar el punt anterior: ja estan creats totes les vegueries.

Resposta a «Seguint un fil a WD»