Diskuse k modulu:Wikidata
Přidat téma
Filtrovat zobrazené hodnoty podle vlastností v nich?
[editovat zdroj]Šablona:Části české obce (za kterou se stydím, zasloužila by si asi vlastní modul) zobrazuje nižší správní celky (P150) pomocí tohoto callu: {{#invoke:Wikidata|formatStatements|property=P150|id={{{1|<noinclude>Q1085</noinclude>}}}|sort=alpha|separator=</li><li>|conjunction=</li><li>|showqualifier=time|addclass=false}}</li> }}. Je možné dodatečně zobrazené hodnoty filtrovat a zobrazit jen ty, které např. mají vyplněnou vlastnost kód části obce podle RÚIAN (P2788)? @Matěj Suchánek: jestli to někdo bude vědět, tak ty :-). --Vojtěch Dostál (diskuse) 10. 1. 2023, 11:25 (CET)
- Zatím není, ale můžeme to doimplementovat. Bude nutné vyjasnit vztah ke specialitám typu „žádná hodnota“, „neznámá hodnota“, případně nějaká parametrizace. --Matěj Suchánek (diskuse) 10. 1. 2023, 19:06 (CET)
- @Matěj Suchánek Omlouvám se za pozdní odpověď. Kdyby sis na to někdy udělal čas, bylo by to super. Neznámé a žádné hodnoty bude určitě potřeba nějak ošetřit. Při té příležitosti by bylo super rovnou implementovat i filtry na konkrétní hodnoty vlastností (čili nikoliv jen parametr "hasproperty", ale i "haspropertyvalue"). --Vojtěch Dostál (diskuse) 18. 2. 2023, 16:46 (CET)
- Otázka jsou také ranky. Mně osobně připadá nejpraktičtější jako výchozí "bestrank". Je otázka zda by někdo potřeboval i možnost "všechny truth statementy" a ještě větší otázka je, jakými parametry by se to definovalo. --Vojtěch Dostál (diskuse) 18. 2. 2023, 16:48 (CET)
- Jako
hasproperty=
ahaspropertyvalue=
. --Matěj Suchánek (diskuse) 18. 2. 2023, 18:25 (CET)- @Matěj Suchánek Moc děkuji! --Vojtěch Dostál (diskuse) 27. 2. 2023, 21:04 (CET)
- Jako
Přebírání z Wikidat si neví rady s trans ženami
[editovat zdroj]Tápu, kde se co jak musí upravit, aby se v infoboxu vypsala slova u profesí v ženském rodě u osob, které mají pohlaví (P21) vyplněno jako trans žena (Q1052281) (příklad). Vím o Šablona:Pohlaví z WD, která zná jen muž (Q6581097) a žena (Q6581072) a která zároveň plní skrytou kategorii Osoby nejistého pohlaví na Wikidatech osobami se známou identitou, ale nevím, jestli stačí opravit tu (a jak), nebo jsou to dva různé problémy a je potřeba upravit i modul nebo něco dalšího. --TFerenczy (diskuse) 26. 1. 2023, 13:00 (CET)
- @TFerenczy: Jsou to dvě různé věci. Přechylování profesí dělá modul tady: Modul:Wikidata/Formatters/wikibase-entityid#L-66.
{{Pohlaví z WD}}
je zodpovědné za přechylování popisků, např.{{Pohlaví z WD|Znám|Známá|Znám(á)}} jako
v infoboxu osoba, nebo za onu kategorii.- Není problém obojí změnit, předpokládám, že tak, aby se u transžen používal ženský rod a nepřidávala kategorie? --Matěj Suchánek (diskuse) 29. 1. 2023, 11:59 (CET)
- @Matěj Suchánek Díky za dopátrání! Ano, změnit přesně jak říkáš. --TFerenczy (diskuse) 29. 1. 2023, 12:52 (CET)
- Hotovo. --Matěj Suchánek (diskuse) 29. 1. 2023, 13:08 (CET)
- @Matěj Suchánek Díky za dopátrání! Ano, změnit přesně jak říkáš. --TFerenczy (diskuse) 29. 1. 2023, 12:52 (CET)
Rozsekání více hodnot
[editovat zdroj]@Matěj Suchánek: Na Wikizdrojích bývala hodně historická verze modulu. Používali jsme tam například kategorizaci na základě povolání pomocí {{#invoke:Wikidata|formatStatements|property=P106|wrap=[[Kategorie:Autoři:Podle povolání/$1]]|separator=|conjunction=}}
, takže se k osobě přiřadily například kategorie básník a pedagog. Po aktualizaci modulu ale dostanu jediný řetězec básník a pedagog a kategorie (nově zadaná pomocí pattern=
) se nevytvoří. Jde s tímto modulem docílit požadované, nebo je třeba výsledek rozsekat nějak jinak (třeba pomocí Modul:String)? --JAnD (diskuse) 24. 7. 2023, 08:00 (CEST)
- Pattern z určitých důvodů funguje pouze pro data, která mají povahu řetězce. Buď nějak rozsekat, nebo přepsat do Lua na způsob:
local Wikidata = require 'Modul:Wikidata' local lib = require 'Modul:Wikidata/lib' local out = {} for _, value in ipairs(Wikidata.getRawValues{ property = property }) do local label = mw.wikibase.getLabel(value) if label then table.insert(out, lib.formatFromPattern(label, pattern)) end end return table.concat(out, '')
- nebo pomocí nějakého vlastního formátovače. --Matěj Suchánek (diskuse) 24. 7. 2023, 09:24 (CEST)
- @Matěj Suchánek Díky, chápu, že to tedy nejde, ale ani jedno tebou navržené řešení mi kvůli mojí neznalosti lua nefunguje:
- s:Modul:Wikidata/Formatters/category - {{#invoke:Wikidata|formatStatements|property=P31|value-formatter=category}} - nerozseká, navíc potřebuju různé prefixy
- s:Modul:Test {{#invoke:Test|property=P31}} - dostávám chybovou hlášku.
- Mohl bys tomu, prosím, věnovat chvíli času? s:Diskuse k šabloně:Monitoring Wikidata --JAnD (diskuse) 24. 7. 2023, 11:42 (CEST)
- Dokončil jsem svoji myšlenku tady: s:Speciální:Trvalý odkaz/290500. U formátovače je problém, že modul stále bude cpát čárky mezi kategorie. To se dá obejít třeba CSS hackem. Ale formátovač bych zatím nechal být.
- A také pozor na zápis
pattern={{Kategorie|Wikidata:P31 $1}}
. Ten se totiž rozbaluje ve chvíli, kdy modul tento parametr čte. Tedy modul uvidí už rozbalený wikitext. (A naopak parser sám o sobě nerozbalípattern={{Kategorie|...}}
, pokud je vrácený z modulu, rozbalení musí zajistit modul, jinak se text chová, jako by byl obalený <nowiki>.) --Matěj Suchánek (diskuse) 24. 7. 2023, 12:49 (CEST)
- @Matěj Suchánek Díky, chápu, že to tedy nejde, ale ani jedno tebou navržené řešení mi kvůli mojí neznalosti lua nefunguje: