Ajuda:Llistes automàtiques/tractament dades

De la Viquipèdia, l'enciclopèdia lliure

El codi SPARQL bàsic que es requereix per fer una llista automàtica (veure pestanyes "Sintaxi" o "Començar"), es pot ampliar bé sigui per fer seleccions més complexes o, com mostrarem en aquesta secció, per fer tractaments de càlcul o d'edició amb les dades recuperades.

Recordem que les dades que es podran tractar per fer la llista són aquelles que hi figurin a columns=. bé siguin directament amb el codi de propietats (Pnnn), o de valors calculats al codi SPARQL (?<variable>).

Quan afegir tractament amb codi SPARQL[modifica]

  • Quan sigui imprescindible per obtenir un valor indirecte, més enllà d'una propietat de l'item que tractem, per exemple: la data de naixement de l'autor d'un quadre en un llistat d'obres, ja que es tracta d'una dada que no hi és a l'ítem de l'obra, sinó a l'item de l'autor de l'obra.
  • Quan volem editar, donar format, fer càlculs, etc. entre valors de propietats per deixar el resultat en una variable a traspassar al codi de la wikidata list. Habitualment, resulta més fàcil de fer amb codi wiki dins la row_template, ja que disposa de més recursos per aquestes funcions. No obstant, si només es tracta d'una manipulació senzilla, fer-ho al codi SPARQL, ens estalviarà d'haver de crear i mantenir una row_template. A Wikidata list/exemple obra literària tenim un exemple on tots els tractament de dades s'han fet al codi SPARQL per evitar haver de tenir row i header templates. NO es recomanable si no es tenen bons coneixements del SPARQL.

En aquesta secció incorporem parts de codi a afegir al codi SPARQL per realitzar funcions específiques que acostumen a aparèixer en llistes automàtiques. Als exemples de casos se'n poden trobar més.

Recuperar "rang preferent" i la data associada[modifica]

Les propietat que contenen sèries històriques (població, president, etc.) tenen el valor actual amb rang preferent i el qualificador de data (habitualment Data (P585), o Data d'inici (P580)) com a qualificador. Per recuperar el valor actual de la Població (P1082) i la data que correspon, farem servir:

OPTIONAL { ?item p:P1082 [ps:P1082 ?poblacio; pq:P585 ?data; wikibase:rank wikibase:PreferredRank] . } 


Generació llapis amb enllaç a item WD[modifica]

Tot i que a les row_template tenim exemples de com generar el llapis amb l'enllaç a l'item WD per permetre fer modificacions, si aquesta és la única edició que hem de fer, ens podem estalviar haver de tenir una row_template, generant-lo dins el codi SPARQL.

BIND (REPLACE(STR(?item), "http://www.wikidata.org/entity/", "", "i") as ?itemId). 
BIND (CONCAT ("[","[","File:Arbcom ru editing.svg|12px|center|",  
              "Modifica les dades a Wikidata|", 
              "link", "=","d:",STR(?itemId), "]","]")  as ?llapis)


Recuperació article Viquitext[modifica]

Per recuperar l'article de l'item d'un projecte germà, com Viquitext (wikisource en ca) a l'exemple, cal utilitzar:

OPTIONAL { ?wikisourceSitelink schema:isPartOf [ wikibase:wikiGroup "wikisource" ]; 
            schema:inLanguage ?wikisourceLanguage; 
            schema:about ?item.}
BIND(IF(?wikisourceLanguage ="ca", ?wikisourceSitelink, "") AS ?wikisource)

Selecció "forma femenina de l'etiqueta"[modifica]

Les propietats amb declinació de gènere (ocupació, càrrecs, etc.) han d'anar acompanyades de la propietat Forma femenina de l'etiqueta (P2521) que conté la versió declinada en femení del label de l'item. Per tant, quan algunes d'aquestes propietats forma part de la llista, s'ha d'aplicar el codi que es mostra si es vol que el contingut es mostri segons el gènere de la persona de cada línia del llistat. A l'exemple es mostra l'aplicació amb la Ocupació (P106):

OPTIONAL {?item wdt:P106 ?profession.
           OPTIONAL {?profession wdt:P2521 ?female_form_of_label. FILTER((LANG(?female_form_of_label)) = "ca")}
           OPTIONAL {?profession rdfs:label ?professionLabel.     FILTER((LANG(?professionLabel)) = "ca")}
         }
BIND(IF((?gender IN(wd:Q6581072, wd:Q1052281, wd:Q43445)) && (BOUND(?female_form_of_label)), ?female_form_of_label, ?professionLabel) AS ?professionText)

}


Anem a provar aquest codi amb l'exemple bàsic de les pintores modernistes.
Versió obtinguda després d'aplicar header i row template Versió amb codi de feminització de la professió

{{Wikidata list
| sparql = SELECT * WHERE {
   ?item wdt:P106 wd:Q1028181;
     wdt:P135 wd:Q34636;
     wdt:P21 wd:Q6581072.
  }
| columns = P18,label, P19,P569, P106, item
| header_template=Wikidata list/headerrow/exemple ajuda 1
| row_template=Wikidata list/exemple ajuda 1
| sort=label
| links = red
| thumb = 60
| freq = 180
}} «Aquí anirà el resultat generat pel Listeriabot» {{Wikidata list end}}

