Moduldiskussion:Sandlådan/Sextvåetc/Släkting

message: Jag försöker här (I test2) få fram alla släktingar med hjälp av WD. Jag sitter fast i looparna här och vet inte riktigt hur jag ska komma vidare. Som du ser i Användare:Innocent bystander/sandlåda så kommer inte alla barnbarn med. Maddes ungar kommer med, men inte Victorias. Jag tror jag ser vad bristen består i, men jag ser inte vägen runt den! Hjälp! -- Innocent bystander 13 mars 2016 kl. 10.02 (CET)
replies: text: ETt ögonblick, jag kanske har något! . -- Innocent bystander 13 mars 2016 kl. 10.29 (CET)
replies: text: :Mnja, samma resultat, men lite närmare är jag nog, men hanteringen av variabel item2 är nog felaktig nu.

text: :En annan förbryllande sak är varför sorteringen ser ut som den gör.

text: :Den här lösningen är dock inte optimal. "kusin" kan man vara på åtminstone fyra olika sätt och den här metoden tillåter kanske inte att jag söker efter dem alla. -- Innocent bystander 13 mars 2016 kl. 10.47 (CET)
replies: text: ::Jag har skrivit ett alternativ till funktionen test2 för att lista släktningar. Exempel på resultat finns i din sandlåda.

text: ::Gjorde det som en rekursiv funktion som "betar av" properties från tabellen slakt. För varje släkting behöver man också en loop över alla instanser av den aktuella "släktningtypen" även när man inte är i slutet av kedjan. För de flesta typer, till exempel farmors far, finns det ju bara en unik person, men för barnbarn finns det flera barn "på vägen". Jag tror att det ska fungera nu. Åtminstone kom Estelle och Oscar med. Sorteringen har jag styrt, kanske lite fult, genom att införa ett index i tabellen som anger i vilken ordning man vill ha släktingarna listade. Lua-loopandet med for ... in pairs kan såvitt jag förstå bli i vilken ordning som helst. Sen hade du flera tabellposter med två olika värden för till exempel "gammelmormor". Det kan nog också vara ett problem. --Larske (diskussion) 13 mars 2016 kl. 14.11 (CET)

text: ::. Jag provade att lägga till de fyra olika typerna av kusiner till tabellen och det ser ut att fungera. Sju kusiner dök upp i exemplet. --Larske (diskussion) 13 mars 2016 kl. 14.25 (CET)
replies: text: :::Lysande! Ett par detaljer.

text: :::1. Det finns inget som säger att "v.label" överensstämmer med namnet på våra artiklar! Därför har jag använt "v.value". Det ger inte röda länkar, men det ger å andra sidan aldrig några falska blå länkar heller. (Om "Prinsessan Sibylla" haft "Prinsessan Sibylla (svensk prinsessa)" som artikelrubrik, så hade det lett fel. Och om det hade funnits någon annan "Ernst Leopold Prinz von Sachsen-Coburg und Gotha" än kusinen, så hade han riskerat bli länkad istället.)

text: :::2. Efter diskussion på annan plats så vill vi bara ha "uppenbart relevanta" namn som slutresultat. "relevans='true'" (en funktion som tar bort objekt utan svwiki-sitelinks) fanns i mitt anrop till wikidata-funktionen från början, men jag tog bort den medan jag testade funktionen. Det var också därför det fanns två anrop av wikidata-funktionen i min version. Ett anrop för måldatan och ett anrop för (potentiellt) irrelevanta släktingar som binder samman två relevanta personer.

text: :::Om vi ska ta det här till nästa steg: En släkting kan dyka upp flera gånger i familjeträdet. Det kanske mest är ett problem i kungahusen, men är något vi måste ta i beaktande.

text: :::Är det genomförbart utan att krångla till det rejält? -- Innocent bystander 13 mars 2016 kl. 14.45 (CET)
thread_title: HELP!