Vés al contingut

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

Com obtenir el continguts sense editar, no sé si dir-li "en raw"

11
Amadalvarez (discussiócontribucions)

Bon dia. Primer t'explico per a què i potser trobes una altra drecera.

  • Estic construint una documentació per les infotaules basada en casos, tema a tema. Exemple a Viquiprojecte:Documentació estructurada infotaules/doc/infobox person/death
  • M'interessa que la infotaula que es mostra estigui amb "dades congelades" iguals a les descrites a l'esquerra. Per tant, no pot accedir a wikidata per evitar inconsistències en cas de canvis a WD.
  • Aprofitant que les infotaules tenen dues parts: accés a dades i presentació, he fet una pseudo infotaula d'accés (Plantilla:Proves amadalvarez/Prova2) que no crida a la presentació, sinó que mostra el seu resultat en format de crida.
  • Llavors copio tot l'string generat i el pego on calgui per invocar la segona part de la infotaula (la de presentació). Veure cas a Usuari:Amadalvarez/PMOC
  • El sistema, tot i ser una mica barroc, dóna el resultat previst, excepte en aquell casos on la tasca d'edició s'ha fet a la capa d'accés amb alguna subplantilla que hi posa capçaleres o altres elements d'edició, ja que el que mostra és el resultat sense els comandaments d'edició i, al pegar-lo, queda un nyap, com és el cas dels càrrecs en aquesta prova, però també em passarà amb els esportistes.

La pregunta és, de quina forma podria obtenir de forma visible (per enganxar-lo al copiar) el resultat d'aquestes subplantilles ?. Hi ha alguna forma de veure el text en format codi ?.

Altra solució més assenyada que la meva per aconseguir el mateix efecte ?

Com sempre, gràcies

Amadalvarez (discussiócontribucions)

@Vriullop Avís per navegants: Tot i que la demanda anterior continua essent interessant des de la perspectiva del coneixement, ha caigut de prioritat perquè, fent-ho com deia, perdo la multillengua, ja que la copia que faig és de textos. Ja em pensaré una altra fórmula.

Disculpin les molèsties

Jmarchn (discussiócontribucions)

