Moduldiskussion:Wikidata2

message: Skulle det vara möjligt att skapa ett kommando som ger antalet värden för ett visst anrop, ungefär som SQL COUNT? Alltså om det finns 20 skådespelare i ett Wikidataobjekt och man anger  så blir resultatet "20" och inte en lista över skådespelare. Det skulle vara användbart i mallar, exempelvis om man vill hindra att värden hämtas om de överskrider ett visst antal eller om man vill ha olika formatering beroende på antalet värden. Väsk ✎ 25 januari 2016 kl. 15.35 (CET)
replies: text: Jag har kompletterat funktionen formatStatements med en parameter, numberofclaims, som om den ges ett värde gör att funktionen returnerar antalet värden i listan i stället för listan själv.

text: ;Några exempel

text: Frågeställning                	Kod                                                                                            	Resultat
Antal län i Sverige           	   	
Antal barn till Gustav Vasa   	 	
Antal skådespelare i Gudfadern	

text: --Larske (diskussion) 26 juni 2016 kl. 15.21 (CEST)
replies: text: :Antal P131-påståenden i Stockholm (tätort) 

text: :Varav har "best ranking" 

text: :Lysande! -- Innocent bystander 26 juni 2016 kl. 15.33 (CEST)
thread_title: Antal värden

message: Jag är lite förbryllad över varför det finns två så snarlika moduler, Wikidata och Wikidata2, på svwp. Vid skapandet av Wikidata2 finns en redigeringskommentar, per WP:WF, men det är lite svårt att hitta fram till rätt ställe i arkivet där svaret på min fråga möjligen finns.
Finns det någon "plan" för att dessa två moduler ska "gå ihop" eller kommer de även på sikt att finnas parallellt?  --Larske (diskussion) 22 juli 2016 kl. 13.31 (CEST)
replies: text: Jag inbillade mig en gång i tiden att Modul:Wikidata skulle bli en modul som är mer eller mindre homogen över hela Wikigemenskapen. Det hade underlättat importer av mall/modul-lösningar mellan projekten. Därför ville jag inte "förstöra" något genom att lägga in egna funktioner i den modulen. Så Wikidata2 blev till i väntan på att vi skulle få mer hjälp utifrån. Det hände aldrig och därför har vi minst två moduler idag. Jag hade kanske hellre sett att någon med mer professionell erfarenhet av programmering hade tagit ledningen här. Som ren amatör har jag en stor förkärlek till kaloririka lösningar.  -- Innocent bystander 22 juli 2016 kl. 13.46 (CEST)
replies: text: : Se meta:Grants:Project/Putnik/Wikidata module. -- Innocent bystander 3 augusti 2016 kl. 09.56 (CEST)
replies: text: ::Något sådant vore bra för att inte behöva uppfinna (och underhålla) hjulet/modulen för alla språkutgåvor. Ska bli spännande att se om projektet blir sponsrat. Dagliga progressrapporter låter väldigt ambitiöst. --Larske (diskussion) 3 augusti 2016 kl. 13.23 (CEST)
replies: text: :::Ryska och franska modulutvecklarna är väl de mest händiga. Att de ryska står bakom den här är därför lovvärt! -- Innocent bystander 3 augusti 2016 kl. 13.36 (CEST)
thread_title:  Wikidata2 vs Wikidata 

message: Är det möjligt att ge fler parametrar till geohack än bara "typen", till exempel "region" och "name"? Det smidigaste vore förstås om "region" sattes automatiskt baserat på objektets :d:Property:P17, men det blir kanske svårt? /ℇsquilo 7 augusti 2017 kl. 19.08 (CEST)
replies: text: Parametern pagenamn kan användas och den översätts till title (som är samma som name) i anropet till geohack.

text: Exempel:

text: Region är modulen ännu ej förberedd för men det borde gå att använda värdet på en parameter region eller, om den inte är angiven, värdet på  :d:Property:P297 (ISO 3166-1 alpha-2) för objektets :d:Property:P17 (land).