{{Wikidata list
| sparql = SELECT * WHERE {
   ?item wdt:P106 wd:Q1028181;
     wdt:P135 wd:Q34636;
    wdt:P21 wd:Q6581072;
    wdt:P21 ?gender.
    OPTIONAL {?item wdt:P106 ?profession.
       OPTIONAL {?profession wdt:P2521 ?female_form_of_label. FILTER((LANG(?female_form_of_label)) = "ca")}
       OPTIONAL {?profession rdfs:label ?professionLabel.     FILTER((LANG(?professionLabel)) = "ca")}
         }
BIND(IF((?gender IN(wd:Q6581072, wd:Q1052281, wd:Q43445)) && (BOUND(?female_form_of_label)), ?female_form_of_label, ?professionLabel) AS ?professionText)
  }
| columns = P18,label, P19,P569, ?professionText, item
| header_template=Wikidata list/headerrow/exemple ajuda 1
| row_template=Wikidata list/exemple ajuda 1
| sort=label
| links = red
| thumb = 60
| freq = 180
}} «Aquí anirà el resultat generat pel Listeriabot» {{Wikidata list end}}
Actualitza ara

Informació actualitzada per un bot. Els canvis manuals es perdran quan s'actualitzi!

Imatge Nom Lloc naixement Data naixement Ocupació Dades a Wikidata
Adelina Zandrino Gènova 19-09-1893 pintor
il·lustrador
Modifica les dades a Wikidata
Amelia Bauerle Bayswater 12-11-1873
1870
pintor
il·lustrador
artista visual
Modifica les dades a Wikidata
Anne Anderson Escòcia 1874 il·lustrador
pintor
Modifica les dades a Wikidata
Clara Weaver Parrish Selma 16-03-1861 dissenyador
pintor
artista
Modifica les dades a Wikidata
Elena Greculesi Suceava 21-06-1928 pintor Modifica les dades a Wikidata
Elenore Plaisted Abbott Lincoln 1875 pintor
il·lustrador
escenògraf
artista
Modifica les dades a Wikidata
Elsa von Freytag-Loringhoven Świnoujście 12-07-1874 escultor
escriptor
pintor
model
poeta
artista
dibuixant
artista d'assemblage
artista de performance
Modifica les dades a Wikidata
Hede von Trapp Pula 18-11-1877 pintor
dissenyador gràfic
escriptor
Modifica les dades a Wikidata
Jessie Marion King Bearsden
Glasgow
20-03-1875
1876
pintor
il·lustrador
artista gràfic
dissenyador
terrissaire
professor d'universitat
joier
Modifica les dades a Wikidata
Margaret Macdonald Tipton 05-11-1864 pintor
artista visual
artista
Modifica les dades a Wikidata
Maria Yakunchikova Wiesbaden 19-01-1870 pintor
dissenyador gràfic
brodador
Modifica les dades a Wikidata
Fi de la llista autogenerada.
Actualitza ara

Informació actualitzada per un bot. Els canvis manuals es perdran quan s'actualitzi!

Imatge Nom Lloc naixement Data naixement Ocupació Dades a Wikidata
Adelina Zandrino Gènova 19-09-1893 il·lustradora
pintora
Modifica les dades a Wikidata
Amelia Bauerle Bayswater 12-11-1873
1870
il·lustradora
pintora
artista visual
Modifica les dades a Wikidata
Anne Anderson Escòcia 1874 il·lustradora
pintora
Modifica les dades a Wikidata
Clara Weaver Parrish Selma 16-03-1861 artista
pintora
dissenyadora
Modifica les dades a Wikidata
Elena Greculesi Suceava 21-06-1928 pintora Modifica les dades a Wikidata
Elenore Plaisted Abbott Lincoln 1875 artista
il·lustradora
pintora
escenògrafa
Modifica les dades a Wikidata
Elsa von Freytag-Loringhoven Świnoujście 12-07-1874 escriptora
poetessa
poeta
artista
escultora
pintora
model
artista de performance
dibuixant
artista d'assemblage
Modifica les dades a Wikidata
Hede von Trapp Pula 18-11-1877 escriptora
dissenyadora gràfica
pintora
Modifica les dades a Wikidata
Jessie Marion King Bearsden
Glasgow
20-03-1875
1876
il·lustradora
pintora
professora d'universitat
terrissaire
dissenyadora
artista gràfica
joiera
Modifica les dades a Wikidata
Margaret Macdonald Tipton 05-11-1864 artista
pintora
artista visual
Modifica les dades a Wikidata
Maria Yakunchikova Wiesbaden 19-01-1870 dissenyadora gràfica
pintora
brodadora
Modifica les dades a Wikidata
Fi de la llista autogenerada.

Notes comunes sobre la sintaxi[modifica]

  • la inclusió del codi entre OPTIONAL { <codi sparql> } fa que no formi part del filtre, és a dir, que si no existeix no es mostra, però no l'exclou de la selecció.

Continua .. / ..[modifica]

pestanya "header-row" per veure perquè serveixen i com construir aquests elements.
pestanya "Exemples" per veure casos models.