En la mateixa línia, Vicens, com puc obtenir quelcom (des d'un mòdul, es clar) similar a

tab = WD._main(args, 'formatting=raw')

Millor retornant una taula de lua amb els {Qnnn, Qnnn..}. M'ha semblat que no existeix...

Vriullop (discussiócontribucions)

Començo per allò que he entès:

tab_raw = WD._main({['args'] = {item=qid, property=pid, formatting='raw', separator='<mysep>', lang='ca'}})
tab = mw.text.split(tab_raw, '<mysep>')

Tens exemples a Mòdul:Railway.

Vriullop (discussiócontribucions)

Correcció: tab_raw = WD._main({item=qid, property=pid, formatting='raw', separator='<mysep>', lang='ca'}) Haig d'acabar de preparar els accessos via Lua. En aquest cas no cal posar-ho a la taula args, en d'altres funcions sí.

Jmarchn (discussiócontribucions)

@Amadalvarez Ja funciona, Mòdul:CreateStatement, però només recupero la llista dels valors de les propietats. Però no sé com obtenir la llista (i valors) de referències a cadascuna d'aquestes propietats (si existeixen). Mòdul:Wd mostra com obtenir les referències però predeterminades.

Amadalvarez (discussiócontribucions)

On dius referències, vols dir els qualifiers (CC. @Vriullop, com aclariment dels missatges subsegüents).

Les referències també s'han de mostrar, però als exemple que he creat no hi ha cap.

Vriullop (discussiócontribucions)

Jordi, realment necessites el mòdul:Wd? Justament el que està fent l'Amador és publicitar les nostres infotaules fetes amb el nostre mòdul:wikitada que té unes possibilitats que els altres no ofereixen. Ja vam descartar una altra versió com Mòdul:WikidataIB per innecessària.

Digue'm què necessites de referències, no estic al cas de què és exactament el que es vol.

Jmarchn (discussiócontribucions)

Wd aporta algunes coses més que el Wikidata aporta (les referències i els seus valors), llavors havia pensat (com que no em funcionava wikidata, després he vist que era un problema de refresc) que en el cas que planteja Amador podria ser més interessant, sobretot si havia de modificar-lo (per exemple fent pública alguna funció). Si hi ha altra manera, s'esborra Wd i punt.

Anem al cas, @Amadalvarez:

En l'exemple de Mòdul:CreateStatement es crea a partir de només el qid i pid el contingut d'una plantilla ({{Statement+}}). Aquesta plantilla serveix de base per crear un model (sovint amb explicacions) de com s'han d'omplir els valors a wikidata. El que he fet i com pots veure només genera automàticament:

{{Statement+
|P = {{P-|119}}<bbr/><smalll>{{label|Q235605}}</smalll>
|V1={{Q-|Q311}}
|V2={{Q-|Q2482942}}
}}

que representa (afegint l'explicació)

lloc d'enterrament
Jeanne Hébuterne
Cementiri del Père-Lachaise modifica
0 referència
+ afegiu una referència
cementiri de Bagneux modifica
0 referència
+ afegiu una referència
Explicació de l'Amador
+ afegiu un valor


Però el que s'hauria d'obtenir és el que hi ha a Viquiprojecte:Documentació estructurada infotaules/doc/P119, i que l'Amador ha fet manualment.

{{Statement+
|P={{P-|119}}<br/><small>''{{label |Q14944328}}: {{Q+|Q235605}}''</small>
|V1.rank=+1
|V1={{Font color|red|yellow|{{Q-|q311}}}} ← {{#invoke: Wikibase | label |Q71533031}} 
|q1.p={{P-|580}}
|q1.v1={{data|1930}}
|q2.p={{P-|965}}
|q2.v1=96
|q3.p={{P-|625}}
|q3.v1=48°51'35.2904"N, 2°23'54.6554"E
|V2={{q-|Q2482942}}
|V2.q1.p={{P-|580}}
|V2.q1.v1={{data|28-01-1920}}
|V2.q2.p={{P-|582}}
|V2.q2.v1={{data|1930}}
|doc = ''Explicació de l'Amador'' 
}}

No sé com obtenir els valors que corresponen a les referències i que jo amb el nou mòdul etiquetaria amb els corresponents q1.p, q1.vi, etc . segons convingui.

Merci. Jordi.

Vriullop (discussiócontribucions)

Si ho he entès bé, el que es vol és el mateix que {{wdtable|Q235605|P119}} però formatat amb Statement+.

Contingut desplegable
[
    {
        "type": "statement",
        "qualifiers-order": [
            "P373",
            "P580",
            "P965",
            "P625"
        ],
        "mainsnak": {
            "snaktype": "value",
            "property": "P119",
            "datavalue": {
                "value": {
                    "id": "Q311",
                    "numeric-id": 311,
                    "entity-type": "item"
                },
                "type": "wikibase-entityid"
            },
            "datatype": "wikibase-item"
        },
        "qualifiers": {
            "P580": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": {
                            "before": 0,
                            "time": "+1930-01-01T00:00:00Z",
                            "timezone": 0,
                            "precision": 9,
                            "after": 0,
                            "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
                        },
                        "type": "time"
                    },
                    "property": "P580",
                    "hash": "464f757e8e243e6c5659e96164b943a2b323821f",
                    "datatype": "time"
                }
            ],
            "P373": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": "Grave of Amedeo Modigliani and Jeanne Hébuterne",
                        "type": "string"
                    },
                    "property": "P373",
                    "hash": "2baeb94bc45140e01ecb0ade8da862446d3f6b76",
                    "datatype": "string"
                }
            ],
            "P625": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": {
                            "longitude": 2.3985154,
                            "precision": 1.0e-7,
                            "globe": "http://www.wikidata.org/entity/Q2",
                            "latitude": 48.8598029
                        },
                        "type": "globecoordinate"
                    },
                    "property": "P625",
                    "hash": "795737ce0dc274c2d8bcb979ca0266d301a3169e",
                    "datatype": "globe-coordinate"
                }
            ],
            "P965": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": "96",
                        "type": "string"
                    },
                    "property": "P965",
                    "hash": "6633f7ae8bf1601aa8e4c589a8549676183e574b",
                    "datatype": "string"
                }
            ]
        },
        "id": "q235605$D42D2C56-5061-4D3F-B6DB-42E6624C852A",
        "rank": "normal"
    },
    {
        "type": "statement",
        "qualifiers-order": [
            "P580",
            "P582"
        ],
        "mainsnak": {
            "snaktype": "value",
            "property": "P119",
            "datavalue": {
                "value": {
                    "id": "Q2482942",
                    "numeric-id": 2482942,
                    "entity-type": "item"
                },
                "type": "wikibase-entityid"
            },
            "datatype": "wikibase-item"
        },
        "qualifiers": {
            "P580": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": {
                            "before": 0,
                            "time": "+1920-01-28T00:00:00Z",
                            "timezone": 0,
                            "precision": 11,
                            "after": 0,
                            "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
                        },
                        "type": "time"
                    },
                    "property": "P580",
                    "hash": "e7e2ad6b137d2ba8d70c8a79556f857779bfc16b",
                    "datatype": "time"
                }
            ],
            "P582": [
                {
                    "snaktype": "value",
                    "datavalue": {
                        "value": {
                            "before": 0,
                            "time": "+1930-01-01T00:00:00Z",
                            "timezone": 0,
                            "precision": 9,
                            "after": 0,
                            "calendarmodel": "http://www.wikidata.org/entity/Q1985727"
                        },
                        "type": "time"
                    },
                    "property": "P582",
                    "hash": "9197c7b457111994c582ba7446258586fc75767f",
                    "datatype": "time"
                }
            ]
        },
        "id": "q235605$f22da864-4baf-bfe9-c705-334b8a3305ac",
        "rank": "normal"
    }
]