text: --Larske (diskussion) 7 augusti 2017 kl. 19.39 (CEST)
replies: text: :Det är det enklaste, är man ambitiös kan man försöka klättra i P131-hierarkin och leta P300 istället. Finns inte P131, så finns kanske P276 och därefter klättra i P131. P17 kommer därefter. Med tanke på att många "länder" som Grönland inte används (fullt ut) i P17 så är det nog att föredra. -- Innocent bystander (diskussion) 7 augusti 2017 kl. 20.33 (CEST)

text: Det här:

text: är en början. Det tillåter att man lägger in region som parameter i anropet till modulen. -- Innocent bystander (diskussion) 7 augusti 2017 kl. 21.03 (CEST)
replies: text: :

text: :

text: :

text: :

text: :
replies: text: :: Så! Nu tror jag att jag att sandlådeversionen av den här modulen har fixats så att region fixas automagiskt, överallt där det är möjligt. I New York blir det region:US-NY i Landsort SE-AB, i Långe Jan SE:H och PL i en församling i Polen som saknar både P131 och P279, men har P17. Antarktis är hårdkodat för de fall där longituden är söder om 65 grader S och ingen landstillhörighet eller annat är angivet. -- Innocent bystander (diskussion) 8 augusti 2017 kl. 10.12 (CEST)
replies: text: :::Latitud söder om 65 grader S kanske du menar (och använder i koden)? --MagnusA 8 augusti 2017 kl. 10.16 (CEST)
replies: text: ::::Snyggt! Och ja MagnusA, det ska vara latituden och även SE-H (inte SE:H). --Larske (diskussion) 8 augusti 2017 kl. 10.22 (CEST)
replies: text: :::::latitud, longitud, jag minns aldrig vilket som är var. Jag får tänka efter med våg och lodrätt också. Frugan har sedan samma problem med höger/vänster, så det kanske är något med vattnet här i Norrland. Men jag tror det blev rätt ändå. ISO-koderna hämtas med undantag för Antarktis från Wikidatas properties i vilket fall. Så är det ett kolon där det ska vara ett bindestreck, så är det fel på WD. -- Innocent bystander (diskussion) 8 augusti 2017 kl. 13.13 (CEST)

text: Efter lite funderande kom jag fram till att den här lösningen inte var tillräcklig för att sätta region på "gravort", som i Gustaf Hultquist eller J.R.R. Tolkien. Senaste hacket i sandlådan ska dock ha löst detta. 
*Gustaf Hultquist: 
*J.R.R. Tolkien: 

text: -- Innocent bystander (diskussion) 10 augusti 2017 kl. 08.17 (CEST)
thread_title:  geohack 

message: Funkar din senaste ändring? Det ser ut som den förlitar sig på funktioner som inte finns i sidan. Dessutom verkar den innehålla kod anpassad för flerspråkiga wikis. 
Berätta vad du vill åstadkomma, så ska vi se om vi kan få fram det! -- Innocent bystander (diskussion) 10 augusti 2017 kl. 21.19 (CEST)
replies: text: Jag ville få  att fungera och nu tror jag att jag har löst mitt . ♥Ainali diskussionbidrag 11 augusti 2017 kl. 02.41 (CEST)
replies: text: :Ja, men koden  i  funkar nog inte här som den gör på meta. Å andra sidan gör den nog heller ingen direkt skada. -- Innocent bystander (diskussion) 11 augusti 2017 kl. 07.30 (CEST)
thread_title:  getLabel 

message: Jag har kompletterat modulen med rubricerade funktion som returnerar det "Q-id" som Wikidataobjektet kopplat till den aktuella sidan har. Funktionen används i mallen  för att skapa en "Redigera Wikidata"-länk längst ner i infoboxen. Vet inte om det finns någon "magiskt ord" som gör samma sak eller om man kan hämta "Q-id" som en "property", men i så fall kan funktionen tas bort. --Larske (diskussion) 25 januari 2018 kl. 21.20 (CET)
thread_title:  getEntityIdForCurrentPage 

