Moduldiskussion:Brug Wikidata
Der er åbenbart en modulfejl eller den hentes forkert? Lua-fejl i Modul:Brug_Wikidata på linje 476: attempt to compare two nil values.
- • Rodejong 💬 ✉️ ☑ 13. feb 2017, 14:13 (CET)
- Jeg kigger på det. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 14:29 (CET)
- Egenskaben pseudonym (P742) har datatypen streng. Jeg vil gøre modulet mere robust mod kald med forkerte datatyper. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 14:37 (CET)
- Det er rettet. Men infoboksen skal bruge {{Wikidata-streng}} for at få pseudonymer. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 14:45 (CET)
- Egenskaben pseudonym (P742) har datatypen streng. Jeg vil gøre modulet mere robust mod kald med forkerte datatyper. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 14:37 (CET)
| label1 = Fulde navn | data1 = {{Wikidata-streng | P1477 | ikon=ja | {{{fødselsnavn|{{{fnavn|{{{fulde_navn|{{{fulde navn|}}}}}}}}}}}} }} | label2 = Pseudonym | data2 = {{wikidata-streng | P742 | ikon=ja | {{{pseudonym|{{{pseudonym(er)|}}}}}} }} | label3 = Øgenavn | data3 = {{Wikidata-streng | P1449 | ikon=ja | {{{øgenavn|}}} }}
Hvorfor virker Fulde navn og øgenavn ikke? Har du ændret noget? • Rodejong 💬 ✉️ ☑ 13. feb 2017, 16:53 (CET)
- Se Douglas Adams. Om jeg bruger streng, emne eller tekst. • Rodejong 💬 ✉️ ☑ 13. feb 2017, 17:08 (CET)
- Jeg har ikke ændret noget. Læs dokumentationen og tjek datatyperne! Det er ikke strenge, men tekster. Brug {{Wikidata-tekst}}. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 17:15 (CET)
- Check venligst Douglas Adams og Robin Williams og forklar mig hvorfor navnet ikke kommer frem?
- Jeg har lige prøver wikiteksten "{{Wikidata-tekst | P1477 | ikon=ja | q=Q5685}}" i skabelonsandkassen med artiklen Anton Tjekhov. Resultatet var teksten "Anton Pavlovitj Tjekhov" og et ikon med et link til Wikidata. Hvad er problemet? Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 17:52 (CET)
Hvorfor virker denne ikke??
- |fulde navn =
i de forskellige infobokse?? --Zoizit (diskussion) 13. feb 2017, 17:55 (CET)
- Det virker fint når det er angivet på Wikidata, men skabelonerne kan ikke hente hvad der ikke er angivet. Jeg tjekkede Adams og Williams. De har ikke P1477 sat for dansk. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 17:58 (CET)
- burde det fulde navn så ikke stå i Anton Tjekhov da der på wikidata står birth name = Anton Pavlovitj Tjekhov (Danish)?? --Zoizit (diskussion) 13. feb 2017, 18:02 (CET)
- Artiklen bruger {{Infoboks Wikidata person}} som nu er beskyttet. Skabelonen bruger fejlagtigt {{Wikidata-streng}} til at hente navnet. Det virker ikke fordi datatypen på Wikidata er "ensproget tekst". Man skal bruge {{Wikidata-tekst}} som nævnt højere oppe i denne diskussion, og på skabelonernes dokumentationssider. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 18:18 (CET)
- så der er en fejl i infoboksen, som så først kan rettes når en gang infoboksen person ikke længer er beskyttet ---Zoizit (diskussion) 13. feb 2017, 18:32 (CET)
- Artiklen bruger {{Infoboks Wikidata person}} som nu er beskyttet. Skabelonen bruger fejlagtigt {{Wikidata-streng}} til at hente navnet. Det virker ikke fordi datatypen på Wikidata er "ensproget tekst". Man skal bruge {{Wikidata-tekst}} som nævnt højere oppe i denne diskussion, og på skabelonernes dokumentationssider. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 18:18 (CET)
- burde det fulde navn så ikke stå i Anton Tjekhov da der på wikidata står birth name = Anton Pavlovitj Tjekhov (Danish)?? --Zoizit (diskussion) 13. feb 2017, 18:02 (CET)
- Som jeg skrev ovenpå brugte jeg Bruger:Rodejong/sandkasse17 som Savfisk har rettet tilbage!! LÆS!
Så prøv det endnu engang med denne version Kartebolle (Dipsacus fullonum). Det er nemt at sige at den NU bruger Infoboks WIkidata person, men jeg skrev ovenfor at jeg testede det i sandkassen med Wikidata-tekst! • Rodejong 💬 ✉️ ☑ 13. feb 2017, 18:37 (CET)
- Rodejong, læs mit svar til Zoizit! Williams fulde navn er ikke på dansk på Wikidata, så det kan ikke hentes. Hvor mange gange skal jeg gentage det? Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 18:42 (CET)
- Kartebolle har et spørgsmål, det er sikkert dumt, men hvor skal det danske navn helt præcist stå på wikidata, for at blive hentet til infoboksen?? --Zoizit (diskussion) 13. feb 2017, 18:49 (CET)
- Wikidatas datatype "ensproget tekst" består af en tekst og en tilhørende angivelse af hvilket sprog, som teksten er på. Man kan ikke indsætte værdier på Wikidata med denne datatype uden samtidig at angive sproget, som altid er nævnt på Wikidata lige efter teksten. {{Wikidata-tekst}} henter tekster på dansk hvis intet andet specificeres, men skabelonen kan også hente tekster på andre sprog ved brug af parametre. Se skabelonens dokumentationsside for detaljer. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:01 (CET)
- Bruger:Zoizit se her mine sidste to redigeringer: https://www.wikidata.org/w/index.php?title=Q430541&diff=next&oldid=447857795 --Villy Fink Isaksen (diskussion) 13. feb 2017, 19:12 (CET)
- Jeg forstår godt at man ikke bare kan skrive "et eller andet" på wikidata uden at angive hvad sprog det er på, ligesom jeg godt ved at jeg ikke kan skrive Længde på en film uden at skrive at det er minutter, helt dum er jeg altså ikke, jeg spørger efter hvor skal det fulde navn på en person stå på wikidata for at det bliver vist i en givet infoboks?? er det under label eller er det under birth name?? (jeg har altså lagt en del på wikidata https://www.wikidata.org/wiki/Special:Contributions/Zoizit) --Zoizit (diskussion) 13. feb 2017, 19:24 (CET)
- Jeg antog at du vidste at vi talte om værdier for P1477 fordi det ses af det uddrag af infobokskode som er ovenfor. Men jeg ser på Wikidata at du har opdaget det nu. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:49 (CET)
- Anton Tjekhov Fulde navn kommer stadig ikke frem i infoboksen, så det jeg har rettet på wikidata er stadig ikke det rigtige, så igen hvor skal hans fulde navn stå for at blive vist i infoboksen -- Zoizit (diskussion) 13. feb 2017, 19:54 (CET)
- Du antager for meget. Vi ser at navne bliver vist på flere sprog (derfor også sprogsnoter) Vi kan ikke vide at det med Wikidata-tekst ikke virker sådan. For mig er dokumentationen slet ikke så enkelt. Hvis du ser at noget hentes forkert, ret det så, i stedet for at lade os andre taste i mørket. For eksempel min sandkasse17. Du kunne angive at en kode er forkert så jeg kunne rette det. Du tror at vi alle kan se traileren på din pande der beskriver hvordan alt virker. Til det kan jeg sige... "nej, det kan vi ikke". • Rodejong 💬 ✉️ ☑ 13. feb 2017, 19:57 (CET)
- Helt ærligt, Zoizit. Jeg svarede på det spørgsmål den 13. feb 2017, 18:18 (CET). Der er ikke gået 2 timer og mit tidligere svar gælder stadig. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:59 (CET)
- Zoizit: Det står det allerede: fødenavn - Anton Pavlovitj Tjekhov (dansk)
- skal erstatte på Infoboks Wikidata person • Rodejong 💬 ✉️ ☑ 13. feb 2017, 20:01 (CET)
- Rodejong, alt er dokumenteret på de relevante dokumentationssider. Det er ikke andres skyld, at du tilsyneladende ikke læser dokumentationen. Du burde ikke blive overrasket over det fører til fejl. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 20:06 (CET)
- Helt ærligt, Zoizit. Jeg svarede på det spørgsmål den 13. feb 2017, 18:18 (CET). Der er ikke gået 2 timer og mit tidligere svar gælder stadig. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:59 (CET)
- Du antager for meget. Vi ser at navne bliver vist på flere sprog (derfor også sprogsnoter) Vi kan ikke vide at det med Wikidata-tekst ikke virker sådan. For mig er dokumentationen slet ikke så enkelt. Hvis du ser at noget hentes forkert, ret det så, i stedet for at lade os andre taste i mørket. For eksempel min sandkasse17. Du kunne angive at en kode er forkert så jeg kunne rette det. Du tror at vi alle kan se traileren på din pande der beskriver hvordan alt virker. Til det kan jeg sige... "nej, det kan vi ikke". • Rodejong 💬 ✉️ ☑ 13. feb 2017, 19:57 (CET)
- Anton Tjekhov Fulde navn kommer stadig ikke frem i infoboksen, så det jeg har rettet på wikidata er stadig ikke det rigtige, så igen hvor skal hans fulde navn stå for at blive vist i infoboksen -- Zoizit (diskussion) 13. feb 2017, 19:54 (CET)
- Jeg antog at du vidste at vi talte om værdier for P1477 fordi det ses af det uddrag af infobokskode som er ovenfor. Men jeg ser på Wikidata at du har opdaget det nu. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:49 (CET)
- Jeg forstår godt at man ikke bare kan skrive "et eller andet" på wikidata uden at angive hvad sprog det er på, ligesom jeg godt ved at jeg ikke kan skrive Længde på en film uden at skrive at det er minutter, helt dum er jeg altså ikke, jeg spørger efter hvor skal det fulde navn på en person stå på wikidata for at det bliver vist i en givet infoboks?? er det under label eller er det under birth name?? (jeg har altså lagt en del på wikidata https://www.wikidata.org/wiki/Special:Contributions/Zoizit) --Zoizit (diskussion) 13. feb 2017, 19:24 (CET)
- Bruger:Zoizit se her mine sidste to redigeringer: https://www.wikidata.org/w/index.php?title=Q430541&diff=next&oldid=447857795 --Villy Fink Isaksen (diskussion) 13. feb 2017, 19:12 (CET)
- Wikidatas datatype "ensproget tekst" består af en tekst og en tilhørende angivelse af hvilket sprog, som teksten er på. Man kan ikke indsætte værdier på Wikidata med denne datatype uden samtidig at angive sproget, som altid er nævnt på Wikidata lige efter teksten. {{Wikidata-tekst}} henter tekster på dansk hvis intet andet specificeres, men skabelonen kan også hente tekster på andre sprog ved brug af parametre. Se skabelonens dokumentationsside for detaljer. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 19:01 (CET)
- Kartebolle har et spørgsmål, det er sikkert dumt, men hvor skal det danske navn helt præcist stå på wikidata, for at blive hentet til infoboksen?? --Zoizit (diskussion) 13. feb 2017, 18:49 (CET)
- Rodejong, læs mit svar til Zoizit! Williams fulde navn er ikke på dansk på Wikidata, så det kan ikke hentes. Hvor mange gange skal jeg gentage det? Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 18:42 (CET)
- Der står altså ikke fødenavn i infoboksen i artiklen Anton Tjekhov lige meget hvor meget du kigger, så står det der altså ikke, og så kan du have svaret nok så mange gange Kartebolle --Zoizit (diskussion) 13. feb 2017, 20:30 (CET)
- @Zoizit: Nej, det står ikke i infoboksen hvilket skyldes forkert kode i infoboksskabelonen. Det forklarede jeg kl. 18:18, og du accepterede forklaringen kl. 18:32. Hvorfor spørger du så om det samme 2 gange mere mindre end 2 timer senere? Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 20:45 (CET)
- @Dipsacus fullonum: tror vi har snakket forbi hinanden, betyder det så at det er samme fejl som er i de andre infobokse som henter data fra wikidata, der heller ikke viser fødenavn / fulde navn ?? altså hvis informationerne er på wikidata på dansk --Zoizit (diskussion) 13. feb 2017, 20:52 (CET)
- @Zoizit:, du spurgte specifikt til infoboksen for Anton Tjekhov, så det var det som jeg svarede på. Jeg ved ikke hvad andre uspecificerede infobokse gør. Hvorfor kigger du ikke selv på deres kode? Hvis de forsøger at hente P1447 med skabelonen {{Wikidata-streng}} eller {{Wikidata-emne}} virker det ikke, og de skal i stedet bruge {{Wikidata-tekst}}. Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 21:00 (CET)
- @Dipsacus fullonum: tror vi har snakket forbi hinanden, betyder det så at det er samme fejl som er i de andre infobokse som henter data fra wikidata, der heller ikke viser fødenavn / fulde navn ?? altså hvis informationerne er på wikidata på dansk --Zoizit (diskussion) 13. feb 2017, 20:52 (CET)
- @Zoizit: Nej, det står ikke i infoboksen hvilket skyldes forkert kode i infoboksskabelonen. Det forklarede jeg kl. 18:18, og du accepterede forklaringen kl. 18:32. Hvorfor spørger du så om det samme 2 gange mere mindre end 2 timer senere? Mvh. Kartebolle (Dipsacus fullonum) (diskussion) 13. feb 2017, 20:45 (CET)
Udvalg efter kvalifikator-værdi
[rediger kildetekst]Der er pt. mulighed for at udvælge værdier, som har eller ikke har en bestemt kvalifikator. Jeg har brug for udvælge en værdi, hvor kvalifikatoren har en bestemt værdi; konkret har svævefly en række masser, jeg har brug for MTOW (maximum takeoff weight) - se fx. d:Q613581#P2067.
Det mest elegante ville efter min opfattelse være at udvide tolkningen af kvalifikatorbrugN. Den kan nu have værdierne med (resultatet kommer med, hvis kvalifikatoren er angivet, uanset værdi) og uden (modsat). Det bør udvides til, at der kan angives en værdi som fx Q938476 (MTOW), så værdien kommer med, hvis kvalifikatoren har denne værdi og ellers ikke. Jeg har oprindeligt rejst emnet på Skabelondiskussion:Wikidata-tal, men det bør jo implementeres her, og det giver også mening at lade det virke for de andre datatyper.
-- Poul G disk. 3. okt 2017, 22:34 (CEST)
- Jeg går ud fra at tavsheden er udtryk for ingen indvendinger og går igang i sandkassen. Den har ikke været i brug i en måned, så mon ikke den er ledig. -- Poul G disk. 4. okt 2017, 21:15 (CEST)
Fjern den her fodnote!
[rediger kildetekst]Tak! • Rodejong 💬 ✉️ ☑ 18. mar 2017, 12:22 (CET)
Modulet bruger for meget hukommelse
[rediger kildetekst]Der må højst bruges 50 MB hukommelse til kørsel af lua-kode ved sidevisning, og dette modul overskrider nogle gange denne værdi. Se f.eks. denne kode som er en forsimpelt udgave af den tilsvarende kode i infoboksen for filmen Avengers: Infinity War:
Kode | Resultat |
---|---|
Udgivelsesdato: {{Wikidata-tid | P577 | q=Q23780914 | kvalifikator1=P291 }} |
Udgivelsesdato: 27. april 2018 (USA, Canada, Spanien, Indien, Japan, Mexico, Pakistan, Tyrkiet, Sydafrika), 26. april 2018 (Tyskland, Ungarn), 25. april 2018 (Frankrig, Danmark, Italien), 11. maj 2018 (Kina) |
Dette ene kald af Skabelon:Wikidata-tid bruger ca. 35 MB lua-hukommelse, så det er ikke mærkeligt at Avengers: Infinity War giver fejlmeddelelsen "Lua-fejl: not enough memory." Problemet ligger i at modulet henter hele emnet for kvalifikator P291 (udgivelsessted). I dette tilfælde er emnerne 12 lande, og mængden af data for et land på Wikidata er stor med masser af sætninger og navne mv. på mange sprog.
Hele emnet hentes fordi der er i nogle tilfælde er brug for det, men koden bør optimeres så hele emner kun indlæses efter behov. Så hvis der for eksempel (som i koden i eksemplet herover) kun skal bruges det danske navn, kan man starte med mw.wikibase.getLabelByLang('Qxxxx', 'da')
, og kun hvis det fejler fortsætte med at hente emnet som nu. Jeg vil arbejde på det, men forvent ikke at det sker straks, da ændringer i dette meget brugte modul kræver god testning, og min tid er begrænset i den næste uge. --Kartebolle (Dipsacus fullonum) (diskussion) 29. jun 2018, 23:27 (CEST)
- Jeg har lavet ændringen. Resurseforbruget for denne side med Wikidata-tid-kaldet ovenfor er drastisk reduceret:
Resurse | før | efter |
---|---|---|
Brugt CPU-tid | 1,876 sekunder | 0,092 sekunder |
Brugt reel tid | 1,915 sekunder | 0,119 sekunder |
Antal nodebesøg for preprocessor | 625/1.000.000 | 14/1.000.000 |
Antal noder genereret af preprocessor | 0/1.500.000 | 0/1.500.000 |
Inkluderet størrelse efter udvidelse | 4.892/2.097.152 bytes | 452/2.097.152 bytes |
Skabelon argumentstørrelse | 2.955/2.097.152 bytes | 0/2.097.152 bytes |
Største udvidelsesdybde | 4/40 | 2/40 |
Antal dyre parserfunktioner | 15/500 | 1/500 |
Unstrip recursion depth | 0/20 | 0/20 |
Unstrip post-expand size | 517/5.000.000 bytes | 77/5.000.000 bytes |
Number of Wikibase entities loaded | 15/400 | 1/400 |
Lua tidsforbrug | 1,815/10,000 sekunder | 0,071/10,000 sekunder |
Lua brug af hukommelse | 32.64 MB/50 MB | 1.62 MB/50 MB |
- Kategori:Sider med skriptfejl er stort set tømt for artikler nu.
- Sig til hvis der er utilsigtede bivirkning er ændringen. --Kartebolle (Dipsacus fullonum) (diskussion) 30. jun 2018, 17:19 (CEST)
- Ja, 20 gange færre resurser er meget. Jeg havde tidligere prøvet at løse problemet, men troede det var i Modul:External links fordi fejlen viste sig der. Jeg går nu ud fra at det var fordi hukommelsen først slap op, når {{Filmlinks}} i (fx Avengers: Infinity War) skulle vises. Godt at du kunne løse det!--Weblars (diskussion) 1. jul 2018, 10:25 (CEST)
- Tak. Jeg har også kigget (foreløbig kun overfladisk) på Modul:External links, og jeg tror at det kan optimeres på samme måde. Men virkningen vil ikke være så markant som her. Men mit næste modul-optimeringsprojekt vil blive Modul:Cycling race. Vi har adskillige sider som bruger det, som fejler, fordi de tilladte resurser bruges op. Jeg har foreløbig annonceret mine planer på Wikidata hvor modulet udvikles. (se d:Module talk:Cycling race#The module needs optimizations). --Kartebolle (Dipsacus fullonum) (diskussion) 1. jul 2018, 10:53 (CEST)
- @Weblars: Jeg har nu kigget på Modul:External links som vi snakkede om herover. Der var meget at hente. En lille simpel ændring (Special:Diff/9647818) fik artiklen Usain Bolt til at gå fra timeout efter 10 sekunder til at laves på lidt et halvt sekund. --Kartebolle (Dipsacus fullonum) (diskussion) 25. aug 2018, 22:56 (CEST)
- Det var godt og ret utroligt, at der ikke skulle mere til. Jeg kan se, at du har nævnt løsningen på norsk wiki. Så må vi se om nogen opdager det, for jeg tror at de er lige så få mennesker som her på dansk wiki.--Weblars (diskussion) 26. aug 2018, 11:50 (CEST)
- @Weblars: Jeg har nu kigget på Modul:External links som vi snakkede om herover. Der var meget at hente. En lille simpel ændring (Special:Diff/9647818) fik artiklen Usain Bolt til at gå fra timeout efter 10 sekunder til at laves på lidt et halvt sekund. --Kartebolle (Dipsacus fullonum) (diskussion) 25. aug 2018, 22:56 (CEST)
- Tak. Jeg har også kigget (foreløbig kun overfladisk) på Modul:External links, og jeg tror at det kan optimeres på samme måde. Men virkningen vil ikke være så markant som her. Men mit næste modul-optimeringsprojekt vil blive Modul:Cycling race. Vi har adskillige sider som bruger det, som fejler, fordi de tilladte resurser bruges op. Jeg har foreløbig annonceret mine planer på Wikidata hvor modulet udvikles. (se d:Module talk:Cycling race#The module needs optimizations). --Kartebolle (Dipsacus fullonum) (diskussion) 1. jul 2018, 10:53 (CEST)
- Ja, 20 gange færre resurser er meget. Jeg havde tidligere prøvet at løse problemet, men troede det var i Modul:External links fordi fejlen viste sig der. Jeg går nu ud fra at det var fordi hukommelsen først slap op, når {{Filmlinks}} i (fx Avengers: Infinity War) skulle vises. Godt at du kunne løse det!--Weblars (diskussion) 1. jul 2018, 10:25 (CEST)
Opdatering
[rediger kildetekst]Jeg har forskellige opdateringsplaner:
- Fjerne mærkeligt komma før teksten "med flere" hvis der er flere resultater i {{Wikidata-emne}} end ønsket.
- Flytte al konfiguration til undermodulet Modul:Brug Wikidata/data. (Siden er oprettet, men har endnu aldrig været brugt). Når undermodulet indlæses med funktionen mw.loadData, vil det blive i hukommelsen mellem forskellige kald af Modul:Brug Wikidata på samme side, så der er ikke skal bruges tid på at oprette konstante tabeller hver gang modulet bruges på en side.
- Fjerne al brug af globale variable, og tjekke det med Modul:No globals (sætter en metatable på _G som forbyder skrivning og læsning). Det regnes for god stil da det finder fejlskrevne variabelnavne med det samme og undgår sammenblanding af variable fra forskellige moduler. Desuden er det også betydeligt hurtigere at tilgå lokale variable.
- Opdatere læsning af referencer, så flere typer understøttes (bøger, tidsskrifter etc.)
- Fjerne brug af "Importeret fra xx Wikipedia" fra referencer. Wikipedia kan ikke bruges som kilde.
- Implementere visning af stednavne som diskuteret på Wikipedia:Landsbybrønden/Stednavne fra Wikidata
- Tilgå Wikidata-entiteter direkte uden at indlæse dem først. Det sparer rigtig meget udførelsestid og hukommelse. (Se #Modulet bruger for meget hukommelse herover).
- Hentning af geografiske koordinater.
- Tjek/udbyg visning af tid med hensyn til præcision og kvalifikatorerne tidligste dato (P1319) og seneste dato (P1326).
De 3 første punkter er allerede implementeret i min sandkasse på Modul:Sandkasse/Dipsacus fullonum/Modul:Brug Wikidata. Jeg har lavet testcases i Modul:Brug Wikidata/testcases som sammenligner resultaterne fra det nuværende modul med resultaterne fra sandkasse-modulet for så vidt muligt at undgå regressioner. Der er sikkert mange ting der mangler testcases for, så alle er selvfølgelig velkomne til at tilføje flere. Resultaterne af testcasene er på Moduldiskussion:Brug Wikidata/testcases.
Jeg vil afvente kommentarer og forslag her før jeg begynder at implementere ændringerne. --Kartebolle (Dipsacus fullonum) (diskussion) 20. aug 2018, 15:45 (CEST)
- Jeg synes, at det lyder superfint! Specielt punkt 5 irriterer mig rigtig meget. Kan du uddybe punkt 4 lidt? Jeg kan ikke huske, at jeg har set egentlige referencer trukket fra WD, men det er måske bare tilfældigt. Men uanset hvad, så god arbejdslyst herfra. —Arne (Amjaabc) (diskussion) 20. aug 2018, 17:52 (CEST)
- De eneste referencer fra Wikidata som hentes nu er nøgne links til hjemmesider og "importeret fra (sprog) Wikipedia." Mit mål er at kunne hente alle former for kildeangivelse på Wikidata. --Kartebolle (Dipsacus fullonum) (diskussion) 20. aug 2018, 18:53 (CEST)
- I Kategori:Wikidata-reference bruger ikke-genkendt egenskab kan man finde sider, hvor ikke alle referencer vises. F.eks. er der i øjeblikket ingen kilder angivet for befolkningstallet i Boulogne, men hvis man kigger på referencen på wikidata så findes en reference af typen "anført i". Det ville være godt at få den tilføjet i modulet. Jeg støtter også de andre punkter.--Weblars (diskussion) 23. aug 2018, 10:12 (CEST)
- De eneste referencer fra Wikidata som hentes nu er nøgne links til hjemmesider og "importeret fra (sprog) Wikipedia." Mit mål er at kunne hente alle former for kildeangivelse på Wikidata. --Kartebolle (Dipsacus fullonum) (diskussion) 20. aug 2018, 18:53 (CEST)
Jeg har nu gennemført første fase i opdateringen som omfatter:
- Kommaet foran teksten "med flere" er fjernet. Teksten kan nu som noget nyt også fjernes med parameteren "mere_end_maks=" med en tom værdi.
- Modul:Brug Wikidata/data bruges nu til konfiguration og indlæses kun én gang pr. side uanset antal kald af modulet.
- Globale variable er fjernet, og Modul:No globals bruges. Det bedre fejltjek fandt et par småfejl. De betød ikke noget for funktionen, men gjorde at noget kode blev udført uden at det var nødvendigt.
- Der er en ny parameter "sted=ja" til Wikidata-emne, som vil vise stednavne som ønsket af hovedparten af deltagere i Wikipedia:Landsbybrønden/Stednavne fra Wikidata.
- Der indlæses mange færre Wikidata-entiteter end før, men der indlæses dog stadig entiteter i nogle tilfælde.
- Der er en ny skabelon Skabelon:Wikidata-matematik, som kan hente værdier fra Wikidata af typen "matematisk udtryk", f.eks. formel (P2534). Samtidig kan de øvrige skabeloner nu også vise matematiske udtryk fra kvalifikatorværdier.
- Fejlrettelse: Hvis en kvalifikator med datatypen monolingual tekst ikke havde et ønsket sprog, ville der før komme en tom parentes. Nu bruges kvalifikatorformatuden-parameteren.
- Fejlrettelse: Der var en fejl i et datatypetjek for kvalifikatorer som havde betydning hvornår wikiformatering af strenge blev tilladt.
- Der er sket nogle omstruktureringer af koden med samling af nogle tilfælde af gentaget kode i funktioner.
- Modulets køretid er nu omkring en tredjedel af før, og hukommelsesforbruget omkring halvdelen af før.
De største udestående ting nu er geografiske koordinater og referencer, som jeg vil arbejde videre med. --Kartebolle (Dipsacus fullonum) (diskussion) 24. aug 2018, 12:55 (CEST)
- Nu mangler kun nogle få af de oprindelige punkter. Jeg synes at sted-parameteren er tiltrængt i mange infobokse. God fornøjelse med tilføjelse af de ekstra referencer fra wikidata. Jeg har prøvet tidligere, men det virkede meget uoverskueligt på mig.--Weblars (diskussion) 26. aug 2018, 12:01 (CEST)
Nuværende, tidligere, fremtidige, seneste værdier?
[rediger kildetekst]en:Template:Wikidata understøtter, via en:Modul:Wd, flagene "current", "future" og "former", der tager udgangspunkt i start- og sluttidspunkt. Ville det mon være muligt at implementere noget lignende - evt ved at kopiere relevante dele af deres kode? Evt kombineret med en "seneste" baseret på "tidspunkt" (men det er måske lidt mere kompliceret). Hvis det kunne kombineres med en sortering efter start- eller sluttidspunkt, ville det give nogle lækre muligheder. Nis Jørgensen (diskussion) 28. jul 2019, 09:35 (CEST)
- Det skulle være muligt, men i praksis er fremtidige datoer mig bekendt sjældent angivet, så brug af "fremtidig" vil være usikker. (Desuden kendes sidevisningsdatoen ikke, idet sideteksten genereres på redigeringstidspunktet, så status vil ikke ændres medmindre noget redigeres). Sortering er også mulig. Kan du give eksempler på hvor disse ting vil være nyttige. --Kartebolle (Dipsacus fullonum) (diskussion) 28. jul 2019, 10:11 (CEST)
- PS. Hvis der skal implementeres sortering, hvilke andre sorteringsnøgler end start- og sluttidspunkt kunne være brugbare? --Kartebolle (Dipsacus fullonum) (diskussion) 28. jul 2019, 10:27 (CEST)
- Jeg vil ikke udføre ændringer før jeg har set overbevisende eksempler på hvor de kan gøre artikler bedre. --Kartebolle (Dipsacus fullonum) (diskussion) 6. aug 2019, 21:56 (CEST)
Emne-kæde (q=pxxx)
[rediger kildetekst]Kunne det være hensigtsmæssigt at tillade emnekæder for q-parametren?
Jeg forestiller mig, at kæden tager udgangspunkt i den aktuelle side eller et udpeget emne (fx q5097017 - Forsvarschef (Danmark)).
Kæden kan så angive, hvilket emne der skal springes til via udsagn (fx p1308 - stillingsindehaver, som pt. er q5576850 Bjørn I Bisserup). Hvis der er flere værdier, vælges kun den bedste.
Det ville gøre det muligt på siden om Forsvaret at trække Forsvarschefens grad (admiral eller general) via den aktuelle indehaver af embedet.
-- Poul G disk. 24. sep 2019, 10:23 (CEST)
- Og Forsvarschefen kunne således udpeges som
{{Wikidata-emne|p410|q=q5097017.p1308}} {{Wikidata-emne|p1308|q=q5097017}}
, hvilket aktuelt skulle give General Bjørn Bisserup. -- Poul G disk. 26. sep 2019, 08:03 (CEST)
Fejlmelding hvis Wikidata-egenskab ikke findes
[rediger kildetekst]Steen Th og jeg diskuterer hvordan modulet bør reagere hvis man forsøger at bruge en Wikidata-egenskab som ikke findes i Skabelondiskussion:Infoboks museum#Fra P969 til P6375. Da dette har vidtgående konsekvenser, vil jeg nævne det her hvor det vil være mere passende at fortsætte diskussionen. --Kartebolle (Dipsacus fullonum) (diskussion) 11. jan 2021, 02:04 (CET)
- Det er et på til Skabelondiskussion:Infoboks museum
- Jeg har tjekket det - det ser ud ok. Men det kræver at nogle kigger i Kategori:Sider med skriptfejl, hvis. Pt. er der mange fejl pga. brug af {{Parameter names example}}. Så det kan godt skjule, hvor der er problemer. --Steen Th (diskussion) 14. jan 2021, 12:28 (CET)
- Jeg kigger regelmæssigt i Kategori:Sider med skriptfejl og reagerer normalt når sider i artikelnavnerummet har fejl (der er ingen i øjeblikket). Problemet med brug af en sporingskategori er at når en Wikidata-skabelon bruges i en infoboks, vil infoboks-skabelonen se en ikke-tom tekst og lave en ekstra linje i infoboksen hvor data-feltet kun indeholder koden for sporingskategorien. En anden mulighed er at alligevel bruge en sporingskategori og sammen med den returnere en fejltekst med navnet på den ikke-eksisterende brugte Wikidata-egenskab som så vil blive placeret i infoboksen. --Kartebolle (Dipsacus fullonum) (diskussion) 14. jan 2021, 13:01 (CET)
Nyt parameter ikkealder
[rediger kildetekst]På {{Wikidata-tid}} er der et behov at kunne undertrykke visning af alder med fødselsdato (P569), når dødsdato (P570) findes. Der er mange infobokse, som ikke viser alder på nulevende personer, pga. alder altid vises. Det ikke noget problem for døde personer. Der findes den alder hvor personen døde. --Steen Th (diskussion) 14. jan 2021, 12:31 (CET)
- Diskussion er også på Skabelondiskussion:Wikidata-tid#Alder på nulevende og link dato/års-artikler. Det er også fixet... --Steen Th (diskussion) 12. okt 2021, 17:20 (CEST)
Sortering
[rediger kildetekst]Ved flere værdier kunne der være behov for at sortere. Det gælder især, hvis der er mange (for embeder er der lavet en løsning, som slår fortløbende perioder sammen).
Det kunne eksempelvis angives således:
|sort=P1545
for sortering i den orden, som er angivet i WikiDatas ordningsnummer. Ved nummeriske egenskaber og tider sorteres stigende. Ved tekster sorteres alfabetisk. Såfremt egenskaben peger på andre emner benyttes dettes titel som tekst.
Såfremt der blot sorteres efter den viste værdi, angives
|sort=værdi
Der er mulighed for at udbygge med sortering efter flere kriterier - fx angives som liste adskilt med mellemrum. Samt at sortere omvendt - det kunne fx angives med et efterstillet minus (-).
Hvis der ikke tilvælges sortering, præsenteres værdierne blot som nu (vistnok i samme orden, som de vises i på WikiData).
-- Poul G disk. 27. maj 2021, 09:38 (CEST)
- @Poul G: Jo, det kan måske være nyttigt. Men sortering efter vigtighed vil nok oftest være bedre, og kan kun gøres manuelt – eller måske i nogle tilfælde ved at lave tabeller med udvalgte emners vigtighed. Kan du give eksempler på hvor
|sort=
med fordel kan bruges? --Kartebolle (Dipsacus fullonum) (diskussion) 11. okt 2021, 10:48 (CEST)
- Det kunner fx være listeartikler, hvor listeindholdet lige så godt kunne hentes fra wikidata - og dermed vedligeholdes for alle wiki'er på én gang. Eller skabelon:infoboks person, hvor børn kunne hentes fra wikidata og vises i aldersorden. -- Poul G disk. 13. okt 2021, 11:37 (CEST)
- Jeg forstod
|sort=P1545
som at kvalifikator-værdier med ordningsnummer (P1545) skulle bruges (eksempel på mulig brug mangler). For alder på børn skal man i stedet over i emnet for hvert barn hvilket er mere omfattende og kræver en anden måde at angive det på. I betragtning af hvor sjældent vi nævner børnene, er det næppe noget som er vigtigt at gøre automatisk i stedet for manuelt at redigere infoboksen. Så jeg er ikke overbevist om nytten af sortering. --Kartebolle (Dipsacus fullonum) (diskussion) 16. okt 2021, 10:46 (CEST)- ... hvad så med ordning af værdier fra består af (P527) jf. min sandkasse? -- Poul G disk. 17. okt 2021, 19:00 (CEST)
- Jeg forstod
- Det kunner fx være listeartikler, hvor listeindholdet lige så godt kunne hentes fra wikidata - og dermed vedligeholdes for alle wiki'er på én gang. Eller skabelon:infoboks person, hvor børn kunne hentes fra wikidata og vises i aldersorden. -- Poul G disk. 13. okt 2021, 11:37 (CEST)
Behov for forskellige kvalifikatorformatstrenge afhængigt af den forrige søgte kvalifikator er fundet
[rediger kildetekst]Mange personinfobokse henter både billedtekst (P2096) og tidspunkt (P585) som billedtekster og adskiller dem med et linjeskift. Problemet er at det ser forfærdeligt ud (efter min opfattelse) hvis der ingen værdi er for P2096, men der et tidspunkt, idet linjeskiftet så vil give en tom linje hvilket forekommer relativt tit. Se infoboksen i artiklen Sanna Marin for et eksempel. Efter at have tænkt over mulige løsninger i et stykke tid, er jeg kommet frem til at man kan tilføje parametrene:
- kvalifikatorformat2u, kvalifikatorformat3u, kvalifikatorformat4u osv.
- kvalifikatorformatuden2u, kvalifikatorformatuden3u, kvalifikatorformatuden4 osv.
Disse skal være formatstrenge som bruges (hvis defineret) i stedet for de tilsvarende parametre som ikke ender på "u" hvis den foregående søgte kvalifikator ikke blev fundet. Det vil konkret gøre det muligt at gøre linjeskiftet før P585-værdien afhængig af om der er en værdi P2096, og det vil ikke være særligt indgribende at implementere.
Jeg hører gerne om andre har bedre ideer til hvordan dette løses (hvis I andre også omfatter det som et problem), og om der er indvendinger mod at jeg laver ændringen som foreslået herover. Kartebolle (Dipsacus fullonum) (diskussion) 4. nov. 2021, 19:54 (CET)
- En anden mulig løsning som meget mere fleksibel, men som kræver brug af flere parametre i hvert skabelonkald, er at have parametrene:
|kvalifikatorformatn[-m]=
og|kvalifikatorformatudenn[-m]=
hvor n og m er tal
- Her svarer værdien n til den hidtidige nummerering af kvalifikatorparametrene. m vil angive hvilket værdi af n som skal bruges efterfølgende med n+1 som defaultværdi. Løsningen på den tomme linje i infoboks-billedtekster vil så være:
{{Wikidata-streng | P18 | q = {{{q|}}} | maks = 1 | wikidata = alle | ingen_wikidata = {{{ingen_wikidata|}}} | feltnavn = billede | kvalifikator1 = P2096 | kvalifikatorformat1 = [[Fil:$1|250px|$2]]{{Nyt felt}}caption=$2 | kvalifikatorformatuden1-4 = [[Fil:$1|250px]]{{Nyt felt}}caption= | kvalifikator2 = P585 | kvalifikatorformat2 = $1<br /><small>($2)</small> | kvalifikator4 = P585 | kvalifikatorformat4 = $1<small>($2)</small> }}
- Bemærk at hvis der er en P2096-værdi fortsættes med
|kvalifikator2=P585
, og den tilhørendekvalifikatorformat2
-formatstreng indsætter linjeskiftet. Men hvis der ingen værdi findes for P2096 fortsættes med|kvalifikator4=P585
hvor formatstrengen ikke har linjeskiftet. Bemærk også at|kvalifikator3=
ikke er defineret så der stoppes efter brug afkvalifikator2
. - Med den model vil det for eksempel også være muligt at søge efter alternative kvalifikatorværdier for tilfælde hvor flere forskellige kvalifikatorer kan bruges for (mere eller mindre) det samme. Efter at have prøvet forskellige P-værdier, kan man så fra flere forskellige steder springe til det samme sted for fortsættelse med en anden type kvalifikator.
- Er denne mere flesksible - men måske sværere at bruge(?) - model at foretrække? --Kartebolle (Dipsacus fullonum) (diskussion) 4. nov. 2021, 21:01 (CET)
brugskabelon
[rediger kildetekst]@Steenth: Jeg har i min sandkasse Modul:Sandkasse/Dipsacus fullonum/Modul:Brug Wikidata laver et udkast til en ny version af modulet. Den tilføjer en ny parameter brugskabelon
til skabelonen {{Wikidata-streng}}. Parameteren vil få følgende beskrivelse:
- brugskabelon: Kalder den angivne skabelon med de fundne strenge som første og eneste parameter. Der laves et skabelonkald for hver fundet streng. Strengene vil ikke blive præprocesserede før kaldet af skabelonen (dvs. hvis strengen indeholder f.eks. | eller {{ ... }}, vil disse tegn ikke have noget særlig betydning.
Formålet er et behov for at kunne kalde {{ISSN}} i {{Infoboks avis}}, men andre anvendelser er også en mulighed. Der er ingen special fejlhåndtering. Hvis man angiver en skabelon som ikke eksisterer, kommer der en sciptfejl: Lua-fejl: expandTemplate: template "ISSNA" does not exist.
Er der nogen indvendinger eller ændringsforslag? --Kartebolle (Dipsacus fullonum) (diskussion) 9. mar. 2023, 13:37 (CET)
- Jeg har ikke indvendinger. Men jeg er også den, som har set, at Skabelon:ISSN har et problem. Steen Th (diskussion) 13. mar. 2023, 15:28 (CET)
- Gjort Modul og dokumentation er opdateret. --Kartebolle (Dipsacus fullonum) (diskussion) 13. mar. 2023, 17:07 (CET)
Fejlrettelse for bueminutter/buesekunder = 60 i koordinater
[rediger kildetekst]Grundet afrundinger kan værdien for bueminutter eller buesekunder i geografiske koordinater nogle gange blive 60, hvilket udløser en fejlmelding i Modul:Coordinates. For eksempel i
{{Wikidata-emne | P159 | q = Q367105 | kvalifikator1 = P625 | format=dms}}
som giver
Trondheim (63°21′0″N 10°21′34″Ø / 63.35000°N 10.35944°Ø)
Jeg har en fejlrettelse parat i sandkassen som jeg vil anvende i morgen. Kartebolle (Dipsacus fullonum) (diskussion) 29. apr. 2024, 23:38 (CEST)