Aquesta mateixa taula amb les dades en brut la tens amb Lua: mw.wikibase.getAllStatements('Q235605', 'P119'). Primer, per cada propietat caldrà trobar quins qualificadors té consultant la taula ["qualifiers-order"]. Per mostrar cada qualificador formatat pots usar WD._main{item=qid, property=pid, qualifier=q1id, lang='ca'}. Per fer-ho multilingüe haig d'acabar de preparar l'accés al mòdul via require.

Jmarchn (discussiócontribucions)

@Amadalvarez.

Bé ja ho tinc, seguint la plantilla i el mòdul que m'has facilitat, Vicenç, em du al que necessitava.

tab = mw.wikibase.getAllStatements ('Q235605', 'P119')

Contingut desplegable
table#1 {
 table#2 {
   ["id"] = "q235605$D42D2C56-5061-4D3F-B6DB-42E6624C852A",
   ["mainsnak"] = table#3 {
     ["datatype"] = "wikibase-item",
     ["datavalue"] = table#4 {
       ["type"] = "wikibase-entityid",
       ["value"] = table#5 {
         ["entity-type"] = "item",
         ["id"] = "Q311",
         ["numeric-id"] = 311,
       },
     },
     ["property"] = "P119",
     ["snaktype"] = "value",
   },
   ["qualifiers"] = table#6 {
     ["P373"] = table#7 {
       table#8 {
         ["datatype"] = "string",
         ["datavalue"] = table#9 {
           ["type"] = "string",
           ["value"] = "Grave of Amedeo Modigliani and Jeanne Hébuterne",
         },
         ["hash"] = "2baeb94bc45140e01ecb0ade8da862446d3f6b76",
         ["property"] = "P373",
         ["snaktype"] = "value",
       },
     },
     ["P580"] = table#10 {
       table#11 {
         ["datatype"] = "time",
         ["datavalue"] = table#12 {
           ["type"] = "time",
           ["value"] = table#13 {
             ["after"] = 0,
             ["before"] = 0,
             ["calendarmodel"] = "http://www.wikidata.org/entity/Q1985727",
             ["precision"] = 9,
             ["time"] = "+1930-01-01T00:00:00Z",
             ["timezone"] = 0,
           },
         },
         ["hash"] = "464f757e8e243e6c5659e96164b943a2b323821f",
         ["property"] = "P580",
         ["snaktype"] = "value",
       },
     },
     ["P625"] = table#14 {
       table#15 {
         ["datatype"] = "globe-coordinate",
         ["datavalue"] = table#16 {
           ["type"] = "globecoordinate",
           ["value"] = table#17 {
             ["globe"] = "http://www.wikidata.org/entity/Q2",
             ["latitude"] = 48.8598029,
             ["longitude"] = 2.3985154,
             ["precision"] = 1e-07,
           },
         },
         ["hash"] = "795737ce0dc274c2d8bcb979ca0266d301a3169e",
         ["property"] = "P625",
         ["snaktype"] = "value",
       },
     },
     ["P965"] = table#18 {
       table#19 {
         ["datatype"] = "string",
         ["datavalue"] = table#20 {
           ["type"] = "string",
           ["value"] = "96",
         },
         ["hash"] = "6633f7ae8bf1601aa8e4c589a8549676183e574b",
         ["property"] = "P965",
         ["snaktype"] = "value",
       },
     },
   },
   ["qualifiers-order"] = table#21 {
     "P373",
     "P580",
     "P965",
     "P625",
   },
   ["rank"] = "normal",
   ["type"] = "statement",
 },
 table#22 {
   ["id"] = "q235605$f22da864-4baf-bfe9-c705-334b8a3305ac",
   ["mainsnak"] = table#23 {
     ["datatype"] = "wikibase-item",
     ["datavalue"] = table#24 {
       ["type"] = "wikibase-entityid",
       ["value"] = table#25 {
         ["entity-type"] = "item",
         ["id"] = "Q2482942",
         ["numeric-id"] = 2482942,
       },
     },
     ["property"] = "P119",
     ["snaktype"] = "value",
   },
   ["qualifiers"] = table#26 {
     ["P580"] = table#27 {
       table#28 {
         ["datatype"] = "time",
         ["datavalue"] = table#29 {
           ["type"] = "time",
           ["value"] = table#30 {
             ["after"] = 0,
             ["before"] = 0,
             ["calendarmodel"] = "http://www.wikidata.org/entity/Q1985727",
             ["precision"] = 11,
             ["time"] = "+1920-01-28T00:00:00Z",
             ["timezone"] = 0,
           },
         },
         ["hash"] = "e7e2ad6b137d2ba8d70c8a79556f857779bfc16b",
         ["property"] = "P580",
         ["snaktype"] = "value",
       },
     },
     ["P582"] = table#31 {
       table#32 {
         ["datatype"] = "time",
         ["datavalue"] = table#33 {
           ["type"] = "time",
           ["value"] = table#34 {
             ["after"] = 0,
             ["before"] = 0,
             ["calendarmodel"] = "http://www.wikidata.org/entity/Q1985727",
             ["precision"] = 9,
             ["time"] = "+1930-01-01T00:00:00Z",
             ["timezone"] = 0,
           },
         },
         ["hash"] = "9197c7b457111994c582ba7446258586fc75767f",
         ["property"] = "P582",
         ["snaktype"] = "value",
       },
     },
   },
   ["qualifiers-order"] = table#35 {
     "P580",
     "P582",
   },
   ["rank"] = "normal",
   ["type"] = "statement",
 },
}

Ara el demés ja és (més o menys) fàcil.

Merci!.

Resposta a «Com obtenir el continguts sense editar, no sé si dir-li "en raw"»