message: Känner att jag inte är så hemma i den här koden längre. 
Vore det möjligt att få fram värdet av P102 (tillhör politiskt parti) när det ligger som qualifier till exempel P6 (regeringschef)?
Och om det finns en P1813 (kort namn) så vill jag gärna ha det som label. Så i fallet P6 i Nord-Trøndelag skulle jag vilja ha ut H i en egen parameter som jag kan stoppa in i parameter leader_party i Geoboxen! (Om jag anropar med "raw='true'" från en modul.) 62 osv (diskussion) 14 november 2019 kl. 19.04 (CET)
replies: text: kortnamn ser ut att kunna hjälpa till. 62 osv (diskussion) 14 november 2019 kl. 20.16 (CET)
replies: text: : Min spontana känsla var att  är väl något som man klistrar på en  på huvudnivån och inte som qualifier, men jag kände kanske fel, samma person kanske ska kunna tillhöra olika partier i olika befattningar :/. Det finns mer än tusen sådana konstruktioner (med P102 som qualifier för P6) i Wikidata, flest i , se detta Bubble chart med fördelning per land.

text: :Jag tror inte att vi har någon funktion i den här modulen för att direkt läsa ut det du frågar efter.

text: :Nedan finns en Lua funktion som returnerar en tabell med Q-id för värdet eller värdena på en valfri qualifier (till exempel ) för det värde på en valfri property (till exempel ) som har högst rang. Om inget värde finns eller alla värden är "deprecated" returneras en tom tabell. Om flera värden har högst rang används värdet för det första/äldsta uttalandet. När du väl har dessa Q-id kan du ju plocka fram  eller andra egenskaper för dessa objekt på vanligt sätt med formatStatements(fromLua).
-- get a table with the Q-id for all qualfiers qual for the highest ranked property prop in entity with id entityId
	function propqualid(entityId,prop,qual) 
		function better_rank(rank1,rank2)
   			return rank1 == 'preferred' and rank2 ~= 'preferred' or rank1 == 'normal' and rank2 == 'deprecated'
		end
        entity = mw.wikibase.getEntityObject(entityId)
		local theparties = {}
		local claims=entity.claims
		if claims ~= nil and claims[prop] ~= nil then
        	local bestrank = 'deprecated'
        	local ifound=0
       		local propclaims = claims[prop]
			for i in ipairs(propclaims) do
				if  better_rank(propclaims[i].rank,bestrank) then
					ifound = i
					bestrank = propclaims[i].rank
				end					
			end
  				if ifound ~= 0 and propclaims[ifound].qualifiers ~= nil and propclaims[ifound].qualifiers[qual] ~= nil then
				for j in ipairs(propclaims[ifound].qualifiers[qual]) do
					table.insert(theparties,propclaims[ifound].qualifiers[qual][j].datavalue.value.id)
				end
			end		
		end
		return theparties
	end

text: :--Larske (diskussion) 14 november 2019 kl. 21.58 (CET)
replies: text: ::Man kan som du säger vara invald för ett parti man inte är medlem av. Idag gäller det ofta i länder där man väljs in under valsamarbeten. Det är väldigt vanligt. I många länder väljs man också som person, inte som en del av ett parti. (Amerikanska lokalval som exempel.)

text: ::Det är också så att det krävs bra källor för att lägga in politiskt parti på en person. Det är lättare att ange vad någon väljs in under.

text: ::För personer som bytt parti blir det struligt. Då måste man söka igenom start- och slut-datum för att se vilken som gällde just vid det tillfället. Politiska partiers medlemsförteckningar är inte offentliga/publika handlingar, så det kan vara riktigt svårt. 62 osv (diskussion) 15 november 2019 kl. 08.45 (CET)
replies: text: :::Efter lite petande så är det nu . Se Nord-Trøndelag fylke. 62 osv (diskussion) 15 november 2019 kl. 20.44 (CET)
replies: text: ::::OK, det kanske bara finns ett värde (enbarten='true') för  för  i , men i andra länder verkar det förekomma upp till fyra olika  för ett och samma uttalande, se den här listan över  med mer än ett . Värst i klassen är  och , båda med fyra  för sina respektive .

text: ::::--Larske (diskussion) 15 november 2019 kl. 22.06 (CET)
replies: text: :::::Vi har någon ledamot av kommunalfullmäktige någonstans i Västergötland på 1970-talet som råkade stå på både Centerpartiets och ett lokalt partis lista. Hn blev invald för båda! Eftersom en person inte kan sitta på två stolar, fick han en plats på två partiers mandat och ett tredje parti fick en extraplats. Sedan dess har vallagarna ändrats.

text: :::::Men du har nog rätt. enbarten var något jag lade in som en del av ctrl-c/v. Jag tar bort det! 62 osv (diskussion) 16 november 2019 kl. 07.34 (CET)
thread_title:  Parti 

message: Om man begär en egenskap som inte finns på det länkade objektet och väljer getsimpleproperty=only så får man namnet på det länkade objektet. Är det förväntat beteende? Jag hade trott att jag skulle få tillbaka en tom sträng i så fall. Exempel

ger "" medan

ger "" som förväntat. Vet inte om jag klarar av att räkna ut human ändrar det. Belteshassar (diskussion) 23 juli 2021 kl. 15.21 (CEST)
replies: text: Jag tror att det var en förbisedd kombination av förutsättningar som du beskriver och har nu ändrat i koden så att en tom sträng returneras om getsimpleproperty har värdet only och objektet som pekas ut av property saknar egenskapen som pekas ut av getproperty.

text: -- Larske (diskussion) 23 juli 2021 kl. 16.09 (CEST)
replies: text: :Tack! För den som eventuellt läser det här i framtiden så kan man använda kombinationer som property=Pxx/Pyy istället för getsimpleproperty=only, men om det finns mer än ett värde på Pxx så får man då bara med det första. Belteshassar (diskussion) 23 juli 2021 kl. 16.18 (CEST)
replies: text: ::Ja det stämmer att den begränsningen finns hos Pxxx/Pyyy/..., vilket illustreras av följande exempel:

text: ::*Frågeställning: För , hämta födelsedatum för alla hans

text: ::**...property=P40|getsimpleproperty=only|getproperty=P569... →  men

text: ::**...property=P40/P569... →  (alltså bara födelsedatum för ett av barnen (och det är inte garanterat det äldsta...)

text: ::Å andra sidan kan man klättra längre med Pxxx/Pyyy... och om det bara finns ett värde på varje nivå (utom möjligtvis den den sista) kan det vara användbart, vilket illustreras av följande exempel:

text: ::*Frågeställning: Vem var  farmors far, när föddes han och vilka  hade han?

text: ::**...property=P22/P25/P22... →

text: ::**...property=P22/P25/P22/P569... →

text: ::**...property=P22/P25/P22/P40... →

text: ::--Larske (diskussion) 23 juli 2021 kl. 17.45 (CEST)
thread_title:  <tt>getsimpleproperty=only</tt> 

message: Kan man på något sätt formatera resultatet? Jag skulle specifikt vilja kursivera utmatningen. Går detta på något sätt eller måste man lägga ut  runt mallen? Sabelöga (diskussion) 7 september 2023 kl. 00.08 (CEST)
replies: text: Kan du ge något exempel på ett resultat som du skulle vilja kursivera. --Larske (diskussion) 7 september 2023 kl. 09.18 (CEST)
replies: text: :Jag tänkte ange att verk som anropas via modulen i mallarna  och  ska visas kursiverade vilket väll ligger i linje med våra riktlinjer. Specifikt parametrarna |föregångare= och |uppföljare=. Sabelöga (diskussion) 7 september 2023 kl. 22.25 (CEST)
thread_title:  Formatera resultat